Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 1wire: Длительности задержек
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
ASZ
Для формирования посылок интерфейса 1wire используются различные задержки - 6, 64, 60, 10, 9, 55, 480 и 410 микросекунд.

Можно ли применить задержки, кратные 10 микросекундам, т.е. 10, 70, 60, 10, 10, 60, 480, 410?
Вроде, округленные значения вписываются в спецификацию на 1wire.
Сильно ли это скажется на надежности связи с устройствами на шине?
Alex11
Если не использовать высокоскоростной режим 1wire, то этой точности достаточно с большим запасом. Там только один вопрос - как ловить сигнал присутствия. Если смотреть на состояние шины каждые 10 мкс, то можно не увидеть единицу между снятием сброса и выработкой сигнала присутствия. Но это критично только в высокоскоростном режиме.
ASZ
Цитата(Alex11 @ Nov 22 2011, 15:38) *
Если не использовать высокоскоростной режим 1wire, то этой точности достаточно с большим запасом. Там только один вопрос - как ловить сигнал присутствия. Если смотреть на состояние шины каждые 10 мкс, то можно не увидеть единицу между снятием сброса и выработкой сигнала присутствия. Но это критично только в высокоскоростном режиме.

Спасибо, а то сомнения брали.
kolobok0
Цитата(ASZ @ Nov 22 2011, 06:46) *
... 1wire используются различные задержки - 6, 64, 60, 10, 9, 55, 480 и 410 микросекунд....кратные 10 микросекундам, т.е. 10, 70...вписываются в спецификацию на 1wire....


откуда у вас такие цифры?
6 uS ?
вообще то при чтении битов (к примеру) нужно обеспечивать 1 uS. Откуда шесть то взялось?
Это передатчик.
Если приёмник - то вам нужно обеспечить детекцию 1uS - это минимально возможная ширина которую необходимо отдетектить.

по поводу округления.
вы можете писать какие угодно задержки, но обязательно должны попасть в те зоны (своё чтение или чтение аппонента) которые декларирует даташит.

например:
синхронизировать слот вы должны строго, вплоть до зоны чтения-записи к-от аппонента. а вот хвост слота можно "смазать" - не сильно критично. как в большую, так и в меньшую сторону.
в протоколе так же встречаются необходимые задержки между посылками - но то уже специфика конкретного девайса.

(круглый)
ЗЫ
Если при взаимодействии по 1Wire есть проблемы - читайте даташит на него. Очень точный(как не странно) документ.
ASZ
Цитата(kolobok0 @ Nov 22 2011, 16:59) *
откуда у вас такие цифры?
6 uS ?
вообще то при чтении битов (к примеру) нужно обеспечивать 1 uS. Откуда шесть то взялось?
Это передатчик.
Если приёмник - то вам нужно обеспечить детекцию 1uS - это минимально возможная ширина которую необходимо отдетектить.

по поводу округления.
вы можете писать какие угодно задержки, но обязательно должны попасть в те зоны (своё чтение или чтение аппонента) которые декларирует даташит.

например:
синхронизировать слот вы должны строго, вплоть до зоны чтения-записи к-от аппонента. а вот хвост слота можно "смазать" - не сильно критично. как в большую, так и в меньшую сторону.
в протоколе так же встречаются необходимые задержки между посылками - но то уже специфика конкретного девайса.

(круглый)
ЗЫ
Если при взаимодействии по 1Wire есть проблемы - читайте даташит на него. Очень точный(как не странно) документ.

Данные взяты из AVR318 - Table 3.
Никаких моих фантазий.
kolobok0
Цитата(ASZ @ Nov 22 2011, 18:18) *
Данные взяты из AVR318 - Table 3..


это рекомендованные задержки. для мастера.

если будете реализовывать слэйв, то этого не досатточно.

Пример:
берём типовой избитый датчик температуры DS18xx
смотрим в таблицу временных задержек.

параметр

Tlow(запись, логическая еденица)
от 1uS до 15uS

т.е. при реализации мастера вам достаточно обеспечить от 1uS до 15uS (рекомендованные параметры из AVR318 входят в указанный диапазон). Для слэйва вам необходимо детектировать 1uS.

(круглый)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.