编辑: huangshuowei01 | 2014-06-10 |
476485321 3 那么这一问题将变得特别尖锐. 有两种方法确保 DSl820 在其有效变换期内得到足够的电源电流.第一种方法是发生温度变换时,在I/0 线上提供一 强的上拉.如图
2 所示,通过使用一个 MOSFET 把I/0 线直接拉到电源可达到这一点.当使用寄生电源方式时 VDD 引脚 必须连接到地. 向DSl820 供电的另外一种方法是通过使用连接到 VDD 引脚的外部电源,如图
3 所示.这种方法的优点是在 I/0 线上 不要求强的上拉.总线上主机不需向上连接便在温度变换期间使线保持高电平.这就允许在变换时间内其它数据在单线上 传送.此外,在单线总线上可以放置任何数目的 DSl820,而且如果它们都使用外部电源,那么通过发出跳过(Skip)ROM 命令和接着发出变换(Convert)T 命令,可以同时完成温度变换.注意只要外部电源处于工作状态,GND(地)引脚不可 悬空. 图2强上拉在温度变换期内向 DSl820 供电 在总线上主机不知道总线上 DSl820 是寄生电源供电还是外部 VDD 供电的情况下, 在DSl820 内采取了措施来通知采用 的供电方案.总线上主机通过发出跳过(Skip)ROM 的操作约定,然后发出读电源命令,可以决定是否有需要强上拉的 DSl820 在总线上.在此命令发出后,主机接着发出读时间片.如果是寄生供电,DSl820 将在单线总线上送回
0 ;
如果 由VDD 脚供电,它将送回
1 .如果主机接收到一个
0 ,它知道它必须在温度变换期间在 I/0 线上供一个强的上拉. 有关此命令约定的详细说明,见 存贮器命令功能 一节. 2.3 运用 ― 测量温度 DSl820 通过使用在板(on-board)温度测量专利技术来测量温度.温度测量电路的方框图见图
4 所示. 图3使用 VDD 供温度变换所需电流 DS18B20 单总线数字温度计 电子驿站 更多的单片机资料、源程序及单片机教程请登陆网站下载! http:// www.ourmpu.com E-mail:[email protected] QQ:451338524
476485321 4 图4温度测量电路 DSl820 通过门开通期间内低温度系数振荡器经历的时钟周期个数计数来测量温度, 而门开通期由高温度系数振荡器决 定.计数器予置对应于-55℃的基数,如果在门开通期结束前计数器达到零,那么温度寄存器也被予置到-55℃的数值增量, 指示温度高于-55℃. 同时,计数器用斜率累加器电路所决定的值进行予置.为了对遵循抛物线规律的振荡器温度特性进行补偿,这种电路 是必需的.时钟再次使计数器计值至它达到零.如果门开通时间仍未结束,那么此过程再次重复. 斜率累加器用于补偿振荡器温度特性的非线性,以产生高分辩率的温度测量.通过改变温度每升高一度,计数器必须 经历的计数个数来实行补偿.因此,为了获得所需的分辩率,计数器的数值以及在给定温度处每一摄氏度的计数个数(斜 率累加器的值)二者都必须知道. 此计算在 DSl820 内部完成以提供 0.5℃的分辩率.温度读数以
16 位、符号扩展的二进制补码读数形式提供.表l说明 输出数据对测量温度的关系.数据在单线接口上串行发送.DSl820 可以以 0.5℃的增量值,在0.5℃至+125℃的范围内测量 温度.对于应用华氏温度的场合,必须使用查找表或变换系数. 注意,在DSl820 中,温度是以 1/2℃ LSB(最低有效位)形式表示时,产生以下
9 位格式: MSB(最高有效位) (最低有效位)LSB 最高有效(符号)位被复制到存储器内两字节的温度寄存器中较高 MSB 的所有位,这种 符号扩展 产生了如表