This documentation is out of date.
The new version of the documentation is here: https://cannylogic.com/docs |
Difference between revisions of "CANNY 7, Dallas 1-Wire Driver"
[unchecked revision] | [unchecked revision] |
(Created page with "=== Общее описание === Контроллер CANNY7 может быть использован в качестве ведущего (MASTER) узла в одно...") |
(→Смотри также) |
||
Line 260: | Line 260: | ||
[[CANNY 7]] | [[CANNY 7]] | ||
− | [[ | + | [[CANNY 7, I²C Driver|I²C]] |
Revision as of 19:17, 1 December 2015
Общее описание
Контроллер CANNY7 может быть использован в качестве ведущего (MASTER) узла в однопроводной сети передачи данных Dallas® 1-Wire®, при этом он имеет возможность только отправлять запросы на получение данных от ведомых устройств.
Для подключения контроллера CANNY7 к шине 1-Wire может использоваться любой из его каналов ввода-вывода. При этом, данный канал должен быть снаружи подтянут к напряжению 5В резистором номиналом от 3 кОм до 7 кОм. В контроллерах CANNY7 предусмотрена возможность обращения к конкретному устройству на шине 1-Wire по его адресу, что позволяет организовать работу с контроллером нескольких ведомых устройств по одному каналу, в том числе, используя несколько каналов контроллера, возможно его последовательное подключение к нескольким шинам 1-Wire.
Драйвер Dallas 1-Wire в своей работе использует ресурсы каналов контроллера, но имеет более высокий приоритет чем драйвера ввода-вывода. Таким образом, при активации драйвера Dallas 1-Wire, для задействованных в его работе каналов, изменение значений в связанных с ними регистрах драйвера ввода-вывода будет проигнорировано контроллером.
Ведомое устройство должно иметь постоянное, а не паразитное питание.
Регистры драйвера 1-Wire
Ниже приведено описание регистров управления работой драйвера 1-Wire.
Регистры конфигурации драйвера 1-Wire.
Для активации драйвера 1-Wire необходимо установить номер канала контроллера, подключенного к шине 1-Wire, с которым предполагается начать работу, в соответствующий регистр драйвера.
Примечание: | В каждый отдельный момент времени драйвер может работать только с одной из подключенных к нему шин 1-Wire, при этом допускается динамическое переключение между шинами в процессе выполнения функциональной диаграммы. |
Управление отправкой запросов на получение данных от ведомых устройств и контроль получения их ответов (опросов датчиков) выполняется с помощью соответствующих регистров драйвера 1-Wire.
Примечание: | Во избежание потери данных при работе с несколькими шинами Dallas, выполняйте переключение между ними только после получения от ведомых устройств ответов на запрос контроллера и обработки или сохранения полученных данных. |
Пример конфигурации канала №5 для работы с датчиком температуры DS18X20.
Регистры конфигурации драйвера 1-Wire.
Адрес | Ожидаемые значения | ||||||
---|---|---|---|---|---|---|---|
Регистр конфигурации Dallas |
| ||||||
Регистр номера канала Dallas |
|
Конфигурация канала для работы в данном режиме задается следующим именованными константами:
Параметр | Перечень допустимых значений |
---|---|
Тип устройства 1-Wire | Датчик температуры DS18X20, Считыватель CP-Z в режиме эмуляции DS1990A, Считыватель DS1990A |
Регистры передачи драйвера 1-Wire.
С помощью регистров передачи драйвера 1-Wire пользователь может задать адрес опрашиваемого ведомого устройства и отправить запрос на получение данных.
Адрес | Ожидаемые значения | ||||||
---|---|---|---|---|---|---|---|
Регистр начала передачи Dallas |
| ||||||
Регистр установки 64-битного ROM-кода адресата передачи Dallas SN0:FC |
| ||||||
Регистр установки 64-битного ROM-кода адресата передачи Dallas SN2:SN1 |
| ||||||
Регистр установки 64-битного ROM-кода адресата передачи Dallas SN4:SN3 |
| ||||||
Регистр установки 64-битного ROM-кода адресата передачи Dallas CRC:SN5 |
|
Примечание: | Регистры установки 64-битного ROM-кода адресата передачи Dallas используются только для выбора устройства на шине 1-Wire по его уникальному номеру (ROM-коду), в случае подключения к одной шине нескольких устройств. При работе с единственным устройством на шине, в случае если его ROM-код неизвестен, установите значение «0» во все регистры ROM-кода адресата передачи Dallas. |
Регистры приема драйвера 1-Wire.
В процессе работы, при получении от ведомых устройств ответов на запросы контроллера, данные, в зависимости от конфигурации драйвера 1-Wire, размещаются в его соответствующие регистры приема.
Общие регистры приема.
Адрес | Возвращаемые значения | ||||||
---|---|---|---|---|---|---|---|
Регистр наличия принятых данных Dallas |
|
Прием в режиме CZP / DS1990A.
Адрес | Возвращаемые значения | |||
---|---|---|---|---|
Регистр чтения 64-битного ROM-кода устройства Dallas SN0:FC |
| |||
Регистр чтения 64-битного ROM-кода устройства Dallas SN2:SN1 |
| |||
Регистр чтения 64-битного ROM-кода устройства Dallas SN4:SN3 |
| |||
Регистр чтения 64-битного ROM-кода устройства Dallas CRC:SN5 |
|
Прием в режиме DS18X20.
Адрес | Возвращаемые значения | ||||||
---|---|---|---|---|---|---|---|
Регистр чтения показаний температуры: целые градусы Цельсия |
| ||||||
Регистр чтения показаний температуры: десятитысячные доли градуса Цельсия |
| ||||||
Регистр чтения показаний температуры: знак (0 = выше нуля; 1 = ниже нуля) |
|
Пример функциональной диаграммы работы с термодатчиком DS18X20.
Опрос термодатчика, подключенного к каналу №5 контроллера, осуществляется 1 раз в секунду. При получении данных от DS18X20, в регистре наличия принятых данных драйвера Dallas появляется значение «1» и данные из регистров чтения показаний температуры, с помощью D-триггеров, сохраняются в соответствующие именованные сети для дальнейшей обработки.