1-Wire
1-Wire или OWI – это интерфейс, который представляет собой двунаправленную шину связи для устройств с низкоскорос тной передачей данных, в которой данные передаются по цепи питания. Используется всего два провода, один общий, а второй для питания и данных.
Основные характеристики
- работа в режиме «ведущего»;
- минимальная частота тактирования 1 МГц;
- поддержка стандартной и повышенной скоростей обмена;
- поддержка набора стандартных команд;
- расширенный набор статусов и прерываний.
Структурная схема
OWI состоит из следующих блоков:
- REGISTERS – блок для хранения управляющих данных и статусов;
- BUFFER_TX – буфер передатчика;
- SHIFT_TX – сдвиговый регистр передатчика;
- BUFFER_RX – буфер приемника;
- SHIFT_RX – сдвиговый регистр п риемника;
- CLOCK_DIVIDER – делитель частоты;
- 1-WIRE_TIMING_AND_CONTROL – основной блок интерфейса, содержащий управляющие автоматы и отвечающий за корректное функционирование.
Сигналы шины 1-Wire
Модуль OWI поддерживает следующие формы сигналов: цикл сброса/обнаружения присутствия, тайм-слот записи нуля, тайм-слот записи единицы и тайм-слот чтения.
Цикл сброса/обнаружения присутствия состоит из двух этапов: в течение времени t_RSTL ведущий подтягивает линию к низкому уровню, далее начинается окно t_RSTH, в течение которого после задержки t_PDH ведомое устройство переводит линию к низкому уровню на промежуток времени t_PDL, чтобы сообщить о своем присутствии. Для проверки импульса присутствия модуль OWI сначала ожидает t_PDW, а затем в течение t_PDSW производит выборку напряжения вывода 1W_IO.
Модуль OWI позволяет включить маскирование импульса присутствия, генерируемого ведомым устройством, установив бит PPM регистра OWICTRL. При установленн ом бите PPM модуль OWI генерирует импульс присутствия (пунктирная линия), который начинается с конца t_PPMS и длится до конца _t_PPME.
Тайм-слот записи нуля состоит из двух этапов: ведущий подтягивает линию в течение t_W0L, далее следует время восстановления t_REC0. Сумма времени t_W0L и t_REC0 равна длительности тайм-слота t_SLOT.
Тайм-слот записи единицы также состоит из двух этапов: ведущий подтягивает линию в течение t_W1L, затем ожидается завершение тайм-слота.
Тайм-слот чтения состоит из трех этапов: ведущий подтягивает линию к низкому уровню в течение t_W1L, ведомый устанавливает уровень на линии, после чего ожидается завершение тайм-слота. В течение t_MRS модуль OWI осуществляет выборку напряжения вывода 1WIO. Следует иметь ввиду, что ведомое устройство, отвечая нулем, начинает устанавливать низкий уровень на линии 1W_IO до того, как истечет время _t_W1L.
Обозначение | Параметр, единица измерения | Условия | Мин | Макс |
---|---|---|---|---|
T_OWI | Внутренний период синхросигнала модуля, мкс | Для достижения данного периода делитель входной системной частоты настроить в соответствии с таблицей регистра OWI_PRCR | 0,8 | 1 |
t_SLOT | Длительность тайм-слота, мкс | |||
Стандартная скорость передачи, LLM = 0 | 56 | 70 | ||
Стандартная скорость передачи, LLM = 1 | 64 | 80 | ||
Ускоренная передача | 8 | 10 | ||
t_W0L | Время низкого уровня тайм-слота записи нуля (Write-zero Low time), мкс | |||
Стандартная скорость передачи | 48 | 60 | ||
Ускоренная передача | 6,4 | 8,0 | ||
t_W1L | Время низкого уровня тайм-слота записи единицы/чтения (Write-one/read Low time), мкс | |||
Станд артная скорость передачи, LLM = 0 | 4,8 | 6,0 | ||
Стандартная скорость передачи, LLM = 1 | 6,4 | 8,0 | ||
Ускоренная передача | 0,8 | 1,0 | ||
t_MRS | Время выборки тайм-слота чтения (Master Read Sample time), мкс | |||
Стандартная скорость передачи, LLM = 0 | 12 | 15 | ||
Стандартная скорость передачи, LLM = 1 | 19,2 | 24 | ||
Ускоренная передача | 1,6 | 2,0 | ||
t_REC0 | Время восстановления уровня тайм-слота записи нуля (Write-zero Recovery time), мкс | |||
Стандартная скорость передачи, LLM = 0 | 8 | 10 | ||
Стандартная скорость передачи, LLM = 1 | 16 | 20 | ||
Ускоренная передача | 1,6 | 2,0 | ||
t_RSTL | Время низкого уровня цикла сброса (Reset Low time), мкс | |||
Стандартная скорость передачи | 480 | 600 | ||
Ускоренная передача | 56 | 70 | ||
t_RSTH | Время высокого уровня цикла сброса (Reset High time), мкс | |||
Стандартная скорость передачи | 384 | 480 | ||
Ускоренная передача | 46,4 | 58 | ||
t_PDW | Время ожидания цикла присутствия (Presence-Detect Wait time), мкс | |||
Стандартная скорость передачи | 8,0 | 10 | ||
Ускоренная передача | 1,6 | 2,0 | ||
t_PDSW | Время выборки цикла присутствия (Presence-Detect Sample Window), мкс | |||
Стандартная скорость передачи, LLM = 0 | 48,8 | 61 | ||
Стандартная скорость передачи, LLM = 1 | 60,8 | 76 | ||
Ускоренная передача | 6,4 | 8,0 | ||
T_PPMS | Время начала маскированного цикла присутствия (Presence-Pulse Mask Start), мкс | Стандартная скорость передачи | 16 | 20 |
T_PPME | Время завершения маскированного цикла присутствия (Presence-Pulse Mask End), мкс | Стандартная скорость передачи | 72 | 90 |
* – Временные характеристики зависят от задержек на универсальных портах ввода-вывода. Если порты работают медленно, то эти характеристики изменятся соответствующим образом.
Предварительная настройка
Перед началом работы с модулем OWI настроить предделитель и делитель частоты и включить систему тактирования в регистре OWI_PRCR. При необходимости использовать порывания задать соответствующие значение в регистр маски OWI_MSK. После этого модуль готов к работе на стандартной скорости и в байтовом режиме.
Генерация цикла сброса/обнаружения присутствия
Для генерации цикла сброса/обнаружения присутствия записать код 01h в регистр OWI_CFG. Если включено прерывание по биту PD в регистре OWI_MSK, то микроконтроллер может продолжить работу до завершения цикла. После завершения прочитать бит PDR регистра OWI_ST, чтобы установить, был ли обнаружен импульс присутствия.
Передача байта
Чтобы передать байт по шине 1-Wire необходимо записать его по адресу OWI_BUF в буфер передатчика. Затем данные переходят в сдвиговый регистр передатчика, где они последовательно отправляются на шину младшим битом вперед (LSB). Соответственно новый байт данных может быть записан в буфер передатчика. Как только сдвиговый регистр передатчика станет пустым, данные будут снова переданы из буфера, и процесс повторится. Каждый из этих регистров имеет флаг (регистр OWI_ST), на основе которого можно вызвать прерывание (регистр OWI_MSK). Бит TBE статусного регистра устанавливается, когда буфер передатчика пуст и готов принять новые дынные. Как только происходит запись байта в буфер передатчика, TBE очищается. Бит TEMT статусного регистра устанавливается, когда сдвиговый регистр пуст и готов принять новые данные. Как только байт передается из буфера в сдвиговый регистр, бит TEMT очищается, а TBE устанавливается.
Прием байта
Для считывания данных с шины 1-Wire необходимо подготовить ведомое устройство (команды, ранее полученные от ведущего). Процесс приема данных аналогичен передачи. Ведущий начинает прием, записывая FFh по адресу OWI_BUF в буфер передатчика. Данные, которые затем передаются в сдвиговый регистр приемника – это побитовое «И» переданных и принятых данных. После того, как сдвиговый регистр приемника заполняется, данные передаются в буфер приемника, откуда они могут быть прочитаны по адресу OWI_BUF. Следующие байты от ведомого устройства могут быть прочитаны путем повторной записи FFh в буфер приемника. Если ведомый не был готов передать данные, то полученные данные будут идентичны переданным. На основе состояния буфера приемника и сдвигового регистра приемника также могут генерироваться прерывания. Бит RBF статусного регистра устанавливается, когда данные из сдвигового регистра переданы в буфер, а очищается после чтения буфера. Пока флаг RBF установлен, дальнейшие передачи по шине 1-Wire выполняться не должны, иначе данные могут быть потеряны, так как произойдет перезапись буфера приемника следующим принятым байтом.
Битовый режим
Чтобы активировать битовый режим необходимо записать в бит BIT_CTL регистра OWI_CTRL «1». Последующая работа такая же, как и в байтовом режиме, однако важен только младший бит в буфере приемника/передатчика.
Ускоренная передача
Переключение между скоростями происходит посредствам бита OD регистра OWI_CTRL. Любые операции на шине 1-Wire после обновления бита OD происходят на новой скорости. Режим длинной линии относится только к стандартной скорости.
Режим ускоренного поиска ПЗУ (Search ROM Accelerator)
Прежде чем перейти в режим ускоренного поиска ПЗУ необходимо в ыполнить цикл сброса/обнаружения присутствия и отправить команду поиска ПЗУ (Search ROM – F0h) в байтовом режиме. Буфер приемника не должен содержать данных. Далее можно переходить в режим ускоренного поиска ПЗУ, переведя бит SRA регистра OWI_CFG в «1».
Для завершения одной процедуры поиска ведущий должен передать 16 байт, построенных согласно таблице 10. Каждый байт, записанный в регистр передатчика, содержит полубайт данных решений несоответствий. В конце каждой процедуры ведущий узнает идентификатор одного ведомого устройства.
№ байта | Буфера | Бит 7 | Бит 6 | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 |
---|---|---|---|---|---|---|---|---|---|
1 | Передатчик | r3 | x | r2 | x | r1 | x | r0 | x |
Приемник | ID3 | d3 | ID2 | d2 | ID1 | d1 | ID0 | d0 | |
2 | Передатчик | r3 | x | r2 | x | r1 | x | r0 | x |
Приемник | ID3 | d3 | ID2 | d2 | ID1 | d1 | ID0 | d0 | |
... | |||||||||
16 | Передатчик | r63 | x | r62 | x | r61 | x | r60 | x |
Приемник | ID63 | d3 | ID62 | d2 | ID61 | d1 | ID60 | d60 |
x – биты, которые не имеют значения;
r_n – биты, которые выдаст ведущий при несоответствии идентификаторов;
d_n – флаги несоответствия (равен «1», если есть несоответствие или нет ответа);
ID_n – биты фактически выбранного идентификатора.
Для каждого бита (с 0 по 63) ведущий генерирует следующие три тайм-слота:
- b1 – прием данных (истинный бит);
- b2 – прием данных (инверсный бит);
- b3 – передача данных.
В третьем временном интервале b3 ведущий передает «1» и «0» следующим образом:
- b3 = r_n, если у двух и более устройств разные значения n-ого бита;
- b3 = b1, если у всех устройств одинаковый n-ый бит;
- b3 = «1», в случае если есть ошибка (нет ответа).
Бит, переданный в тайм-слоте b3, идентичен ID_n.
Для начала выполнения поиска ПЗУ во все r_n биты пишутся нули. В случае возникновения ошибки все последующие биты ID_n будут равны «1» до тех пор, пока бит SRA не будет деактивирован. Таким образом, если биты ID_63 и d_63 равны «1», то произошла ошибка во время процедуры поиска и необходимо повторить последнюю последовательность. В противном случае, все ID_n (с 0 до 63) – это идентификатор ПЗУ устройства, которое было найдено и адресовано. После завершения поиска ПЗУ нужно очистить бит SRA для вывода ведущего из режима Search ROM Accelerator. Для поиска следующего устройства повторно используется предыдущий набор r_n (n = 0…63), но r_m устанавливается в «1», где m – наивысший порядок флага несоответствия. Все r_i, где i > m, устанавливаются в «0». Этот процесс повторяется до тех пор, пока не произойдет расхождение на одной и той же битовой позиции в течение двух проходов.
Пример использования режима
В данном примере рассматривается процесс поиска четырех различных устройств на шине 1-Wire. Они имеют следующие идентификаторы (представлены только младшие значащие биты от 0 до 8):
ROM1 = 00110101…
ROM2 = 10101010…
ROM3 = 11110101…
ROM4 = 00010001…
- Микроконтроллер инициализирует импульс сброса, записывая 01h в регистр OWI_CFG. Все подчиненные устройства отвечают импульсом обнаружением присутствия.
- Микроконтроллер отправляет команду поиска ПЗУ (Search ROM), записывая F0h в буфер передатчика. Необходимо дождаться установления статуса RBF и считать (освободить) буфер приемника.
- Микроконтроллер переводит модуль в режим Search ROM Accelerator, записывая 02h в регистр OWI_CFG.
- Микроконтроллер записывает 00h в буфер передатчика и считывает возвращаемые данные из буфера приемника. Этот процесс повторяется для всех 16 байт. Считанные данные будут содержать в IDn ROM4, а «1» установлена в d_0 (r_n содержит «0», следовательно, ROM2 и ROM3 переходят в состояние ожидания) и d_2 (аналогично первому случаю ROM1 переходит в состояние ожидания). Принятые данные выглядят следующим образом (ID_n подчеркнуты, наиболее значащий флаг несоответствия выделен): полученные данные (1) = 1*0_0_0***1**_0_0_1_0_0_0_0_0_0_0_1…
- Микроконтроллер преобразует полученные данные в идентификатор устройства путем устранения лишних битов.
- Микроконтроллер записывает 00h в регистр OWI_CFG для выхода из режима ускоренного поиска ПЗУ. После этого ведущий может продолжить работу с адресованным ведомым.
- Для нахождения следующего устройства шаги с 1-ого по 6-ой повторяются, только на этот раз в передаваемой последовательности наиболее значащий бит решения несоответствия (r2 в данном случае) инвертируется, и все данные, следующие за ним, устанавливаются в ноль. Полученные данные содержат идентификатор ROM1, а d_0 и d_2 снова установлены в «1»:
отправленные данные (2) = 00_0_0_0_1_0_0_0_0_0_0_0_0_0_0*…
полученные данные (2) = 1*0_0_0***1**_1_0_1_0_0_0_1_0_0_0_1*… - Так как наиболее значащий флаг несоответствия остался прежним (d2), то нужно использовать следующий наиболее значащий (d_0). Процесс повторяется. Следующие итерации выглядят следующим образом:
отправленные данные (3) = 010_0_0_0_0_0_0_0_0_0_0_0_0_0…
полученные данные (3) = 1*1***1**_0_0_1_0_0_0_1_0_0_0_1_0_0*…
отправленные данные (4) = 01_0_1_0_0_0_0_0_0_0_0_0_0_0_0…
полученные данные (4) = 1*1***1**_1_0_1_0_1_0_0_0_1_0_0_0_1*… - Так как наиболее значащий флаг несоответствия (d_2) не изменился, то переходим к следующему (d_0). Однако, d_0 обработан дважды, а менее значимых флагов несоответствия больше нет. Следовательно поиск завершен, найдены идентификаторы всех четырех устройств.
Статусы и прерывания
В отличии от остальных модулей в OWI прерывание по биту-событию не формируется от последующих событий после перехода бита в «1», пока он не будет сброшен чтением обратно в «0». Остальные принципы работы, описанные в разделе «Типы статусов и прерывания», остаются неизменными.
Регистры 1-Wire
№ | Аббревиатура | Доступ | Описание |
---|---|---|---|
2B00h | OWI_CFG | RW* | Регистр конфигурации |
2B04h | OWI_BUF | RW | Регистр буфера приемника/передатчика |
2B08h | OWI_ST | R | Регистр статуса |
2B0Ch | OWI_MSK | RW | Регистр маски |
2B10h | OWI_PRCR | RW | Регистр делителя часты |
2B14h | OWI_CTRL | RW | Регистр управления |
* – Не все регистры доступны для записи.
OWI_CFG
Данный регистр используется для генерации цикла сброса/обнаружения присутствия 1-Wire, а также для активации или деактивации режима ускоренного поиска ПЗУ (Search ROM Accelerator), который позволяет избежать использования однобитовых операции с шиной (бит FOW) во время процедуры поиска. В дополнение этим двум функциям регистр содержит 2 бита для непосредственного управления выводом 1W_IO.
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | Резерв | OW_IN | FOW | SRA | 1WR | |||
Начальное значение | 0 | 1W_IO | 0 |
OW_IN (1-Wire Input) – текущее значение на линии 1-Wire (только чтение):
- 1 – значение на линии соответствует логической единице;
- 0 – значение на линии соответствует логическому нулю.
Используется в сочетании с битом FOW для выполнения пользовательских функций. Например,
для чтения необходимо изменить FOW на «0», затем подождать необходимое количество времени и установить состояние OW_IN.
FOW (Force 1-Wire) – прямое управление линией 1-Wire:
- 1 – переводит линию в состояние логического нуля;
- 0 – оставляет линию в состоянии высокого импеданса.
Данную функцию необходимо разрешить путем записи бита EN_FOW регистра OWI_CTRL.
В противном случае изменение FOW не влияет на состояние шины. Если EN_FOW и FOW равны «1», то генерация импульса сброса и функция передачи/приема (регистр OWI_BUF) не работают. Изменение EN_FOW на «0» имеет тот же эффект, что и запись в FOW «0».
SRA (Search ROM Accelerator) – включение режима ускоренного поиска ПЗУ:
- 1 – модуль работает в режиме ускоренного поиска ПЗУ;
- 0 – модуль работает в нормальном режиме.
1WR (1-Wire Reset) – управление генерацией последовательности сброса/обнаружения присутствия на линии 1-Wire:
- 1 – инициализировать генерацию цикла сброса/обнаружения присутствия;
- 0 – цикл сброса/обнаружения присутствия не генерируется.
Бит переводится в «0» после завершения генерации цикла сброса/обнаружения присутствия. Цикл можно прервать, записав «0».
OWI_BUF
Все передаваемые и принимаемые данные проходят соответственно через буфер передатчика и приемника. Запись по данному адресу подключает к шине данных буфер передатчика, а считывание подключает к шине данных буфер приемника.
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | DATA | |||||||
Начальное значение | 0 |
DATA – данные на передачу или принятые дынные. Данные могут передаваться в байтовом или битовом режиме в зависимости от бита BIT_CTL регистра OWI_CTRL. В битовом режиме имеет значение только младший бит.
OWI_ST
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | OW_LOW | OW_SHORT | RSRF | RBF | TEMT | TBE | PDR | PD |
Тип статуса | EVENT | EVENT | FLAG | EVENT | ||||
Начальное значение | 0 | 1 | 1 | 1 | 0 |
OW_LOW – принят импульс присутствия от ведомого устройства. Ведомое устройство при подключении к незанятой шине генерирует спонтанный импульс присутствия, который устанавливает этот бит. Любой переход в «0» на незанятой шине также устанавливает этот бит.
OW_SHORT – короткое замыкание на шине. Перед началом импульса сброса или тайм-слота ведущий проверяет, находится ли шина в режиме ожидания на высоком уровне. Если в этот момент уровень шины низкий, то связь невозможна.
RSRF (Receive Shift Register Full) – сдвиговый регистр приемника заполнен. Когда этот бит равен «0», то это указывает на то, что сдвиговый регистр приемника не содержит данных или осуществляет их прием. После передачи данных в буфер приемника этот бит сбрасывается аппаратно.
RBF (Receive Buffer Full) – буфер приемника заполнен. Флаг переходит в «1», когда есть новые данные, полученные из сдвигового регистра приемника. Если бит равен «0», то это указывает, что буфер приемника не содержит новых данных. Этот бит сбрасывается аппаратно после чтения буфера приемника.
TEMT (Transmit Shift Register Empty) – сдвиговый регистр передатчика пуст и готов принять новые данные. Флаг устанавливается в «1», когда регистр сдвига передатчика не содержит данных. После передачи данных из буфера передатчика в сдвиговый регистр передатчика этот бит переходит в «0». Если бит равен «0», то это указывает на то, что регистр сдвига передатчика занят передачей данных.
TBE (Transmit Buffer Empty) – буфер передатчика пуст и готов принять новые данные. Флаг устанавливается в «1», когда буфер передатчика не содержит данных. После записи данных в буфер передатчика этот бит переходит в «0». Если бит равен «0», то это указывает на то, что буфер передатчика ждет окончания сдвига данных из сдвигового регистра передатчика.
PDR (Presence Detect Result) – результат цикла обнаружения присутствия:
- 1 – импульс присутствия не обнаружен;
- 0 – обнаружен импульс присутствия.
PD (Presence Detect) – цикл сброса/обнаружения присутствия завершен, а результат находится
в бите PDR. При использовании прерывания по данному биту оно должно быть включено в OWI_MSK до инициализации цикла сброса.
OWI_MSK
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | OW_LOW | OW_SHORT | RSRF | RBF | TEMT | TBE | Резерв | PD |
Начальное значение | 0 |
Для каждого из битов справедливо:
- 1 – данное прерывание формируется;
- 0 – данное прерывание не формируется.
OWI_PRCR
Модуль OWI требует внутренней тактовой частоты 1 МГц. Эта частота генерируется от тактовой частоты системы f_clk. Регистр OWI_PRCR позволяет управлять делителем и передделителем тактовой частоты с целью максимально приблизить f_clk к 1 МГц. Систему тактирования модуля необходимо настроить и включить до начала передачи по шине 1-Wire.
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | CLK_EN | Резерв | DIV | PRE | ||||
Начальное значение | 0 |
CLK_EN – включение системы тактирования OWI:
- 1 – система тактирования включена;
- 0 – система тактирования выключена.
DIV – выбор коэффициента делителя частоты:
- 111b – f_clk/128;
- 110b – f_clk/64;
- 101b – f_clk/32;
- 100b – f_clk/16;
- 011b – f_clk/8;
- 010b – f_clk/4;
- 001b – f_clk/2;
- 000b – f_clk.
PRE – выбор коэффициента предделителя частоты:
- 11b – f_clk/7;
- 10b – f_clk/5;
- 01b – f_clk/3;
- 00b – f_clk.
Делитель и предделитель работают совместно.
Мин. fclk, МГц | Макс. fclk, МГц | Макс. погрешность fclk, % | Коэф. деления | DIV | PRE | |||
---|---|---|---|---|---|---|---|---|
2 | 1 | 0 | 1 | 0 | ||||
1 | 1,25 | 25 | 1 | 0 | 0 | 0 | 0 | 0 |
2 | 2,5 | 25 | 2 | 0 | 0 | 1 | 0 | 0 |
3 | 3,75 | 25 | 3 | 0 | 0 | 0 | 0 | 1 |
4 | больше 5 | 25 | 4 | 0 | 1 | 0 | 0 | 0 |
5 | больше 6 | 20 | 5 | 0 | 0 | 0 | 1 | 0 |
6 | больше 7 | 17 | 6 | 0 | 0 | 1 | 0 | 1 |
7 | больше 8 | 14 | 7 | 0 | 0 | 0 | 1 | 1 |
8 | больше 10 | 25 | 8 | 0 | 1 | 1 | 0 | 0 |
OWI_CTRL
Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Назначение | Резерв | OD | BIT_CTL | Резерв* | EN_FOW | PPM | LLM | |
Начальное значение | 0 |
* – Не изменять начальное значение.
OD (Overdrive) – режимом ускоренной передачи:
- 1 – режим ускоренной передачи включен;
- 0 – режим ускоренной передачи выключен.
BIT_CTL – выбор битового или байтового режима:
- 1 – режим битовой передачи включен;
- 0 – режим байтовой передачи выключен.
Следовательно, в битовом режиме соответствующие биты в статусном регистре устанавливаются после 1 тайм-слота, а не после 8 тайм-слотов, как в байтовом режиме.
EN_FOW (Enable Force 1-Wire) – разрешение прямого управления линией 1-Wire:
- 1 – разрешено управление линией 1-Wire посредствам бита FOW регистра OWI_CFG;
- 0 – прямое управление линией 1-Wire запрещено.
PPM (Presence Pulse Masking) – режим маскирования импульса присутствия:
- 1 – маскирование импульса присутствия включено;
- 0 – маскирование импульса присутствия выключено.
В условиях длинной линии импульсы присутствия, генерируемые ведомыми устройствами, могут вызывать помехи на линии. Маскирование импульса присутствия может предотвратить неблагоприятные эффекты, вызванные импульсом присутствия. Если PPM равен «1», то результат цикла обнаружения присутствия (бит PDR регистра OWI_ST) всегда равен «0», даже если на шине нет ведомого устройства.
LLM (Long Line Mode) – режим длинной линии:
- 1 – режим длинной линии включен;
- 0 – режим длинной линии выключен.
Включение режима длинной линии изменяет стандартные временные характеристики, чтобы они лучше подходили для связи по длинной линии.