запись и чтение 1-wire осуществляется посредством программного управления ногой контроллера тайминги чтения и записи приведены в ДШ на DS1820, и их нужно выполнять буквально шина подтянута к VCC, активным уровнем считается "0", выставляемый либо master, либо slave - устройством
Любой трансфер по 1-wire нужно начинать с инициализации: МК выставляет "0" на своей ноге, минимум на 480 мкс, затем ждет 60-300 мкс и считывает состояние этой же ноги. Если состояние = "0" (линия управляется slave - устройством), то slave-устройство на шине есть и готово к обмену
запись и чтение осуществляются побитно, младшим значащим битом вперед вся последовательность обмена разбивается на таймслоты длительностью 60-120мкс; в состав каждого таймслота входит импульс запуска от мастера длительностью 1-15мкс и информационный период, в течение которого шина управляется записывающим устройством и сэмплируется читающим
чтобы записать "0", нужно выставить нулевой импульс на ноге длительностью 60-120мкс чтобы записать "1", нужно выставить нулевой импульс длительности 1-15мкс и дополнить до 60 мкс положительным импульсом
аналогично с чтением, master инициирует обмен нулевым импульсом, ждет 15мкс и считывает очередной бит
|