Скорость опроса 1-wire шины
Скорость опроса 1-wire шины
Допустим, есть 1-wire шина, на которой висит 10 ключей (DS2406) на каждом из них по 2 кнопки. Какая будет реальная скорость опроса этой шины? Я читал, что с термодатчиками DS1820 на опрос каждого датчика тратится секунда. А на опрос кнопки?
Re: Скорость опроса 1-wire шины
Секунда тратится на конвертацию температуры (измерение), вот тема с рассуждениями.sigma писал(а):Я читал, что с термодатчиками DS1820 на опрос каждого датчика тратится секунда.
Re: Скорость опроса 1-wire шины
sigma, скорость передачи данных по шине 1-wire до 15,4Кбит/с (не в режиме overdrive).
Скорость опроса шины зависит от частоты опроса. Можно опрашивать раз в секунду, а можно 30 раз в секунду.
"Недостатком" 1-wire шины является то, что "слейвы" не могут сообщить о событии "мастеру". Только в ответ на его запрос.
Можно использовать "Conditional Search", чтобы не опрашивать всех "слейвов" по очереди. Однако не все компоненты поддерживают этот режим. DS2406 поддерживает.
Скорость опроса шины зависит от частоты опроса. Можно опрашивать раз в секунду, а можно 30 раз в секунду.
"Недостатком" 1-wire шины является то, что "слейвы" не могут сообщить о событии "мастеру". Только в ответ на его запрос.
Можно использовать "Conditional Search", чтобы не опрашивать всех "слейвов" по очереди. Однако не все компоненты поддерживают этот режим. DS2406 поддерживает.
Re: Скорость опроса 1-wire шины
Если удастся настроить Conditional Search? то понятно, что я все выключатели успею опросить. Мне кажется. что более 2 выключателей в секунду в доме не нажимается. Данных передается мимнимум. А вот если не получится с conditional search... В принципе, у меня на одной шине будет 10-15 кнопок. Я для себя выбрал комфортное время отклика 0.5сек. Значит в секунду я должен опросить кнопку дважды. Итого, 20-30 запросов по шине в секунду. Есть шанс успеть? Считаем, что кнопка отдает свое состояние мгновенно.
Re: Скорость опроса 1-wire шины
А что вы вкладываете в понятие "успеть"?
Выключатель нажимается быстро. Иногда на это уходит порядка 10-15 мс. (при планируемом вами опросе раз в 500 мс).
Но у DS2406 есть такая штука как "latch", которая взводится, если состояние канала меняется. Теоретически не обязательно читать состояние PIO. Достаточно читать состояние latch, чтобы понять, было ли срабатывание, а потом сбрасывать этот бит. Опрос выключателей - не самая сильная сторона 1-wire шины.
Выключатель нажимается быстро. Иногда на это уходит порядка 10-15 мс. (при планируемом вами опросе раз в 500 мс).
Но у DS2406 есть такая штука как "latch", которая взводится, если состояние канала меняется. Теоретически не обязательно читать состояние PIO. Достаточно читать состояние latch, чтобы понять, было ли срабатывание, а потом сбрасывать этот бит. Опрос выключателей - не самая сильная сторона 1-wire шины.
Re: Скорость опроса 1-wire шины
Я планирую на выключатели "кнопки, типа звонок". При этом отрабатываться будут такие события:
а) Случайное нажатие (меньше 500мс) - считается ложным и случайным
б) Нормальное нажатие (500-1000мс)
в) Длинное нажатие (>1000 мс) - срабатывание диммера
На шине будет 15-25 выключателей. Вот и не могу понять, смогу ли я такое реализовать на 1-wire шине. С latch такое получится только, если "прочитал-сбросил latch-прочитал" уложить в 500мс. Тогда я выловлю случайные нажатия.
а) Случайное нажатие (меньше 500мс) - считается ложным и случайным
б) Нормальное нажатие (500-1000мс)
в) Длинное нажатие (>1000 мс) - срабатывание диммера
На шине будет 15-25 выключателей. Вот и не могу понять, смогу ли я такое реализовать на 1-wire шине. С latch такое получится только, если "прочитал-сбросил latch-прочитал" уложить в 500мс. Тогда я выловлю случайные нажатия.
Re: Скорость опроса 1-wire шины
sigma, а что это за "нормальное" нажатие, которое длится 500-1000 мс? Вспоминаются неполиткорректные анекдоты...
Может быть, вы ошиблись с единицей измерения?
Может быть, вы ошиблись с единицей измерения?
Re: Скорость опроса 1-wire шины
А что неправильного? Я взял выключатель, примерно такой, как собираюсь ставить, и попросил домочадцев нажимать как можно естественнее. Засекал ардуиной. Среднее время получилось 0.7 сек. Что есть 700 мс. Все, что короче, это "проходил мимо, зацепил".
Re: Скорость опроса 1-wire шины
Вроде 0.7сек это 70мс или 700 мкс. Или я что-то путаю?
Re: Скорость опроса 1-wire шины
0,7 сек = 700 мс. Но нажимать кнопку 0,7 секунды по-моему как-то долго. Я кнопки нажимаю существенно быстрее. Контакт длится порядка 0,08-0,2 секунды.
Может быть, у sigma какой-то особенный выключатель?
Я понял. Вы собираетесь использовать кнопку типа "дверной звонок"? В буквальном смысле. Тогда понятно.
С обычными кнопочными выключателями время контакта значительно меньше.
Может быть, у sigma какой-то особенный выключатель?
Я понял. Вы собираетесь использовать кнопку типа "дверной звонок"? В буквальном смысле. Тогда понятно.
С обычными кнопочными выключателями время контакта значительно меньше.
Re: Скорость опроса 1-wire шины
Я длаю освещение в доме. Соответственно выключатель большой. У него и ход большой. Вот и получается долгое нажатие. И да, эмулируя эти нажатия на макете маленькой кнопкой я постоянно нарываюсь на "короткое нажатие". Проблема в том, что в доме порядка 40 выключателей. И занимать 40 пинов ардиуны неохота. Плюс к этому, 40 кабелей до выключателей это тоже такой себе неслабый пучок в щиток. Вот и возникла идея посадить на 1-2 шины 1-wire.
Re: Скорость опроса 1-wire шины
sigma, если мастером сети 1-wire будет выступать не ПК с DS9490R, а микроконтроллер, то есть еще один вариант - использовать DS2401 и детектировать Presence pulse.
Это и дешевле и в некотором смысле проще.
Это и дешевле и в некотором смысле проще.