Documentation / devicetree / bindings / iio / afe / temperature-sense-rtd.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 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>;
    };
...