64 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Kernel driver ds1621
 | 
						|
====================
 | 
						|
 | 
						|
Supported chips:
 | 
						|
  * Dallas Semiconductor DS1621
 | 
						|
    Prefix: 'ds1621'
 | 
						|
    Addresses scanned: I2C 0x48 - 0x4f
 | 
						|
    Datasheet: Publicly available at the Dallas Semiconductor website
 | 
						|
               http://www.dalsemi.com/
 | 
						|
  * Dallas Semiconductor DS1625
 | 
						|
    Prefix: 'ds1621'
 | 
						|
    Addresses scanned: I2C 0x48 - 0x4f
 | 
						|
    Datasheet: Publicly available at the Dallas Semiconductor website
 | 
						|
               http://www.dalsemi.com/
 | 
						|
 | 
						|
Authors:
 | 
						|
        Christian W. Zuckschwerdt <zany@triq.net>
 | 
						|
        valuable contributions by Jan M. Sendler <sendler@sendler.de>
 | 
						|
        ported to 2.6 by Aurelien Jarno <aurelien@aurel32.net>
 | 
						|
        with the help of Jean Delvare <khali@linux-fr.org>
 | 
						|
 | 
						|
Module Parameters
 | 
						|
------------------
 | 
						|
 | 
						|
* polarity int
 | 
						|
  Output's polarity: 0 = active high, 1 = active low
 | 
						|
 | 
						|
Description
 | 
						|
-----------
 | 
						|
 | 
						|
The DS1621 is a (one instance) digital thermometer and thermostat. It has
 | 
						|
both high and low temperature limits which can be user defined (i.e.
 | 
						|
programmed into non-volatile on-chip registers). Temperature range is -55
 | 
						|
degree Celsius to +125 in 0.5 increments. You may convert this into a
 | 
						|
Fahrenheit range of -67 to +257 degrees with 0.9 steps. If polarity
 | 
						|
parameter is not provided, original value is used.
 | 
						|
 | 
						|
As for the thermostat, behavior can also be programmed using the polarity
 | 
						|
toggle. On the one hand ("heater"), the thermostat output of the chip,
 | 
						|
Tout, will trigger when the low limit temperature is met or underrun and
 | 
						|
stays high until the high limit is met or exceeded. On the other hand
 | 
						|
("cooler"), vice versa. That way "heater" equals "active low", whereas
 | 
						|
"conditioner" equals "active high". Please note that the DS1621 data sheet
 | 
						|
is somewhat misleading in this point since setting the polarity bit does
 | 
						|
not simply invert Tout.
 | 
						|
 | 
						|
A second thing is that, during extensive testing, Tout showed a tolerance
 | 
						|
of up to +/- 0.5 degrees even when compared against precise temperature
 | 
						|
readings. Be sure to have a high vs. low temperature limit gap of al least
 | 
						|
1.0 degree Celsius to avoid Tout "bouncing", though!
 | 
						|
 | 
						|
The alarm bits are set when the high or low limits are met or exceeded and
 | 
						|
are reset by the module as soon as the respective temperature ranges are
 | 
						|
left.
 | 
						|
 | 
						|
The alarm registers are in no way suitable to find out about the actual
 | 
						|
status of Tout. They will only tell you about its history, whether or not
 | 
						|
any of the limits have ever been met or exceeded since last power-up or
 | 
						|
reset. Be aware: When testing, it showed that the status of Tout can change
 | 
						|
with neither of the alarms set.
 | 
						|
 | 
						|
Temperature conversion of the DS1621 takes up to 1000ms; internal access to
 | 
						|
non-volatile registers may last for 10ms or below.
 |