嵌入式测温在1一Wire总线上的应用

嵌入式设计应用

132人已加入

描述

  1 首要器件结构及工作事理

  1.1 DSl8820结构及工作事理

  Dallas公司出产的DSl8820可编程单总线数据温度传感器共有3种封装形式:8管脚SO封装、8管脚μSOP封装和3管脚TO一92封装。该设计中为了节约空间采用3管脚的TO一92封装。 

       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操作,并将功效返回至主机。 

        1.2.1 复位/应答时序

  DS2480B接到主机复位呼吁后将总线拉低512 μs后释放总线,期待2μs(短路/间断采样)后检测总线上是否有短路或间断旌旗灯号,若是没有则期待8μs(应答采样)后检测总线上是否有应答脉冲,再期待512μs(延迟)后向主机发送呼吁应答字。若是总线上有短路或间断旌旗灯号则期待4 096 μs后再次检测总线。

  1.2.2 写1/读数据时序

  DS2480B在写1/读数据时序中先将总线拉低8~15 μs(写1低),3~10μs(数据采样)数据采样偏移后对总线采样并读从器件应答。再经由49 μs(期待高)1/读数据时序竣事。  

       l. 2.3 写0时序

  DS2480B的写O时序中先将总线拉低57弘s(写O低)然后释放总线,3~10μs后写0时序竣事。 

        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。 


  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次复位操作,同时检测来自总线上的从器件的在线应答脉冲。 

     3 结 语

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

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分