|
|
  |
Период (частота) опроса iButton |
|
|
|
Oct 17 2008, 09:10
|

Местный
  
Группа: Свой
Сообщений: 468
Регистрация: 13-10-06
Из: Россия, Томск
Пользователь №: 21 291

|
Чтобы пользователей не видели инерционности работы устройства, частота опроса должна быть порядка 20 Гц. В принципе, такой период опроса нужен для опознавания устройства, там нужно сформировать импульс (нулевой) длиной около 1 мс, а потом отловить импульс присутствия, который будет от 15 до 65 мкс после окончания первого, что отлично делается по прерыванию + таймер. Длина первого импульса не критична, можно и 10 мс, и 100, и больше. Даже на AVR
Чтобы пользователей не видели инерционности работы устройства, частота опроса должна быть порядка 20 Гц. В принципе, такой период опроса нужен для опознавания устройства, там нужно сформировать импульс (нулевой) длиной около 1 мс, а потом отловить импульс присутствия, который будет от 15 до 65 мкс после окончания первого, что отлично делается по прерыванию + таймер. Длина первого импульса не критична, можно и 10 мс, и 100, и больше. Даже на AVR это займет ничтожное количество времени при нормальной реализации, не более 1%.
|
|
|
|
|
Oct 17 2008, 10:54
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(WEST128 @ Oct 17 2008, 12:10)  Чтобы пользователей не видели инерционности работы устройства, частота опроса должна быть порядка 20 Гц. Следует помнить, что iButton выдаст импульс присутствия самостоятельно сразу же после того, как пользователь соединит его с контактами считывателя. Этот момент в документации опущен. Хотя понятно, что раз на пластинах таблетки нет напряжения в течении долгого времени - iButton воспринимает это так же как импульс сброса, и при появлении напряжения соответственно реагирует импульсом присутствия. Очень удобно завести линию на ногу INTx и не заморачиваться с периодическим опросом - нужно лишь аппаратно отлавливать импульс присутствия, который iButton сформирует при подключении к контактам. Ну, а уж потом - reset pulse, presence pulse и т.д.
|
|
|
|
|
Oct 18 2008, 20:41
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Спасибо за ответы. Про импульс присутствия, который выдает iButton после подключения к шине, я совсем не подумал. Работал только с постоянно подключенными датчиками температуры. В даташитах этот вопрос прямиком тоже не описан. Однако порылся в апликейшенах и нашел описание этого процесса: App Note 937: Book of iButton Standardsстр.5 глава C.Sinchronization, стр.38 глава D.Presence Detect Но оказалось, что не все так хорошо, как пишут в описаниях. Есть и то, что сначала не получилось. В частности, есть DS1990A и DS1990R. В первой выдача импульса присутствия после подачи напряжения не получилась (не гарантируется): Цитата Note 14: Presence pulse is guaranteed only after a preceding Reset Pulse (tRSTL). Далласу пришлось делать улучшенную модель DS1990R, где этот дефект устранен: Код SPECIAL FEATURES: Upgrade of DS1990A Guarantees Presence Pulse on Contact In applications where a presence pulse on contact is critical the DS1990R should be preferred over the DS1990A. Presence Detector Acknowledges when Reader First Applies Voltage Note 13: Presence pulse after POR is guaranteed by design, not production tested. Так что "теперь я вся в сомнениях". Нога у меня сейчас под прием 1-Wire задействована без прерывания, нужно передвигать. Да и неизвестно, какие iButton-ы будет применять конечный потребитель. Хотя можно написать в документации, что "работа с DS1990A не гарантируется". Такие вот пироги.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|