DS1820
单线数字温度计
特性
•
•
•
•
•
•
•
•
•
•
•
独特的单线接口仅需一个端口引脚进行通讯
简单的多点分布应用
无需外部器件
可通过数据线供电
零待机功耗
0
0
测温范围-55~+125℃,以
0.5℃递增。华氏器件-67~+257 F,以 0.9 F
递增
温度以
9
½数字量读出
温度数字量½换时间
200ms(典型值)
用户可定义的非易失性温度报警设½
报警搜索½令识别并标志超过程序限定温度(温度报警条件)的器件
应用包括温度控制、工业系统、消费品、温度计或任½热感测系统
说明
DS1820
数字温度计以
9
½数字量的½式反映器件的温度值。
DS1820
通过一个单线接口发送或接收信息,因此在中央微处理器和
DS1820
之间仅需一条连
接线(加上地线)。用于读写和温度½换的电源可以从数据线本身获得,无需外部电源。
因为每个
DS1820
½有一个独特的片序列号,
所以多只
DS1820
可以同时连在一根单线总线上,
这样就可以把温度传感器放在许多不同的地方。这一特性在
HVAC
环境控制、探测建筑物、仪
器或机器的温度以及过程监测和控制等方面非常有用。
引脚说明
16
脚
SSOP PR35
符号
9
8
7
1
2
3
GND
接地
说明
DQ
数据输入/输出脚。对于单线操½:漏极开路(见“寄生电源”节)
VDD
可选的
VDD
引脚。具½接法见“寄生电源”节
DS1820S(16
脚
SSOP):所有上表中未提及的引脚½无连接。
概览
图
1
的方框图示出了
DS1820
的主要部件。DS1820 有三个主要数字部件:1)64 ½激光
ROM,
2)温度传感器,3)非易失性温度报警触发器 TH
和
TL。器件用如下方式从单线通讯线上汲
取½量:在信号线处于高电平期间把½量储存在内部电容里,在信号线处于½电平期间消耗
电容上的电½工½,直到高电平到来再给寄生电源(电容)充电。DS1820 也可用外部
5V
电
源供电。
DS1820
依靠一个单线端口通讯。在单线端口条件下,必须先建立
ROM
操½协议,才½进行存
储器和控制操½。因此,控制器必须首先提供下面
5
个
ROM
操½½令之一:1)读
ROM,2)
匹配
ROM,3)搜索 ROM,4)跳过 ROM,5)报警搜索。这些½令对每个器件的激光 ROM
部分
进行操½,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指
明有多少器件或是什么型号的器件。成功执行完一条
ROM
操½序列后,即可进行存储器和控
制操½,控制器可以提供
6
条存储器和控制操½指令中的任一条。
一条控制操½½令指示
DS1820
完成一次温度测量。测量结果放在
DS1820
的暂存器里,用一
条读暂存器内容的存储器操½½令可以把暂存器中数据读出。温度报警触发器
TH
和
TL
各由
一个
EEPROM
字节构成。如果没有对
DS1820
½用报警搜索½令,这些寄存器可以做为一般用
途的用户存储器½用。可以用一条存储器操½½令对
TH
和
TL
进行写入,对这些寄存器的读
出需要通过暂存器。所有数据½是以最½有效½在前的方式进行读写。
寄生电源
寄生电源的方框图见图
1。这个电路会在 I/O
或
VDD
引脚处于高电平时“偷”½量。½有特
定的时间和电压需求时(见节标题“单线总线系统”),I/O 要提供足够的½量。寄生电源
有两个½处: 进行远距离测温时,
1)
无需本地电源, 可以在没有常规电源的条件下读
ROM。
2)
要想½
DS1820
½够进行精确的温度½换,I/O 线必须在½换期间保证供电。由于
DS1820
的
工½电流达到
1mA,所以仅靠 5K
上拉电阻提供电源是不行的,½几只
DS1820
挂在同一根
I/O
线上并同时想进行温度½换时,这个问题变得更加尖锐。
有两种方法½够½
DS1820
在动态½换周期中获得足够的电流供应。第一种方法,½进行温度
2
给
用
½换或拷贝到
E
存储器操½时,
I/O
线提供一个强上拉。
MOSFET
把
I/O
线直接拉到电源
上就可以实现,见图
2。在发出任½涉及拷贝到 E
2
存储器或启动温度½换的协议之后,必须
在最多
10μs
之内把
I/O
线½换到强上拉。½用寄生电源方式时,VDD 引脚必须接地。
另一种给
DS1820
供电的方法是从
VDD
引脚接入一个外部电源,见图
3。这样做的½处是 I/O
线上不需要加强上拉,而且总线控制器不用在温度½换期间总保持高电平。这样在½换期间
可以允许在单线总线上进行其他数据往来。另外,在单线总线上可以挂任意多片
DS1820,而
且如果它们½½用外部电源的话,就可以先发一个
Skip ROM
½令,再接一个
Convert T
½令,
让它们同时进行温度½换。注意½加上外部电源时,GND 引脚不½悬空。
温度高于
100℃时,
不推荐½用寄生电源,
因为
DS1820
在这种温度下表现出的漏电流比较大,
通讯可½无法进行。在类似这种温度的情况下,强烈推荐½用
DS1820
的
VDD
引脚。
对于总线控制器不知道总线上的
DS1820
是用寄生电源还是用外部电源的情况,DS1820 预备
了一种信号指示电源的½用意图。
总线控制器发出一个
Skip ROM
协议,
然后发出读电源½令,
这条½令发出后,控制器发出读时间隙,如果是寄生电源,DS1820 在单线总线上发回“0”,
如果是从
VDD
供电,则发回“1”,这样总线控制器就½够决定总线上是否有
DS1820
需要强
上拉。如果控制器接收到一个“0”,它就知道必须在温度½换期间给
I/O
线提供强上拉。这
个½令协议详见“存储器操½½令”节。
测温操½
DS1820
通过一种片上温度测量技术来测量温度。图
4
示出了温度测量电路的方框图。
温度/数据关系(表
1)
温度℃ 数据输出(二进制) 数据输出(十六进制)
+125
+25
+1/2
0
-1/2
-25
-55
00000000 11111010 00FA
00000000 00110010 0032
00000000 00000001 0001
00000000 00000000 0000
11111111 11111111 FFFF
11111111 11001110 FFCE
11111111 10010010 FF92
DS1820
是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周
期内对一个½温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预½到对应于-55
℃的一个值。如果计数器在门周期结束前到达
0,则温度寄存器(同样被预½到-55℃)的值
增加,表明所测温度大于-55℃。
同时,计数器被复½到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补
偿感温振荡器的抛物线特性。然后计数器又开始计数直到
0,如果门周期仍未结束,将重复
这一过程。
斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过
改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必
须同时知道在给定温度下计数器的值和每一度的计数值。
DS1820
内部对此计算的结果可提供
0.5℃的分辨力。温度以 16bit
带符号½扩展的二进制补
码½式读出,表
1
给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。
DS1820
测温范围-55℃~+125℃,以
0.5℃递增。如用于华氏温度,必须要用一个½换因子查
找表。
注意
DS1820
内温度表示值为
1/2℃LSB,如下所示 9bit
格式:
最高有效(符号)½被复制充满存储器中两字节温度寄存器的高
MSB
½,由这种“符号½扩
展”产生出了示于表
1
的
16bit
温度读数。
可用下述方法获得更高的分辨力。首先,读取温度值,将
0.5℃½(LSB)从读取的值中截去,
这个值叫做
TEMP_READ。然后读取计数器中剩½的值,这个值是门周期结束后保留下来的值
(COUNT_REMAIN)。最后,我们用到在这个温度下每度的计数值(COUNT_PER_C)。用户可以
用下面的公式计算实际温度值:
报警搜索操½
DS1820
完成一次温度½换后,就拿温度值和存储在
TH
和
TL
中的值进行比较。因为这些寄存
器是
8
½的,所以
0.5℃½被½略不计。TH
或
TL
的最高有效½直接对应
16
½温度寄存器的
符号½。如果测得的温度高于
TH
或½于
TL,器件内部就会½½一个报警标识。每进行一次
测温就对这个标识进行一次更新。½报警标识½½时,DS1820 会对报警搜索½令有反应。这
样就允许许多
DS1820
并联在一起同时测温,如果某个地方的温度超过了限定值,报警的器件
就会被立即识别出来并读取,而不用读未报警的器件。
64
½(激)光刻
ROM
每只
DS1820
½有一个唯一的长达
64
½的编码。最前面
8
½是单线系列编码(DS1820 的编码
是
19h)。下面 48
½是一个唯一的序列号。最后
8
½是以上
56
½的
CRC
码。(见图
5)64
½
ROM
和
ROM
操½控制区允许
DS1820
做为单线制器件并按照详述于“单线总线系统”一节的
单线协议工½。只有建立了
ROM
操½协议,才½对
DS1820
进行控制操½。这个协议用
ROM
操
½协议流程图来描述(图
6)。单线总线控制器必须得天独厚提供 5
个
ROM
操½½令其中之
一:1)Read
ROM,2)Match ROM,3)Search Rom,4)Skip ROM,5)Alarm Search。成功
进行一次
ROM
操½后,就可以对
DS1820
进行特定的操½,总线控制器可以发出六个存储器和
控制操½½令中的任一个。
CRC
发生器
DS1820
中有
8
½
CRC
存储在
64
½
ROM
的最高有效字节中。
总线控制器可以用
64
½
ROM
中的
前
56
½计算出一个
CRC
值,再用这个和存储在
DS1820
中的值进行比较,以确定
ROM
数据是
否被总线控制器接收无误。CRC 计算等式如下:
8
5
4
CRC=X +X +X +1
DS1820
同样用上面的公式产生一个
8
½
CRC
值,把这个值提供给总线控制器用来校验传输的
数据。在任½½用
CRC
进行数据传输校验的情况下,总线控制器必须用上面的公式计算出一
个
CRC
值,和存储在
DS1820
的
64
½
ROM
中的值或
DS1820
内部计算出的
8
½
CRC
值(½读暂
存器时,做为第
9
个字节读出来)进行比较。CRC 值的比较以及是否进行下一步操½完全由
总线控制器决定。
½在
DS1820
中存储的或由其计算的
CRC
值和总线控制器计算的值不相符时,
DS1820
内部并没有一个½阻止½令序列进行的电路。
单线
CRC
可以用一个由移½寄存器和
XOR
门构成的多项式发生器来产生,见图
7。
评论