DS2406, DS2407 − Dual Addressable Switch with 1kbit Memory, Hidable Dual Addressable Switch with 1kbit Memory
Dual Switch, Write-once Memory
12 [.]XXXXXXXXXXXX[XX][/[ channels | latch.[A|B|ALL|BYTE] | memory | pages/page.[0-3|ALL] | PIO.[A|B|ALL|BYTE] | power | sensed.[A|B|ALL|BYTE] | set_alarm | TAI8570/[sibling|temperature|pressure] | T8A/volt.[0-7,ALL] ]]
12
read-only,
unsigned integer
Is this a 1 or 2 channel switch? The DS2406 comes in
two forms, one has only one PIO pin (PIO.A). Returns
1 or 2.
read-write,
yes-no
The activity latch is set to 1 with the first negative or
positive edge detected on the associated PIO channel.
Writing any data will clear latch for all (both)) channels.
This is a hardware "feature" of the chip.
ALL references both channels simultaneously, comma
separated
BYTE references both channels simultaneously as a single
byte, with channel A in bit 0.
read-write,
binary
128 bytes of non-volatile, write-once data.
read-write,
binary
Memory organized as 4 pages or 32 bytes. Memory is
write-once.
ALL is the aggregate of all 4 pages, sequentially
accessed.
read-write,
yes-no
State of the open-drain output ( PIO ) pin. 0 =
non-conducting (off), 1 = conducting (on).
Writing zero will turn off the switch, non-zero will turn on
the switch. Reading the PIO state will return the
switch setting (flipflop in the data sheet). To determine
the actual logic level at the switch, refer to the
sensed property.
Note that the actual pin setting for the chip uses the
opposite polarity -- 0 for conducting, 1 for non-conducting.
However, to turn a connected device on (i.e. to deliver
power) we use the software concept of 1 as conducting or
"on".
ALL references both channels simultaneously, comma
separated.
BYTE references both channels simultaneously as a single
byte, with channel A in bit 0.
read-only,
yes-no
Is the DS2406 powered parasitically =0 or separately
on the Vcc pin =1
read-only,
yes-no
Logic level at the PIO pin. 0 = ground. 1 = high
(˜2.4V - 5V ). Really makes sense only if the
PIO state is set to zero (off), else will read zero.
ALL references both channels simultaneously, comma
separated.
BYTE references both channels simultaneously as a single
byte, with channel A in bit 0.
read-write,
unsigned integer (0-331)
A number consisting of three digits XYZ, where:
X |
channel selection |
0 neither
1 A only
2 B only
3 A or B
Y |
source selection |
0 undefined
1 latch
2 PIO
3 sensed
Z |
polarity selection |
0 low
1 high
All digits will be truncated to the 0-3 (or 0-1) range. Leading zeroes are optional (and may be problematic for some shells).
Example:
311 |
Responds on Conditional Search when either latch.A or latch.B (or both) are set to 1. | ||
<100 |
Never responds to Conditional Search. |
subdirectory
Properties when the DS2406 (3) is built into a
TAI8570.
If the DS2406 (3) is not part of a TAI8570 or
is not the controlling switch, attempts to read will result
in an error.
read-only,
floating point
Barometric pressure in millibar.
read-only,
ascii
Hex address of the DS2406 (3) paired with this chip
in a TAI8570.
read-only,
floating-point
Ambient temperature measured by the TAI8570 in
prevailing temperature units (Centigrade is the
default).
read-only,
floating-point
Uses the T8A (by Embedded Data Systems ) 8 channel
voltage converter. Units in volts, 0 to 5V range. 12 bit
resolution.
Use the set_alarm property to set the alarm triggering criteria.
The DS2406
(3) allows control of other devices, like LEDs and
relays. It superceeds the DS2405 and DS2407
Alternative switches include the DS2408 or even
DS2450
The DS2407 is practically identical to the
DS2406 except for a strange hidden mode. It is
supported just like the DS2406
The TAI-8570 Pressure Sensor is based on a 1-wire composite device by AAG Electronica. The TAI8570 uses 2 DS2406 (3) chips, paired as a reader and writer to synthesize 3-wire communication. Only 1 of the DS2406 (3) will allow temperature or pressure readings. It’s mate’s address can be shown as sibling.
The TAI8570 uses the Intersema MS5534a pressure sensor, and stores calibration and temperature compensation values internally.
Design and code examples are available from AAG Electronica http://aag.com.mx , specific permission to use code in a GPL product was given by Mr. Aitor Arrieta of AAG and Dr. Simon Melhuish of OWW.
http://pdfserv.maxim-ic.com/en/ds/DS2406.pdf
http://pdfserv.maxim-ic.com/en/ds/DS2407.pdf
http://www.embeddeddatasystems.com/page/EDS/PROD/IO/T8A
http://oww.sourceforge.net/hardware.html#bp
http://www.owfs.org
Paul Alfille ([email protected])