您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > DS18B20可编程分辨率的单总线
达拉斯DS18B20半导体可编程分辨率的单总线®数字温度计特征引脚排列独特的单线接口仅需一个端口引脚进行通讯每个器件有唯一的64位的序列号存储在内部存储器中简单的多点分布式测温应用无需外部器件可通过数据线供电。供电范围为3.0V到5.5V。测温范围为-55~+125℃(-67~+257℉)在-10~+85℃范围内精确度为±5℃温度计分辨率可以被使用者选择为9~12位最多在750ms内将温度转换为12位数字用户可定义的非易失性温度报警设置报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件与DS1822兼容的软件应用包括温度控制、工业系统、消费品、温度计或任何热感测系统引脚说明GND-地DQ-数据I/OVDD-可选电源电压NC-无连接说明DS18B20数字温度计提供9-12位摄氏温度测量而且有一个由高低电平触发的可编程的不因电源消失而改变的报警功能。DS18B20通过一个单线接口发送或接受信息,因此在中央处理器和DS18B20之间仅需一条连接线(加上地线)。它的测温范围为-55~+125℃,并且在-10~+85℃精度为±5℃。除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求。每个DS18B20都有一个独特的64位序列号,从而允许多只DS18B20同时连在一根单线总线上;因此,很简单就可以用一个微控制器去控制很多覆盖在一大片区域的DS18B20。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。详细的引脚说明表18引脚SOIC封装*TO-9封装符号说明51GND接地。42DQ数据输入/输出引脚。对于单线操作:漏极开路。当工作在寄生电源模式时用来提供电源(建“寄生电源”节)。33VDD可选的VDD引脚。工作与寄生电源模式时VDD必须接地。*所有上表未提及的引脚都无连接。概览图1是表示DS18B20的方框图,表1已经给出了引脚说明。64位只读存储器储存器件的唯一片序列号。高速暂存器含有两个字节的温度寄存器,这两个寄存器用来存储温度传感器输出的数据。除此之外,高速暂存器提供一个直接的温度报警值寄存器(TH和TL),和一个字节的的配置寄存器。配置寄存器允许用户将温度的精度设定为9,10,11或12位。TH,TL和配置寄存器是非易失性的可擦除程序寄存器(EEPROM),所以存储的数据在器件掉电时不会消失。DS18B20通过达拉斯公司独有的单总线协议依靠一个单线端口通讯。当全部器件经由一个3态端口或者漏极开路端口(DQ引脚在DS18B20上的情况下)与总线连接的时候,控制线需要连接一个弱上拉电阻。在这个总线系统中,微控制器(主器件)依靠每个器件独有的64位片序列号辨认总线上的器件和记录总线上的器件地址。由于每个装置有一个独特的片序列码,总线可以连接的器件数目事实上是无限的。单总线协议,包括指令的详细解释和“时序”见单总线系统节。DS18B20的另一个功能是可以在没有外部电源供电的情况下工作。当总线处于高电平状态,DQ与上拉电阻连接通过单总线对器件供电。同时处于高电平状态的总线信号对内部电容(Cpp)充电,在总线处于低电平状态时,该电容提供能量给器件。这种提供能量的形式被称为“寄生电源”。作为替代选择,DS18B20同样可以通过VDD引脚连接外部电源供电。DS18B20方框图图1测温操作DS18B20的核心功能是它的直接读数字的温度传感器。温度传感器的精度为用户可编程的9,10,11或12位,分别以0.5℃,0.25℃,0.125℃和0.0625℃增量递增。在上电状态下默认的精度为12位。DS18B20启动后保持低功耗等待状态;当需要执行温度测量和AD转换时,总线控制器必须发出[44h]命令。在那之后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度寄存器中,DS18B20继续保持等待状态。当DS18B20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序”(见单总线系统节),DS18B20正在温度转换中返回0,转换结束返回1。如果DS18B20由寄生电源供电,除非在进入温度转换时总线被一个强上拉拉高,否则将不会由返回值。寄生电源的总线要求在DS18B20供电节详细解释。温度寄存器格式图2温度/数据关系表2温度℃数据输出(二进制)数据输出(十六进制)+125000001111101000007D0h+8500000101010100000550h+25.062500000001100100010191h+10.125000000001010001000A2h+0.500000000000010000008h000000000000000000000h-0.51111111111111000FFF8h-10.1251111111101011110FF5Eh-25.06251111111001101111FE6Eh-551111110010010000FC90h*上电复位时温度寄存器默认值为+85℃报警操作信号DS18B20完成一次温度转换后,就拿温度值与和存储在TH和TL中一个字节的用户自定义的报警预置值进行比较。标志位(S)指出温度值的正负:正数S=0,负数S=1。TH和TL寄存器是非易失性的,所以它们在掉电时仍然保存数据。在存储器节将解释TH和TL是怎么存入高速暂存器的第2和第3个字节的。TH和TL寄存器格式图3当TH和TL为8位寄存器时,4位温度寄存器中的11个位用来和TH、TL进行比较。如果测得的温度高于TH或低于TL,报警条件成立,DS18B20内部就会置位一个报警标识。每进行一次测温就对这个标识进行一次更新;因此,如果报警条件不成立了,在下一次温度转换后报警标识将被移去。总线控制器通过发出报警搜索命令[ECh]检测总线上所有的DS18B20报警标识。任何置位报警标识的DS18B20将响应这条命令,所以总线控制器能精确定位每一个满足报警条件的DS18B20。如果报警条件成立,而TH或TL的设置已经改变,另一个温度转换将重新确认报警条件。DS18B20供电DS18B20可以通过从VDD引脚接入一个外部电源供电,或者可以工作于寄生电源模式,该模式允许DS18B20工作于无外部电源需求状态。寄生电源在进行远距离测温时是非常有用的。寄生电源的控制回路见图1,当总线为高电平时,寄生电源由单总线通过VDD引脚。这个电路会在总线处于高电平时偷能量,部分汲取的能量存储在寄生电源储能电容(Cpp)内,在总线处于低电平时释放能量以提供给器件能量。当DS18B20处于寄生电源模式时,VDD引脚必须接地。寄生电源模式下,单总线和Cpp在大部分操作中能提供充分的满足规定时序和电压的电流(见直流电特性和交流电特性节)给DS18B20。然而,当DS18B20正在执行温度转换或从高速暂存器向EPPROM传送数据时,工作电流可能高达1.5mA。这个电流可能会引起连接单总线的弱上拉电阻的不可接受的压降,这需要更大的电流,而此时Cpp无法提供。为了保证DS18B20由充足的供电,当进行温度转换或拷贝数据到EEPROM操作时,必须给单总线提供一个强上拉。用漏极开路把I/O直接拉到电源上就可以实现,见图4。在发出温度转换指令[44h]或拷贝暂存器指令[48h]之后,必须在至多10us之内把单总线转换到强上拉,并且在温度转换时序(tconv)或拷贝数据时序(ter=10ms)必须一直保持为强上拉状态。当强上拉状态保持时,不允许有其它的动作。对DS18B20供电的另一种传统办法是从VDD引脚接入一个外部电源,见图5。这样做的好处是单总线上不需要强上拉。而且总线不用在温度转换期间总保持高电平。温度高于100℃时,不推荐使用寄生电源,因为DS18B20在这种温度下表现出的漏电流比较大,通讯可能无法进行。在类似这种温度的情况下,强烈推荐使用DS18B20的VDD引脚。对于总线控制器不直到总线上的DS18B20是用寄生电源还是用外部电源的情况,DS18B20预备了一种信号指示电源的使用意图。总线控制器发出一个SkipROM指令[CCh],然后发出读电源指令[B4h],这条指令发出后,控制器发出读时序,寄生电源会将总线拉低,而外部电源会将总线保持为高。如果总线被拉低,总线控制器就会知道需要在温度转换期间对单总线提供强上拉。DS18B20温度转换期间的强上拉供电图4外部电源给DS18B20供电图564位(激)光刻只读存储器每只DS18B20都有一个唯一存储在ROM中的64位编码。最前面8位是单线系列编码:28h。接着的48位是一个唯一的序列号。最后8位是以上56位的CRC编码。CRC的详细解释见CRC发生器节。64位ROM和ROM操作控制区允许DS18B20作为单总线器件并按照详述于单总线系统节的单总线协议工作。64位(激)光刻只读存储器图68位CRC48位序列号8位系列码存储器DS18B20的存储器结构示于图7。存储器有一个暂存SRAM和一个存储高低报警触发值TH和TL的非易失性电可擦除EEPROM组成。注意当报警功能不使用时,TH和TL寄存器可以被当作普通寄存器使用。所有的存储器指令被详述于DS18B20功能指令节。位0和位1为测得温度信息的LSB和MSB。这两个字节是只读的。第2和第3字节是TH和TL的拷贝。位4包含配置寄存器数据,其被详述于配置寄存器节。位5,6和7被器件保留,禁止写入;这些数据在读回时全部表现为逻辑1。高速暂存器的位8是只读的,包含以上八个字节的CRC码,CRC的执行方式如CRC发生器节所述。数据通过写暂存器指令[4Eh]写入高速暂存器的2,3和4位;数据必须以位2为最低有效位开始传送。为了完整的验证数据,高速暂存器能够在数据写入后被读取(使用读暂存器指令[BEh])。在读暂存器时,数据以位0为最低有效位从单总线移出。总线控制器传递从暂存器到EEPROMTH,TL和配置数据必须发出拷贝暂存器指令[48h]。EEPROM寄存器中的数据在器件掉电时仍然保存;上电时,数据被载入暂存器。数据也可以通过召回EEPROM命令从暂存器载入EEPROM。总线控制器在发出这条命令后发出读时序,DS18B20返回0表示正在召回中,返回1表示操作结束。DS18B20存储器图图7*上电状态依赖于EEPROM中的值配置寄存器存储器的第4位为配置寄存器,其组织见图8。用户可以通过按表3所示设置R0和R1位来设定DS18B20的精度。上电默认设置:R0=1,R1=1(12位精度)。注意:精度和转换时间之间有直接的关系。暂存器的位7和位0-4被器件保留,禁止写入;在读回数据时,它们全部表现为逻辑1。配置寄存器图8温度计精确度配置表3CRC发生器CRC字节作为DS18B2064位ROM的一部分存储在存储器中。CRC码由ROM的前56位计算得到,被包含在ROM的重要字节当中。CRC由存储在存储器中的数据计算得到,因此当存储器中的数据发生改变时,CRC的值也随之改变。CRC能够在总线控制器读取DS18B20时进行数据校验。为校验数据是否被正确读取,总线控制器必须用接受到的数据计算出一个CRC值,和存储在DS18B20的64位ROM中的值(读ROM时)或DS18B20内部计算出的8位CRC值(读存储器时)进行比较。如果计算得到的CRC值和读取出来的CRC值相吻合,数据被无错传输。CRC值的比较以及是否进行下一步操作完全由总线控制器决定。当在DS18B20中存储的或由其计算到CRC值和总线控制器计算的值不相符时,DS18B20内部并没有一个能阻止命令序列进行的电路。CRC的计算等式如下:CRC=X8+X5+X4+1单总线CRC可以由一个由移位寄存器和XOR门构成的多项式发生器来产生,见图9。这个回路包括一个移位寄存器和几个XOR门,移位寄存器的各位都被初始化为0。从ROM中的最低有效位或暂存器中的位0开始,一次一位移入寄存器。在传输了56位ROM中的数据或移入了暂存器的位7后,移位寄存器中就存储了CRC值。下一步,CRC的值必须被循环移入。此时,如果计算得到的CRC是正确的,移
本文标题:DS18B20可编程分辨率的单总线
链接地址:https://www.777doc.com/doc-2910386 .html