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] |
(→Registers 1-Wire driver) |
(→Registers 1-Wire driver) |
||
Line 9: | Line 9: | ||
The slave must have a permanent, rather than parasitic power. | The slave must have a permanent, rather than parasitic power. | ||
− | === | + | === Dallas 1-Wire® driver === |
− | Below is a description of the 1- | + | Below is a description of the Dallas 1-Wire® driver registers. |
− | + | Dallas 1-Wire® driver configuration registers. | |
− | To activate | + | To activate Dallas 1-Wire® driver, you need to select the controller channel number connected to Dallas 1-Wire® bus, in the appropriate driver register. |
{| | {| | ||
|valign="top" style="padding-left:0.5em;"|''Note:'' | |valign="top" style="padding-left:0.5em;"|''Note:'' | ||
− | |valign="top" style="padding-left:0.5em;"|''At any given time, the driver can work with only one of the connected 1- | + | |valign="top" style="padding-left:0.5em;"|''At any given time, the driver can work with only one of the connected Dallas 1-Wire® bus, when it is allowed to dynamically switch between buses in the implementation of the functional diagram.'' |
|} | |} | ||
Line 33: | Line 33: | ||
[[File:6_12_2_1.png|center|300px]] | [[File:6_12_2_1.png|center|300px]] | ||
− | 1- | + | Dallas 1-Wire® Setup Registers. |
{|border="1" style="border-collapse:collapse;" align="left" width="100%" | {|border="1" style="border-collapse:collapse;" align="left" width="100%" | ||
|- align="center" valign="top" | |- align="center" valign="top" | ||
− | !width="250px"| | + | !width="250px"|Address |
!Expected values | !Expected values | ||
|- valign="top" | |- valign="top" | ||
− | |Dallas configuration register | + | |Dallas 1-Wire® configuration register |
|valign="top"| | |valign="top"| | ||
{|border="0" align="left" | {|border="0" align="left" | ||
Line 53: | Line 53: | ||
|} | |} | ||
|- valign="top" | |- valign="top" | ||
− | |Dallas | + | |Dallas 1-Wire® IO Channel Select register |
| | | | ||
{|border="0" align="left" | {|border="0" align="left" | ||
Line 59: | Line 59: | ||
|width="70px" style="padding-left:0.5em;"|0...10 | |width="70px" style="padding-left:0.5em;"|0...10 | ||
|style="padding-left:0.5em;"|= | |style="padding-left:0.5em;"|= | ||
− | |style="padding-left:0.5em;"|set the channel number used by the controller to work with 1- | + | |style="padding-left:0.5em;"|set the channel number used by the controller to work with Dallas 1-Wire® bus . |
|} | |} | ||
|} | |} | ||
Line 70: | Line 70: | ||
!List of expected values | !List of expected values | ||
|- valign="top" | |- valign="top" | ||
− | |1- | + | |Dallas 1-Wire® device type |
|DS18X20 temperature sensor, CP-Z reader in the DS1990A emulation mode, DS1990A reader | |DS18X20 temperature sensor, CP-Z reader in the DS1990A emulation mode, DS1990A reader | ||
|} | |} | ||
Line 140: | Line 140: | ||
− | 1-Wire driver receive registers . | + | Dallas 1-Wire driver receive registers . |
In operation, upon receiption of responses from the slave devices to the controller requests, data, according to the 1-Wire driver configuration, stored in its corresponding receiving registers. | In operation, upon receiption of responses from the slave devices to the controller requests, data, according to the 1-Wire driver configuration, stored in its corresponding receiving registers. |
Revision as of 03:14, 27 August 2016
General Description
Controller CANNY 7 can be used as a master node in a single-wire data network Dallas® 1-Wire®, while it has the ability to only send requests for data from slave devices.
Any of CANNY 7 input-output channels can be used to connect the controller to 1-Wire bus. At the same time, that channel must be externally pulled-up to 5V with resistor 3-7k Ohm. Consistently reassigning driver channels, it's possible to arrange up to 11 independent connections 1-Wire. Wherein device addressing and device handling by address is not available, therefore, in 1-Wire mode it is possible to connect only one SLAVE node at a time to controllers' channel.
Driver Dallas 1-Wire in its operation uses controller channels' resources, but has a higher priority than discrete input-output driver.Thus, upon activation Dallas 1-Wire driver, for channels involved in to its operation, change values in associated registers of discrete input-output driver will be ignored.
The slave must have a permanent, rather than parasitic power.
Dallas 1-Wire® driver
Below is a description of the Dallas 1-Wire® driver registers.
Dallas 1-Wire® driver configuration registers.
To activate Dallas 1-Wire® driver, you need to select the controller channel number connected to Dallas 1-Wire® bus, in the appropriate driver register.
Note: | At any given time, the driver can work with only one of the connected Dallas 1-Wire® bus, when it is allowed to dynamically switch between buses in the implementation of the functional diagram. |
Sent requests management to get information from the slaves and control receiving of their responses (sensors poll) is performed by appropriate registers of 1-Wire driver.
Note: | To avoid losing data when working with several Dallas buses, perform switching between them only after receiving responses from the slaves requested by the controller and processing or saving the data. |
Example of channel #5 configuration to use with a temperature sensor DS18X20.
Dallas 1-Wire® Setup Registers.
Address | Expected values | ||||||
---|---|---|---|---|---|---|---|
Dallas 1-Wire® configuration register |
| ||||||
Dallas 1-Wire® IO Channel Select register |
|
The channel configuration for operation in this mode is set by the following named constants:
Parameter | List of expected values |
---|---|
Dallas 1-Wire® device type | DS18X20 temperature sensor, CP-Z reader in the DS1990A emulation mode, DS1990A reader |
1-Wire transmit registers.
With the help of 1-Wire driver transmission registers , the user can specify the address of the respondent slave node and send a request for data transfer.
Address | Expected values | ||||||
---|---|---|---|---|---|---|---|
Dallas start transmission register |
| ||||||
The setup registers of Dallas 64-bit transmission destination ROM-code SN0:FC |
| ||||||
The setup registers of Dallas 64-bit transmission destination ROM-code SN2:SN1 |
| ||||||
The setup registers of Dallas 64-bit transmission destination ROM-code SN4:SN3 |
| ||||||
The setup registers of Dallas 64-bit transmission destination ROM-code CRC:SN5 |
|
Note: | The setup registers of Dallas 64-bit transmission destination ROM-code is only used to select a device on the 1-Wire bus by its unique number (ROM-code), in case of multiple devices connected to the same bus. During operation with a single device on the bus, when it ROM- code unknown, set "0" value into all registers of Dallas transmission destination ROM-code. |
Dallas 1-Wire driver receive registers .
In operation, upon receiption of responses from the slave devices to the controller requests, data, according to the 1-Wire driver configuration, stored in its corresponding receiving registers.
General reception registers.
Address | Return values | ||||||
---|---|---|---|---|---|---|---|
Register the presence of the received data Dallas |
|
Reception in CZP / DS1990A mode.
Address | Return values | |||
---|---|---|---|---|
Регистр чтения 64-битного ROM-кода устройства Dallas SN0:FC |
| |||
Регистр чтения 64-битного ROM-кода устройства Dallas SN2:SN1 |
| |||
Регистр чтения 64-битного ROM-кода устройства Dallas SN4:SN3 |
| |||
Регистр чтения 64-битного ROM-кода устройства Dallas CRC:SN5 |
|
Прием в режиме DS18X20.
Адрес | Возвращаемые значения | ||||||
---|---|---|---|---|---|---|---|
Регистр чтения показаний температуры: целые градусы Цельсия |
| ||||||
Регистр чтения показаний температуры: десятитысячные доли градуса Цельсия |
| ||||||
Регистр чтения показаний температуры: sign (0 = above zero; 1 = below zero) |
|
Note: | When receiving in DS18X20 mode, temperature sensor duty cycle, those send requests via Dallas transmission start register, should not be less than 750ms. |
Example of a functional diagram to work with temperature sensor DS18X20.
temperature sensor poll, connected to the channel #5, carried out 1 time per second. При получении данных от DS18X20, в регистре наличия принятых данных драйвера Dallas появляется значение «1» и данные из регистров чтения показаний температуры, с помощью D-триггеров, сохраняются в соответствующие именованные сети для дальнейшей обработки.