小舍YZ 发表于 2017-3-30 18:12:55

大鹏 发表于 2017-3-30 16:30
温度控制器需要一次革命

:lol:lol :lol :lol :lol            

小舍YZ 发表于 2017-3-31 12:48:26

3.3 DS18B20内部结构

图3-2DS18B20内部结构

小舍YZ 发表于 2017-3-31 12:49:03

DS18B20内部结构主要由4部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。(如图3-2)
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,这样就可以实现一根总线上挂接多个DS18B20的目的。
64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
DS18B20温度传感器的存储器。DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPROM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

小舍YZ 发表于 2017-3-31 12:50:49

图3-3DS18B20的存储器

小舍YZ 发表于 2017-3-31 12:52:52

DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。即所测温度值为T=T*0.0625。
DS18B20温度值格式如表3-1所示。高五位都是符号位,在读取温度时只需MSB中的低四位和LSB的整个字节。如果需要作温度校验,就需要将整个暂存器的9个字节都读完,并且当传感器存储的CRC值与总线控制器计算出的CRC不符时,自身没有停止序列传输的电路。这部分是需要设计者自行设计的。

表3-1 温度寄存器格式

小舍YZ 发表于 2017-3-31 12:53:06

低5位一直都是“1”,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如表所示(DS18B20出厂时被设置为12位)。

小舍YZ 发表于 2017-3-31 12:54:23

3.4 DS18B20的时序

与DS18B20间的任何通讯都需要以初始化序列开始,一个复位脉冲跟着一个存在脉冲表明DS18B20已经准备好发送和接收数据。
在初始化序列期间,总线控制器拉低总线并保持480us以发出(TX)一个复位脉冲,然后释放总线,进入接收状态(RX)。单总线由5K上拉电阻拉高电平。当DS18B20探测到I/O引脚上的上升沿后,等待15-60us,然后发出一个由60-240us低电平信号构成的存在脉冲。总线控制器初始化写时序后,DS18B20在一个15us到60us的窗口内对I/O线采样。如果线上是高电平,就写1。低电平就写0。

图3-4DS18B20初始化时序图

小舍YZ 发表于 2017-3-31 12:55:12

写时序有写0和写1两种。总线控制器通过写1时序写逻辑1到DS18B20,写时序写逻辑0到DS18B20。所有写时序必须最少持续60us,包括两个写周期间至少1us的恢复时间。当总线控制器把数据线从高电平拉到低电平时,写时序开始。
总线控制器要产生一个写时序,必须把数据线拉到低电平后释放,在写时序开始后的15us释放总线。当总线被释放的时候,5k的上拉电阻将拉高总线。总控制器要生成一个写0时序,必须把数据线拉到低电平并持续保持至少60us。
所有的读时序必须最少60us,包括两个读周期间至少1us的恢复时间。当总线控制器把数据线从高电平拉到低电平时,读时序开始,数据线必须至少保持1us,然后总线被释放。在总线控制器发出读时序后,DS18B20通过拉高或拉低总线上来传输1或0、当传输逻辑0结束后,总线将被释放,通过上拉电阻回到上升沿状态。从DS18B20输出的数据等到时序的下降沿出现后15us内有效。因此,总线控制器在读时序开始后必须停止把I/O脚驱动为低电平15us,以读取I/O脚状态。

图 3-5 DS18B20读写时序图

小舍YZ 发表于 2017-3-31 12:56:12

3.5 DS18B20的工作原理

DS18B20测温原理如图3-6所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3-6中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

图3-6 DS18B20温度测量原理图

小舍YZ 发表于 2017-3-31 12:56:45

3.6 DS18B20的性能特点

(1)        采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位);
(2)        测温范围为-55℃——+155℃,测量分辨率为0.0625℃;
(3)        内含64位经过激光修正的只读存储器ROM;
(4)        适配各种系统;
(5)        用户可分别设定各路温度的上、下限;
(6)        内含寄生电源;
(7)        零待机功耗 ;
(8)        可通过数据线供电,电压范围为3.0~5.5V;
(9)        负电压特性,电源极性接反时,不会因发热而烧毁,但不能正常工作。
页: 1 [2] 3
查看完整版本: 基于FPGA的多功能温度控制器设计