温度作为一种基本的环境因素,直接影响着工业控制、化工、医药、航空航天等生产工艺过程。因此如何安全、可靠、快速地取得温度值就显得尤为重要。随着计算机软件、硬件技术及集成电路工业的迅速发展,各种温度采集技术不断出现。这里介绍一种基于DSl8820的1一Wire总线的嵌入式测温系统设计。
1一Wire总线是美国Dallas公司的一项专有技术——单总线技术(1一Wire Bus Technology),该技术在理论上每条总线连接的1一Wire器件数量可达248。支,适用于单主机、多从设备的系统。它与其他串行通信方式最大的不同在于它采用单根信号线双向传输数据。以其节省I/0口线资源,成本低廉,体积小,便于总线扩展和维护等优点,在串行数据通信领域占有越来越重要的地位。
DSl8820内部结构如图2所示,包括供电电路、64 b ROM、内部存储器和存储器控制逻辑4部分。64 b ROM中存储着每个DSl8820芯片独有的64位ROM ID码,这是系统用来识别DSl8820芯片的标志。其中最低8位是DSl8820的家族码:28H。中间48位是每片DSl8820独有的串行码。最高8位是用前56位计算得到的循环冗余校验码。
内部存储器由9。Byte SRAM和3 B E。PROM组成。SRAM中:ByteO和Bytel是温度寄存器,用来存储采集到的温度值。Byte0的内容是温度的低8位,Bytel是温度的高8位。。Byte2和Byte3为高低温警报寄存器。Byte4为配置寄存器,用来设置器件温度采集精度。这3个字节中的值可以拷贝到E。PROM中,保证掉电后数据不会丢失,重新上电后E。PROM中的值将自动重载人SRAM中。Byte5,Byte6,Byte7保留为内部使用。Byte8存储CRC码。