1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- Kernel driver w1_therm
- ====================
- Supported chips:
- * Maxim ds18*20 based temperature sensors.
- * Maxim ds1825 based temperature sensors.
- Author: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
- Description
- -----------
- w1_therm provides basic temperature conversion for ds18*20 devices, and the
- ds28ea00 device.
- supported family codes:
- W1_THERM_DS18S20 0x10
- W1_THERM_DS1822 0x22
- W1_THERM_DS18B20 0x28
- W1_THERM_DS1825 0x3B
- W1_THERM_DS28EA00 0x42
- Support is provided through the sysfs w1_slave file. Each open and
- read sequence will initiate a temperature conversion then provide two
- lines of ASCII output. The first line contains the nine hex bytes
- read along with a calculated crc value and YES or NO if it matched.
- If the crc matched the returned values are retained. The second line
- displays the retained values along with a temperature in millidegrees
- Centigrade after t=.
- Parasite powered devices are limited to one slave performing a
- temperature conversion at a time. If none of the devices are parasite
- powered it would be possible to convert all the devices at the same
- time and then go back to read individual sensors. That isn't
- currently supported. The driver also doesn't support reduced
- precision (which would also reduce the conversion time) when reading values.
- Writing a value between 9 and 12 to the sysfs w1_slave file will change the
- precision of the sensor for the next readings. This value is in (volatile)
- SRAM, so it is reset when the sensor gets power-cycled.
- To store the current precision configuration into EEPROM, the value 0
- has to be written to the sysfs w1_slave file. Since the EEPROM has a limited
- amount of writes (>50k), this command should be used wisely.
- The module parameter strong_pullup can be set to 0 to disable the
- strong pullup, 1 to enable autodetection or 2 to force strong pullup.
- In case of autodetection, the driver will use the "READ POWER SUPPLY"
- command to check if there are pariste powered devices on the bus.
- If so, it will activate the master's strong pullup.
- In case the detection of parasite devices using this command fails
- (seems to be the case with some DS18S20) the strong pullup can
- be force-enabled.
- If the strong pullup is enabled, the master's strong pullup will be
- driven when the conversion is taking place, provided the master driver
- does support the strong pullup (or it falls back to a pullup
- resistor). The DS18b20 temperature sensor specification lists a
- maximum current draw of 1.5mA and that a 5k pullup resistor is not
- sufficient. The strong pullup is designed to provide the additional
- current required.
- The DS28EA00 provides an additional two pins for implementing a sequence
- detection algorithm. This feature allows you to determine the physical
- location of the chip in the 1-wire bus without needing pre-existing
- knowledge of the bus ordering. Support is provided through the sysfs
- w1_seq file. The file will contain a single line with an integer value
- representing the device index in the bus starting at 0.
|