Baser 5 16 октября, 2008 Опубликовано 16 октября, 2008 · Жалоба Кто работал с Далласовскими ключами на iButton, подскажите, какой оптимальный период (частоту) опроса iButton выбрать? - с одной стороны хочется, чтобы пользователей не напрягала процедура (чтобы ждать не нужно было, прикоснулся и готово); - с другой стороны хочется, чтобы было как можно реже, чтобы не нагружать процессор (эта задача - микроскопическая часть всего, что на нем крутится). Что-то я не натыкался в аппликейшенах на подобные рекомендации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 11 17 октября, 2008 Опубликовано 17 октября, 2008 · Жалоба ...какой оптимальный период (частоту) опроса iButton выбрать?...чтобы ждать не нужно было, прикоснулся и готово... Про какой период опроса идет речь? Как этот период может влиять на время чтения информации? Если Вы желаете отлавливать импульс присутствия, то это можно сделать и аппаратно. Тогда контроллер будет загружен работой с iButton только, собственно, при чтении значения ключа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west 0 17 октября, 2008 Опубликовано 17 октября, 2008 · Жалоба Чтобы пользователей не видели инерционности работы устройства, частота опроса должна быть порядка 20 Гц. В принципе, такой период опроса нужен для опознавания устройства, там нужно сформировать импульс (нулевой) длиной около 1 мс, а потом отловить импульс присутствия, который будет от 15 до 65 мкс после окончания первого, что отлично делается по прерыванию + таймер. Длина первого импульса не критична, можно и 10 мс, и 100, и больше. Даже на AVR Чтобы пользователей не видели инерционности работы устройства, частота опроса должна быть порядка 20 Гц. В принципе, такой период опроса нужен для опознавания устройства, там нужно сформировать импульс (нулевой) длиной около 1 мс, а потом отловить импульс присутствия, который будет от 15 до 65 мкс после окончания первого, что отлично делается по прерыванию + таймер. Длина первого импульса не критична, можно и 10 мс, и 100, и больше. Даже на AVR это займет ничтожное количество времени при нормальной реализации, не более 1%. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 11 17 октября, 2008 Опубликовано 17 октября, 2008 · Жалоба Чтобы пользователей не видели инерционности работы устройства, частота опроса должна быть порядка 20 Гц. Следует помнить, что iButton выдаст импульс присутствия самостоятельно сразу же после того, как пользователь соединит его с контактами считывателя. Этот момент в документации опущен. Хотя понятно, что раз на пластинах таблетки нет напряжения в течении долгого времени - iButton воспринимает это так же как импульс сброса, и при появлении напряжения соответственно реагирует импульсом присутствия. Очень удобно завести линию на ногу INTx и не заморачиваться с периодическим опросом - нужно лишь аппаратно отлавливать импульс присутствия, который iButton сформирует при подключении к контактам. Ну, а уж потом - reset pulse, presence pulse и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 18 октября, 2008 Опубликовано 18 октября, 2008 · Жалоба Спасибо за ответы. Про импульс присутствия, который выдает 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 не гарантируется". Такие вот пироги. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west 0 20 октября, 2008 Опубликовано 20 октября, 2008 · Жалоба Если вам нужно просто следать устройство "для отмашки от начальства", то можете написать, что будет работать только с новыми приборами (с суффиксом R), а если вы заинтересованы в том, чтобы его продавать - лучше делать универсальным, тем более цена вопроса копеечная - дергать ногу контроллера (по таймеру или еще как), и ловить импульс присутствия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 11 20 октября, 2008 Опубликовано 20 октября, 2008 · Жалоба Есть и то, что сначала не получилось. В частности, есть DS1990A и DS1990R. В первой выдача импульса присутствия после подачи напряжения не получилась (не гарантируется) Чёрт его знает - насколько выдача импульса не гарантируется. Используются таблетки с буковкой А уже много лет - без нареканий... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 22 октября, 2008 Опубликовано 22 октября, 2008 · Жалоба Сделал по опросу в главном цикле 10 раз в секунду (100 мс период). Работает как часы. Никаких прерываний, обычная ножка. Пробовал в два раза чаще - 20 раз в секунду - никакой разницы не заметил. При 100 мс также четко читает в одно касание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west 0 23 октября, 2008 Опубликовано 23 октября, 2008 · Жалоба Если все ваши прерывания обрабатываются достаточно быстро, и вы согласны терять при каждом опросе порядка 1 мс времени - то почему бы и нет. Не зная задачи целиком и характерных особенностей ее решения, выбранных вами, вряд ли можно сказать большее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться