Безбатарейный эмулятор DS1990 4in1 на tiny13

В Интернете встречается довольно много поделок эмуляторов DS19xx (1-Wire), но на практике ситуация напоминает историю, когда шкаф полон, а одеть нечего 🙂 Большинство интернетных поделок растёт из Arduino, который тяжеловесен и непрозрачен, особенно, когда дело касается маленьких устройств. А ещё эти поделки не работают…

Ниже речь пойдёт о безбатарейном эмуляторе домофонного ключа DS1990, которому не требуется внешнее питание: схема эмулятора ключа состоит из контроллера и конденсатора. Правда красиво? 🙂

Безбатарейный эмулятор DS1990

Контроллер хранит в памяти 4 заранее прописанных ключа, подставляя новый при прикладывании к контактору. Пропадание питания, когда брелок снимается с контактора, вызывает переход к следующему ключу. Приложив брелок к контактору 4 раза перебираем все ключи.

Конденсатор C1 получает свой заряд от контактного поля iButton через защитный диод внутри контроллера. Чтобы заряда хватило для работы контроллера, старт производится в 2 этапа:

  1. сразу после сброса проверяется флаг WD-таймера(Watch Dog), если сброс произошёл по причине появления питания, то выключается Brown-детектор, и контроллер отправляется в спящий режим со включенным WD-таймером для дальнейшего набора энергии в конденсаторе C1;

  2. второй сброс возникает при исчерпании WD-таймера, и выводит контроллер для имитации DS1990.

Скачать исходный текст эмулятора можно здесь.