Вопрос по таймингам DS18S20(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено war4one 25 августа 2005 г. 10:48

Написал прогу для опроса 8 DS18S20, посаженных на порт А ATmega16. Припаял 5 штук, четыре показывают нормальную температуру, а с пятого читаются одни единички. Датчик нормальный, поменял местами с первым - все равно с пятой позиции читаются одни единички. Если касаться рукой ноги DQ пятого датчика, то иногда начинает выдавать температуру.
Стал копаться, в результате экспериментов установил, что если время Е увеличить до 12 мкс, то начинает читать единички со всех датчиков, кроме первого, а если уменьшить до 5 мкс, то начинает читать со всех датчиков нормальную температуру.
Отсюда, собственно, вопрос: почему начинаются глюки при увеличении времени Е (т.е. при позднем Master Sample) и почему по доке его нельзя делать больше 12 мкс, хотя считывание информации с DS длится дольше. И почему при уменьшении времени Е все заработало? Подозреваю, что при подключении датчиков через длинный кабель начнутся новые проблемы.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru