DS2450(3) One-Wire File System DS2450(3)

# [NAME](#NAME)

**DS2450** - Quad A/D Converter

# [SYNOPSIS](#SYNOPSIS)

## [Voltage * 4 and Memory.](#Voltage_*_4_and_Memory.)

**20** \[.]XXXXXXXXXXXX\[XX]\[/\[ **PIO.\[A-D|ALL]** | **volt.\[A-D|ALL]** | **volt2.\[A-D|ALL]** | **latestvolt.\[A-D|ALL]** | **latestvolt2.\[A-D|ALL]** ]]

**20** \[.]XXXXXXXXXXXX\[XX]\[/\[ **8bit/volt.\[A-D|ALL]** | **8bit/volt2.\[A-D|ALL]** | **8bit/latestvolt.\[A-D|ALL]** | **8bit/latestvolt2.\[A-D|ALL]** ]]

**20** \[.]XXXXXXXXXXXX\[XX]\[/\[ **memory** | **pages/page.\[0-3|ALL]** | **power** ]

**20** \[.]XXXXXXXXXXXX\[XX]\[/\[ **alarm/high.\[A-D|ALL]** | **alarm/low.\[A-D|ALL]** | **set\_alarm/high.\[A-D|ALL]** | **set\_alarm/low.\[A-D|ALL]** | **set\_alarm/unset** | **set\_alarm/volthigh.\[A-D|ALL]** | **set\_alarm/volt2high.\[A-D|ALL]** | **set\_alarm/voltlow.\[A-D|ALL]** | **set\_alarm/volt2low.\[A-D|ALL]** ]

**20** \[.]XXXXXXXXXXXX\[XX][/[

See the file man3/standard\_mini.3so.

]]

## [CO2 sensor](#CO2_sensor)

**20** \[.]XXXXXXXXXXXX\[XX]\[/\[ **CO2/ppm** | **CO2/power** | **CO2/status** ]

# [FAMILY CODE](#FAMILY_CODE)

*20*

# [SPECIAL PROPERTIES](#SPECIAL_PROPERTIES)

## alarm/high.A ... alarm/high.D alarm.high.ALL

## alarm/high.A ... alarm/high.D alarm.high.ALL

*read-write, binary*  
The alarm state of the voltage channel. The alarm state is set one of two ways:

[voltage conversion](#voltage)

Whenever the *DS2450* measures a voltage on a channel, that voltage is compared to the high and low limits *set\_alarm/volthigh* and/or *set\_alarm/voltlow* and if the alarm is enabled *set\_alarm/high* and/or *set\_alarm/low* the corresponding flag is set in *alarm/high* and/or *alarm/low*

[manual set](#manual)

The flag can be set by a direct write to *alarm/high* or *alarm/low*

## [memory](#memory)

*read-write, binary*  
32 bytes of data. Much has special implications. See the datasheet.

## [pages/page.0 ... pages/page.3 pages/page.ALL](#pages/page.0_..._pages/page.3_pages/page.ALL)

*read-write, binary*  
Memory is split into 4 pages of 8 bytes each. Mostly for reading and setting device properties. See the datasheet for details.  
*ALL* is an aggregate of the pages. Each page is accessed sequentially.

## [PIO.A ... PIO.D PIO.ALL](#PIO.A_..._PIO.D_PIO.ALL)

*read-write, yes-no*  
Pins used for digital control. 1 turns the switch on (conducting). 0 turns the switch off (non-conducting).  
Control is specifically enabled. Reading *volt* will turn off this control.  
*ALL* is an aggregate of the voltages. Readings are made separately.

## [power](#power)

*read-write, yes-no*  
Configure whether the *DS2450* is externally powered (as opposed to parasitically powered from the data line).  
If configured as powered, the A/D coverter will be set to continuous sampling, and the bus will be released during a single conversion allowing other devices to communicate.  
Setting this to 1 when no power is applied to the chip's Vcc will result in wrong voltage readouts. Setting this to 0 when power is applied to the chip's Vcc allows a simultaneous conversion trigger on all *DS2450* on a bus. The (always safe) default is 0.

## [set\_alarm/high.A ... set\_alarm/high.D set\_alarm/high.ALL](#set_alarm/high.A_..._set_alarm/high.D_set_alarm/high.ALL)

## [set\_alarm/low.A ... set\_alarm/low.D set\_alarm/low.ALL](#set_alarm/low.A_..._set_alarm/low.D_set_alarm/low.ALL)

*read-write, yes-no*  
Enabled status of the voltage threshold. 1 is on. 0 is off.

## [set\_alarm/volthigh.A ... set\_alarm/volthigh.D set\_alarm/volthigh.ALL](#set_alarm/volthigh.A_..._set_alarm/volthigh.D_set_alarm/volthigh.ALL)

## [set\_alarm/volt2high.A ... set\_alarm/volt2high.D set\_alarm/volt2high.ALL](#set_alarm/volt2high.A_..._set_alarm/volt2high.D_set_alarm/volt2high.ALL)

## [set\_alarm/voltlow.A ... set\_alarm/voltlow.D set\_alarm/voltlow.ALL](#set_alarm/voltlow.A_..._set_alarm/voltlow.D_set_alarm/voltlow.ALL)

## [set\_alarm/volt2low.A ... set\_alarm/volt2low.D set\_alarm/volt2low.ALL](#set_alarm/volt2low.A_..._set_alarm/volt2low.D_set_alarm/volt2low.ALL)

*read-write, floating point*  
The upper or lower limit for the voltage measured before triggering an alarm.  
Note that the alarm must be enabled *alarm/high* or *alarm.low* and an actual reading must be requested *volt* for the alarm state to actually be set. The alarm state can be sensed at *alarm/high* and *alarm/low*

## [set\_alarm/unset](#set_alarm/unset)

*read-write, yes-no*  
Status of the power-on-reset (POR) flag.  
The POR is set when the *DS2450* is first powered up, and will match the alarm state until explicitly cleared. (By writing 0 to it).  
The purpose of the POR is to alert the user that the chip is not yet fully configured, especially alarm thresholds and enabling.

## [volt.A ... volt.D volt.ALL](#volt.A_..._volt.D_volt.ALL)

## [volt2.A ... volt2.D volt2.ALL](#volt2.A_..._volt2.D_volt2.ALL)

## [8bit/volt.A ... 8bit/volt.D 8bit/volt.ALL](#8bit/volt.A_..._8bit/volt.D_8bit/volt.ALL)

## [8bit/volt2.A ... 8bit/volt2.D 8bit/volt2.ALL](#8bit/volt2.A_..._8bit/volt2.D_8bit/volt2.ALL)

*read-only, floating point*  
Reading one of these nodes triggers a conversion on the specified voltage input(s) with the selected resolution (16 or 8 bit) and returns the sampled voltage(s) with the selected scaling (0 - 5.10V or 0 - 2.55V). The conversion time is about 1.4ms per input for 16-bit and 0.8ms per input for 8-bit. The output feature ( *PIO* ) is disabled by reading the corresponding node.  
*ALL* is an aggregate of the voltages. Sampling is controlled by the chip and done in the order A, B, C, D, one after another.

## [latestvolt.A ... latestvolt.D latestvolt.ALL](#latestvolt.A_..._latestvolt.D_latestvolt.ALL)

## [latestvolt2.A ... latestvolt2.D latestvolt2.ALL](#latestvolt2.A_..._latestvolt2.D_latestvolt2.ALL)

## [8bit/latestvolt.A ... 8bit/latestvolt.D 8bit/latestvolt.ALL](#8bit/latestvolt.A_..._8bit/latestvolt.D_8bit/latestvolt.ALL)

## [8bit/latestvolt2.A ... 8bit/latestvolt2.D 8bit/latestvolt2.ALL](#8bit/latestvolt2.A_..._8bit/latestvolt2.D_8bit/latestvolt2.ALL)

*read-only, floating point*  
Returns previously measured voltage on the specified input(s) with the selected scaling (0 - 5.10V or 0 - 2.55V). Resolution and scaling are set by sampling a voltage, not here; the correct latestvolt nodes have to be read to make the result meaningful.  
*ALL* is an aggregate of the voltages and returns all voltage values from the chip.  
Reading these nodes will never trigger a voltage conversion. Intended for use in conjunction with **/simultaneous/voltage.**

# [CO2 (Carbon Dioxide) SENSOR PROPERTIES](#CO2_%28Carbon_Dioxide%29_SENSOR_PROPERTIES)

The CO2 sensor is a device constructed from a SenseAir K30 and a *DS2450*

## [CO2/power](#CO2/power)

*read-only, floating point*  
Supply voltage to the CO2 sensor (should be around 5V)

## [CO2/ppm](#CO2/ppm)

*read-only, unsigned*  
CO2 level in ppm (parts per million). Range 0-5000.

## [CO2/status](#CO2/status)

*read-only, yes-no*  
Is the internal voltage correct (around 3.2V)?

# [STANDARD PROPERTIES](#STANDARD_PROPERTIES)

See the file man3/standard.3so.

# [ALARMS](#ALARMS)

None.

# [DESCRIPTION](#DESCRIPTION)

See the file man3/description.3so.

## [DS2450](#DS2450)

The [**DS2450 (3)**](/man/os/owfs/DS2450.3) is a (supposedly) high resolution A/D converter with 4 channels. Actual resolutin is reporterd to be 8 bits. The channels can also function as switches. Voltage sensing (with temperature and current, but sometimes restricted voltrage ranges) can also be obtained with the **DS2436** , **DS2438** and **DS276x**

# [ADDRESSING](#ADDRESSING)

See the file man3/addressing.3so.

# [DATASHEET](#DATASHEET)

[DS2450](#DS2450~2)

http://pdfserv.maxim-ic.com/en/ds/DS2450.pdf

[CO2 sensor](#CO2)

http://www.senseair.se/Datablad/k30%20.pdf

[CO2 device](#CO2~2)

https://www.m.nu/co2meter-version-2-p-259.html?language=en

# [SEE ALSO](#SEE_ALSO)

See the file man3/seealso.3so.

# [AVAILABILITY](#AVAILABILITY)

http://www.owfs.org

# [AUTHOR](#AUTHOR)

Paul Alfille (paul.alfille@gmail.com)

2003 OWFS Manpage

---

Document: DS2450(3) from owfs 3.2.4-r9 (Chainguard OS)
Source: https://github.com/owfs/owfs
