3.1美国DALLAS公司生产的单总线数字温度传感器DS1820,可把温度信号直接转换成串行数字信号供微机处理。由于每片DS1820含有唯一的串行序列号,所以在一条总线上可挂接任意多个DS1820芯片。从DS1820读出的信息或写入DS1820的信息,仅需要一根口线(单总线接口)。读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS1820供电,而无需额外电源。DS1820提供九位温度读数,构成多点温度检测系统而无需任何外围硬件。3.2数字输出型IC温度传感器1、DS1820的特性单线接口:仅需一根口线与MCU连接;无需外围元件;由总线提供电源;测温范围为-55℃~125℃,精度为0.5℃;九位温度读数;A/D变换时间为200ms;用户可以任意设置温度上、下限报警值,且能够识别具体报警传感器。DS1820123GNDI/OVDD(a)PR—35封装DS1820的管脚排列DS182012345678I/OGND(b)SOIC封装NCNCNCNCVDDNC2、DS1820引脚及功能GND:地;VDD:电源电压I/O:数据输入/输出脚(单线接口,可作寄生供电)3、DS1820的工作原理图为DS1820的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。存储器控制逻辑64bitROM和单线接口电源检测温度传感器高温触发器低温触发器8位CRC触发器存储器DS1820内部结构图寄生电源由两个二极管和寄生电容组成。电源检测电路用于判定供电方式。寄生电源供电时,电源端接地,器件从总线上获取电源。在I/O线呈低电平时,改由寄生电容上的电压继续向器件供电。寄生电源两个优点:检测远程温度时无需本地电源;缺少正常电源时也能读ROM。若采用外部电源,则通过二极管向器件供电。(1)寄生电源DS1820内部的低温度系数振荡器能产生稳定的频率信号f0,高温度系数振荡器则将被测温度转换成频率信号f。当计数门打开时,DS1820对f0计数,计数门开通时间由高温度系数振荡器决定。芯片内部还有斜率累加器,可对频率的非线性予以补偿。测量结果存入温度寄存器中。一般情况下的温度值应为9位(符号点1位),但因符号位扩展成高8位,故以16位补码形式读出,表3.4-1给出了DS1820温度和数字量的对应关系。温度/℃输出的二进制码对应的十六进制码+125000000001111101000FAH+2500000000001100100032H+1/200000000000000010001H000000000000000000000H-1/21111111111111111FFFFH-251111111111001110FFCEH-551111111110010010FF92HDS1820温度与数字量对应关系表温度测量电路斜率累加器计数器1计数器2低温度系数晶振高温度系数晶振=0=0预置温度寄存器预置比较停止置位/清零加1(2)温度测量原理DS1820测量温度时使用特有的温度测量技术,如图。64位ROM的结构如下:开始8位是产品类型的编号(DS1820为10H),接着是每个器件的唯一的序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS1820可以采用一线进行通信的原因。主机操作ROM的命令有五种,如表所列指令说明读ROM(33H)读DS1820的序列号匹配ROM(55H)继读完64位序列号的一个命令,用于多个DS1820时定位跳过ROM(CCH)此命令执行后的存储器操作将针对在线的所有DS1820搜ROM(F0H)识别总线上各器件的编码,为操作各器件作好准备报警搜索(ECH)仅温度越限的器件对此命令作出响应(3)64位激光ROM由便笺式RAM和非易失性电擦写EERAM组成,后者用于存储TH、TL值。数据先写入RAM,经校验后再传给EERAM。便笺式RAM占9个字节,包括温度信息(第1、2字节)、TH和TL值(3、4字节)、计数寄存器(7、8字节)、CRC(第9字节)等,第5、6字节不用。暂存器的命令共6条,见表3.4-3所列。在正常测温情况下,DS1820的测温分辨力为0.5℃,可采用下述方法获得高分辨率的温度测量结果:首先用DS1820提供的读暂存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分Tz,然后再用BEH指令取计数器1的计数剩余值Cs和每度计数值CD。考虑到DS1820测量温度的整数部分以0.25℃、0.75℃为进位界限的关系,实际温度Ts可用下式计算:Ts=(Tz-0.25℃)+(CD-Cs)/CD(4)高速暂存器DS1820存贮控制命令指令说明温度转换(44H)启动在线DS1820做温度A/D转换读数据(BEH)从高速暂存器读9bits温度值和CRC值写数据(4EH)将数据写入高速暂存器的第0和第1字节中复制(48H)将高速暂存器中第2和第3字节复制到EERAM读EERAM(B8H)将EERAM内容写入高速暂存器中第2和第3字节读电源供电方式(B4H)了解DS1820的供电方式DS1820单线通信功能是分时完成的,它有严格的时隙概念。因此系统对DS1820的各种操作必须按协议进行。DS1820工作工程中的协议:初始化、ROM操作命令、存储器操作命令、处理数据。4DS1820温度检测系统原理由于单线数字温度传感器DS1820具有在一条总线上可同时挂接多片的显著特点,可同时测量多点的温度,而且DS1820的连接线可以很长,抗干扰能力强,便于远距离测量,因而得到了广泛应用。采用寄生电容供电的温度检测系统89C51DS1820DS1820DS1820P1.0P1.1P1.2TxRx+5VGNDVDDP1.1作输出口用,相当于TxP1.2作输入口用,相当于Rx……温度检测系统原理图如图所示,采用寄生电源供电方式。为保证在有效的DS1820时钟周期内,提供足够的电流,我们用一个MOSFET管和89C51的一个I/O口(P1.0)来完成对DS1820总线的上拉。当DS1820处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10μs。采用寄生电源供电方式时VDD必须接地。由于单线制只有一根线,因此发送接收口必须是三态的,为了操作方便我们用89C51的P1.1口作发送口Tx,P1.2口作接收口Rx。通过试验我们发现此种方法可挂接DS1820数十片,距离可达到50米,而用一个口时仅能挂接10片DS1820,距离仅为20米。同时,由于读写在操作上是分开的,故不存在信号竞争问题。DS1820采用了一种单线总线系统,即可用一根线连接主从器件,DS1820作为从属器件,主控器件一般为微处理器。单线总线仅由一根线组成,与总线相连的器件应具有漏极开路或三态输出,以保证有足够负载能力驱动该总线。DS1820的I/O端是开漏输出的,单线总线要求加一只5kΩ左右的上拉电阻。应特别注意:当总线上DS1820挂接得比较多时,就要减小上拉电阻的阻值,否则总线拉不成高电平,读出的数据全是0。在测试时,上拉电阻可以换成一个电位器,通过调整电位器可以使读出的数据正确,当总线上有8片DS1820时,电位器调到阻值为1.25kΩ时就能读出正确数据,在实际应用时可根据具体的传感器数量来选择合适的上拉电阻。3.3IC温度传感器的应用串联、并联使用:串联测最低温度;并联测平均温度冷端补偿:可代替冰池,环境温度15℃~35℃温度控制:温度检测:AD590应用(一)深井长传输线的摄氏温度测量在实际中,可使用AD590进行深井长线传输侧温,并能对测温曲线的非线性误差进行校正。用AD590为测温传感器,传输电缆可达1000m以上,主要是因AD590本身具有恒流、高阻抗输出特性,输出阻抗达10MΩ。1000m的铜质电缆。其直流阻值约为150Ω。所以电缆的影响是微乎其微的。实验证明,接入1000m电缆后的测量值与不接入电缆的侧量值。相差值小于0.1℃。这一变化值是在规定的测温精度范围内的。长线传输摄氏温度测量的典型电路如图。由图可得设RT=1k,KT为标定因子(1μA/K),则U1=1mV/K·Tk因BG1为1.25V稳压管,经R2,WT分压,取U2=273.2mV放大倍数A=10;于是有:TKTRTKU1~-+U0ABG1R1R2U2WrRrI1+E9VU1当t=–55℃时,U0=–550mV;当t=+150℃时,U0=+1500mV。此电路只要BG1的运放漂移小,性能稳定,RT取0.l%精密电阻,加上对AD590的自身非线性补偿后,测温精度在测温范围内可达0.1℃。对于标定因子KT的离散性,可通过调节WT来调整,WT为多圈线精密电位器。U0=(U1-U2)A=1mV·Tc·A=10mV/℃·Tc摄氏TC-V转换公式(二)测温曲线的非线性误差校正.在实际测温曲线中,若没有通过校正,曲线如图,0℃~100℃温域曲线是上升的,原因是AD590本身的非线性所致,在–55℃~+100℃时ΔT是递增的;在100℃~+150℃的ΔT是递降的,即ΔU0/ΔT=F(≤1)。式中的F为测温电路的标定因子。要使整个测温曲线有良好线性关系,就要使F=1,采取80ºC100ºCTC标准值T测量值0测量误差曲线的办法是利用双积分A/D转换线性特性,对曲线分段校正,线性双积分A/D转换的基本公式为:N1为固定值,V标是反向积分时所加的标准电压,实际上N1/V标为一常数,故该公式为N2-V输入间的线性关系式。如果由AD590的非线性产生的V输入值偏高,要使N2保持不变,只要减小V标的值,即可使曲线得到提升;反之,增加V标值,曲线就下降。在实际电路中,是改变双积分转换器的参考电压UREF的值来使测温读数值得到修正的。这种办法补偿了AD590的非线性误差,提高了测量精度。输入标准电压VVNN12