Posts Tagged 1wire

 avr cd4094 аналоговый 1wire

Апрель 11, 2010

Просматривая немецкий форум по мк, я наткнулся на пример кода управления регистром по одному проводу. Тут ананимус подумает, что рс232  и так по одному проводу работает и dallas 1wire тоже. Но для рс232 нужен кварц и специальная мс, а dallas - вообще есть только в готовых мелкасхемах и требует жесткие тайминги.

В нашем же случае все куда проще.

1w4094

Дабы много букв 2 раза не писать, лучше почитать уже готовую статью.
Я только перевел асм код в си, основываясь на своем коде. Самое главное у нас - чтобы напряжение на конденсаторе в момент переднего фронта было равно лог1, что соответствует примерно 3.5в. В этот момент у нас передается единица. Как видно из осциллограммы, 2 точки синей линией имеют 3.78в.

osc

Рассчеты мне лень приводить, т.к. там много матана. Элементы довольно критичны, если не использовать задержки в коде. У меня 2 конденсатора - керамический и пленочный на 10н, но на пленочном в реале уже не работает, т.к. емкость его видать отличается. Резистор 800ом. Изначально в схеме стоит 1к и 10н для частоты 1мгц.

Какие изменения в коде?

#define CD4094_CLK            {CD4094_DATA_OFF; CD4094_DATA_ON} сначала мы ставим 0, потом 1. Если будет глючить, то надо ввести паузу 1-2мкс.

CD4094_DDR = (1<<CD4094_PIN_DATA);
CD4094_PORT = (1<<CD4094_PIN_DATA);

Вывод ставят в 1 для зарядки конденсатора. Хотя если ставить в 0, то тоже все работает. Единственное, что тут надо - не забыть прогнать нули по регистрам для инициализации.

Где можно применить такую схему?
Т.к. такой вариант включения регистров является нетипичным и параметры рц цепить будут плыть от температуры, то схема годна только для домашнего использования в устройствах расширения портов с некритичным состоянием. Например для подключения 8-16 светодиодов. У меня работает нормально на 3 индикатора. Так же схема критична к повышению частоты мк.

В последних номерах “радио” за 2009 была схема вольтметра на тини15 с такой схемой включения, только там вместо регистра был индикатор от телефона, который управляется по 2м проводам.