-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: iio: afe: add bindings for temperature-sense-rtd
An ADC is often used to measure other quantities indirectly. This binding describe one case, the measurement of a temperature through the voltage across an RTD resistor such as a PT1000. Signed-off-by: Liam Beguin <liambeguin@gmail.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Peter Rosin <peda@axentia.se> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/20220213025739.2561834-10-liambeguin@gmail.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
- Loading branch information
Liam Beguin
authored and
Jonathan Cameron
committed
Feb 28, 2022
1 parent
03e7d21
commit d065a28
Showing
1 changed file
with
101 additions
and
0 deletions.
There are no files selected for viewing
101 changes: 101 additions & 0 deletions
101
Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/iio/afe/temperature-sense-rtd.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Temperature Sense RTD | ||
|
||
maintainers: | ||
- Liam Beguin <liambeguin@gmail.com> | ||
|
||
description: | | ||
RTDs (Resistance Temperature Detectors) are a kind of temperature sensors | ||
used to get a linear voltage to temperature reading within a give range | ||
(usually 0 to 100 degrees Celsius). | ||
When an io-channel measures the output voltage across an RTD such as a | ||
PT1000, the interesting measurement is almost always the corresponding | ||
temperature, not the voltage output. This binding describes such a circuit. | ||
The general transfer function here is (using SI units) | ||
V = R(T) * iexc | ||
R(T) = r0 * (1 + alpha * T) | ||
T = 1 / (alpha * r0 * iexc) * (V - r0 * iexc) | ||
The following circuit matches what's in the examples section. | ||
5V0 | ||
----- | ||
| | ||
+---+----+ | ||
| R 5k | | ||
+---+----+ | ||
| | ||
V 1mA | ||
| | ||
+---- Vout | ||
| | ||
+---+----+ | ||
| PT1000 | | ||
+---+----+ | ||
| | ||
----- | ||
GND | ||
properties: | ||
compatible: | ||
const: temperature-sense-rtd | ||
|
||
io-channels: | ||
maxItems: 1 | ||
description: | | ||
Channel node of a voltage io-channel. | ||
'#io-channel-cells': | ||
const: 0 | ||
|
||
excitation-current-microamp: | ||
description: The current fed through the RTD sensor. | ||
|
||
alpha-ppm-per-celsius: | ||
description: | | ||
alpha can also be expressed in micro-ohms per ohm Celsius. It's a linear | ||
approximation of the resistance versus temperature relationship | ||
between 0 and 100 degrees Celsius. | ||
alpha = (R_100 - R_0) / (100 * R_0) | ||
Where, R_100 is the resistance of the sensor at 100 degrees Celsius, and | ||
R_0 (or r-naught-ohms) is the resistance of the sensor at 0 degrees | ||
Celsius. | ||
Pure platinum has an alpha of 3925. Industry standards such as IEC60751 | ||
and ASTM E-1137 specify an alpha of 3850. | ||
r-naught-ohms: | ||
description: | | ||
Resistance of the sensor at 0 degrees Celsius. | ||
Common values are 100 for PT100, 500 for PT500, and 1000 for PT1000 | ||
additionalProperties: false | ||
required: | ||
- compatible | ||
- io-channels | ||
- excitation-current-microamp | ||
- alpha-ppm-per-celsius | ||
- r-naught-ohms | ||
|
||
examples: | ||
- | | ||
pt1000_1: temperature-sensor0 { | ||
compatible = "temperature-sense-rtd"; | ||
#io-channel-cells = <0>; | ||
io-channels = <&temp_adc1 0>; | ||
excitation-current-microamp = <1000>; /* i = U/R = 5 / 5000 */ | ||
alpha-ppm-per-celsius = <3908>; | ||
r-naught-ohms = <1000>; | ||
}; | ||
... |