当前位置:首页 > 测试测量 > 测试测量
[导读]出一种基于DSl8820的1一Wire总线的嵌入式测温系统的软硬件设计,详细介绍了数字温度传感器DSl8820和桥接器DS2480B的内部结构、工作原理及使用方法;给出基于1一Wire操作的时序图和部分驱动代码,并时代码做出比较详细的说明。给出系统硬件电路逻辑,并对硬件电路中的细节问题做了说明。在以往的应用中,大多为PC机通过串口控制测温芯片DSl8820和桥接器DS2480B进行温度测量。采用单片机C8051F040代替传统的PC机,通过片上UART对测温芯片进行控制,在空间狭小的特殊嵌入式环境中对温度值进行采集。经实践证明电路系统工作正常,温度采集效果良好。

温度作为一种基本的环境因素,直接影响着工业控制、化工、医药、航空航天等生产工艺过程。因此如何安全、可靠、快速地取得温度值就显得尤为重要。随着计算机软件、硬件技术及集成电路工业的迅速发展,各种温度采集技术不断出现。这里介绍一种基于DSl8820的1一Wire总线嵌入式测温系统设计
    1一Wire总线是美国Dallas公司的一项专有技术——单总线技术(1一Wire Bus Technology),该技术在理论上每条总线连接的1一Wire器件数量可达248。支,适用于单主机、多从设备的系统。它与其他串行通信方式最大的不同在于它采用单根信号线双向传输数据。以其节省I/0口线资源,成本低廉,体积小,便于总线扩展和维护等优点,在串行数据通信领域占有越来越重要的地位。
    1一Wire网络构成简单,一般情况下只使用电源线、地线、信号线3条线,当使用寄电方式供电时只需电源/信号线和地线2根线。
    DSl8820是Dallas公司生产的一种简便易用的数字式温度传感器。它体积小巧,温度测量范围广(一55~+125℃),测量分辨率可选,分别为0.062 5 oC,0.125℃,0.25℃,0.5℃。

1 主要器件结构及工作原理
1.1 DSl8820结构及工作原理

    Dallas公司生产的DSl8820可编程单总线数据温度传感器共有3种封装形式:8管脚SO封装、8管脚μSOP封装和3管脚TO一92封装。该设计中为了节省空间采用3管脚的TO一92封装,它的管脚排列图和底视图如图1所示,其中GND为接地管脚,VDD为外部供电电源管脚,DQ为数据输入/输出管脚。

    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码。
    DSl8820有2种供电方式:寄电方式和外部供电方式。寄电方式非常适用于需要远程温度测量和空间受限的场合。当工作于这种方式时,管脚3必须接地。总线处于高电平时DSl8820通过DQ管脚从1一Wire网络上窃取能量并存储一部分电荷到寄电电容中,总线处于低电平时释放寄电电容中的电荷给DSl8820供电。在寄电方式中寄电电容中存储的电荷能满足DSl8820大部分操作的要求,但是当执行温度转换和数据拷贝命令时操作电流提高到1.5 mA,这将导致内部弱上拉电阻上产生不可接受的压降,同时这个电流也高于寄电电容能够提供的电流,所以必须外接强上拉电路以满足这一类命令的要求。当处于外部供电方式下时则不需要外接强上拉电路,直接通过管脚3从外部供电。

    在温度超过100℃条件时,处于寄电方式下的DSl8B20可能不能保证正常通信,所以在某些特殊场合下使用外部供电方式比寄电方式更加可靠。DSl8820是一种可编程的基于1一Wire总线标准的数字式温度传感器,可以通过SRAM中的配置寄存器来选择测量分辨率,其上电默认值为12位精度,对应分辨率为0.062 5℃。其他可选择的精度包括11位、 10位和9位,对应的分辨率分别为O.125℃,O.25℃, O.5℃。DSl8820上电后处于空闲状态,可通过微处理器发送转换命令44H来启动1次温度测量和A/D转换,并将结果存储在温度寄存器中,此后DSl8820返回空闲状态。如果Dsl8820处于外部供电模式,微处理器可以发送“读时隙”来查看温度采集转换过程是否完毕,如果结束则应答为1,没结束则应答为O。如果 DSl8820处于寄电方式下则不能使用该功能。DSl8820的温度数据值是以摄氏度为单位的。
1.2 DS2480B介绍及工作原理
    1一Wire通信协议可以通过微处理器上的一个I/O 引脚实现,但是要创建可靠的1一Wire网络,必须提供正确的时序和适当的输出电压摆率,如果1一Wire主机发送的时序不正确会导致与1一Wire从器件之间的通信间断或完全失败,并限制网络的长度。DS2480B是从串行接口到1一Wire网络协议转换的桥接器。使用这个桥接器和UART连接就能产生严格定时和电压摆率控制的1一Wire波形,并能减轻主机产生1一Wire时序信号和对1一Wire总线进行采样的负担。Ds2480B 接收指令与数据,执行1一Wire操作,并将结果返回至主机。图3为1一Wire复位操作、写1/读数据操作、写 0操作的时序图,这3种操作是1一Wire操作中必须具备的基本操作,几乎所有的其他1一Wire操作都可以由这3种操作构成。由于该设计工作在Flexible模式下,以下提供的参数都是Flexible模式下适用的参数。

1.2.1 复位/应答时序
    DS2480B接到主机复位命令后将总线拉低512 μs后释放总线,等待2μs(短路/中断采样)后检测总线上是否有短路或中断信号,如果没有则等待8μs(应答采样)后检测总线上是否有应答脉冲,再等待512μs(延迟)后向主机发送命令应答字。如果总线上有短路或中断信号则等待4 096 μs后再次检测总线。时序如图3所示。
1.2.2 写1/读数据时序
    DS2480B在写1/读数据时序中先将总线拉低8~15 μs(写1低),3~10μs(数据采样)数据采样偏移后对总线采样并读从器件应答。再经过49 μs(等待高)1/读数据时序结束。时序图如图4所示。
l. 2.3 写0时序
    DS2480B的写O时序中先将总线拉低57弘s(写O低)然后释放总线,3~10μs后写0时序结束。如图5所示。

    DS2480B可以被看作包含2个静态和多个动态的状态机。上电后DS2480B自动进入两个静态之一的命令模式。此时主机应向DS2480B发送1次复位命令,用来校准DS2480B内部的时序产生器,所有的1一Wire通信过程都必须以复位命令开始。此后DS2480B准备好接收及执行任何合法命令。在命令模式下微处理器可以改变1一Wire网络的通信速度、供电方式、改变1一wire通信波形等。DS2480B从命令模式转换到下一个静态一数据模式后将从TXD管脚上收到的信息字节转换成相应的1一Wire通信波形并将从器件返回的应答字节通过RXD管脚返回给微处理器。也就是说对1一wire从器件DSl8820的操作必须在数据模式下进行。

2 系统设计
   
系统设计包括硬件设计和软件设计2部分。
2.1 系统硬件设计
   
与DS2480B桥接器一起工作的UART应支持8位字长、无奇偶校验、9 600波特率(b/s)的通信方式。该系统采用Silicon公司生产的C8051F040作为主处理器,(;8051F040有2个uART串口,且满足桥接器对UART的要求。温度采集转换芯片为Dallas公司生产的DSl8820。系统原理图如图6所示。

    其中从C8051F040的UART到DS2480B需用1片QS3245进行3~5 V的电平转换。1一Wire总线上过多的噪声会影响l—wire通信的正确性,为了滤除电路中的噪声保护。DS2480B的1一Wire端口不受静电损伤DS2480B的1一w管脚外接RC滤波电路。在本设计中只涉及到基本DS2480B操作,在需要进行EPROM编程的设计中应串接2个DS9503。
2.2 系统软件设计
    给出的1一Wire总线驱动程序是结合图4所述电路,以C8051F040单片机为主控制器,使用内部时钟频率24.5 MHz编写而成,其中包括DS24.80B复位子程序、DS2480B初始化子程序、总线复位子程序、温度采集子程序、温度值读取子程序。C8051F040系统内部有64 KB FLASH存储器可以用来存储程序代码。C代码设计调试工具为Silicon公司提供的单片机集成开发环境。
    控制器上电后,对自身和DS2480B进行初始化并与DS2480B取得同步。由于DS2480B中没有晶振,它必须通过采样主机发送的字节来调节自身的时基。主控制器在低于9 600波特率条件下发送1次0字节可以产生1次复位信号。Ds2480B复位后所有参数恢复到缺省状态,在该设计中1一Wire网络长度在10 m之内,属于小型长度,为了取得良好的性能,选择在“flexi—ble speed”下进行标准速度通信。对DS2480B复位和初始化是进行正确1一Wire通信的前提,当网络中应答数据包长度或格式不正确时,也必须重新对DS2480B复位和初始化。
    所有的1一Wire操作都是从复位1一Wire总线开始的。每次采集温度值和读取温度值操作前最好对总线进行1次复位操作,同时检测来自总线上的从器件的在线应答脉冲。驱动程序流程图如图7所示,部分程序代码如下所示:

   

   

3 结 语
    介绍一种1一Wire总线嵌入式测温系统,并给出了硬件电路及部分驱动代码。该系统具有设计简单,扩展方便,占用主控制器资源少,软件控制方便易于实现自动化测试等特点,并成功应用于工程实践中。在设计成本、费用和复杂度方面相对于CAN,RS 485等总线有着无可比拟的优势,更适合小型工控系统使用,在今后的工业应用领域中必将有着更为广阔的空间。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭