ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
402629
shan (17.04.2013 00:17, просмотров: 4398)
Как грамотно работать с интерфейсом 1W? (однопроводный от DALLAS) Задача: надо читать температуру по кабелю длиной 2-10м с нескольких датчиков температуры DS1820. В новом девайсе будет контроллер ST32F207, WEB сервер, RTOS от KEIL, поэтому по старинке (как я делал раньше) отсчитывать времена пустыми циклами с запретом прерываний и работать с портами, будет не корректно. Есть идея использовать DMA+SPI и прерывания по DMA . Замкнуть выводы MOSI и MISO и подтянуть резюком 4,7к, MOSI инициализировать с открытым стоком. Самая медленная частота SPI равна Fp/256 соответствует длинне бита 2мкс. При обмене 1 бита по 1W выводить 32 бита SPI в которых первые 2 -6 бита нулевые образуют стартовый строб 4-12мкс интерфейса 1W .Остальные биты =1 (при чтении) или данные (1 или 0)при записи. По ДМА можно читать/писать в буфер сразу длинный пакет, равный например байту, и потом не торопясь в обычном процессе RTOS обрабатывать пакет. Что посоветуете?