您的位置 首页 新能源

用I2C总线完成AD7416的多点温控体系

1AD7416器件结构AD7416采用节省空间的SO-8和小型SOIC封装。AD7416引脚说明引脚号名称说明1SDA数字I/O。双向数据串行总线,漏极开路输出2SCL数字输入。串行总线时钟3

  1 AD7416器材结构 AD7416选用节约空间的SO-8和小型SOIC封装。

  AD7416引脚阐明 引脚号 名 称 说 明 1 SDA 数字I/O。双向数据串行总线,漏极开路输出 2 SCL 数字输入。串行总线时钟 3 OTI 数字输出。超温掉电输出(漏极开路) 4 GND 电源地 5~7 A2~A0 数字输入。串行总线地址可编程低3位 8 +VS 正电源电压,+2.7~+5.5V 2 体系软硬件规划

  2.1 硬件规划 用单片机AT89C2051来完成对AD7416的信号收集和输出操控,硬件规划简略牢靠,体系温度节点可扩展性强。为保证体系不受电源动摇的搅扰,选用电源电压监视器TL7705A作体系复位操控器。假如AD7416要装在离电源较远处,AD7416有必要用一个0.1μF的陶瓷电容接在+VS和地之间去耦。

  如一切的I2C兼容器材相同,AD7416有一个7位串行地址。这个地址的高4位设定为1001,而低3位可由用户经过将A2~A0脚衔接到无论是+VS或GND来设置。经过它们不同的设定地址,可将多达8个AD7416接到一条串行总线,超越8个,则将与总线上的其它器材发生冲突。 假如需求收集更多的温度节点,可选用多条串行总线的办法来扩展。 此例中,AT89C2051的P1,1脚用作I2C串行总线的时钟信号线,P1.0脚用作双向串行数据总线。经过从硬件大将AD7416的地址引脚A0、A1、A2接至不同电平,然后完成对每片AD7416的编址。

  2.2 寄存器结构

  对AD7416编程要注意其内部寄存器的结构,每片AD7416有5个内部寄存器,其间4个是数字寄存器而1个是地址指针寄存器。地址指针寄存器是一个8位寄存器,贮存指向4个数据寄存器之一的地址。AD7416每一次串行写操作的第一个数据字节是数据寄存器的地址,这便是随后的数据字节要写入的地址。这个寄存器只须最低两位被用来挑选一个数据寄存器,。

  地址指针寄存器 P7* P6* P5* P4* P3* P2* P1* 0 0 0 0 0 0 0 地址指针寄存器最低两位所选的数据寄存器。

  寄存器地址 P1 P0 寄存器 0 0 温度值(只读,上电缺省) 0 1 装备(读/写) 1 0 THYST(读/写) 1 1 TOTI(读/写) 温度值寄存器是一个16位只读寄存器,它的高10位以2的补码格局贮存由A/D转化器送来10位温度读数,低6位未用。温度数据格局。

  温度数据格局 温度/℃ 数字输出 温度/℃ 数字输出 -75 10 1101 0100 +0.25 00 0000 0001 -50 11 0011 1000 +10 0 0001 01000 -25 11 1001 1100 +25 0 0011 00100 -0.25 11 1111 1111 +50 0 0110 01000 0 00 0000 0000 +75 0 1001 01100 装备寄存器是一个8位读/写寄存器,用来设置AD7416的工作办法。 TRYST设点寄存器是一个16位读/写寄存器,它的9个最高位贮存以2的补码格局表明的低温度门限设点。 TOT1设点寄存器是一个16位读/写寄存器,它的9个最高位存储以2的补码格局表明的高温度门限设点。 AD7416上电时地址指针指向温度值寄存器,TOT1设点寄存器的值为80℃,THYST设点寄存器的值为75℃,这些缺省使得AD7416能够用于规范的恒温器而不需求与任何行总线衔接。

  2.3 工作办法挑选 AD7416有两种工作办法,办法的挑选由体系工作状况来决议。 在工作办法1状况下,装备寄存器高3位D7~D5有必要坚持位0,最低位D0=0为正常工作办法。每400μs进行一次转化,旦转化完毕,器材将部分地下降功耗(典型状况为350μA),直至下一次转化开端。 工作办法2由装备寄存器的最低位D0=1来发动,适合于比较慢的速率测温体系中。经过写AD7416使之进入一个在两次读操作之间处于全掉电状况,这样,器材的功耗能够更低。在全掉电时,电流耗费典型值为0.2μA。

  2.4 软件规划 软件规划选用虚拟I2C总线软件包VIIC[1],该软件包具有最佳包容性规划、归一化规划以及运用界面规划等特征。在此软件包为渠道来进行软件规划能够不用了解I2C总线原理、协议和时序,只需了解该软件包的运用操作即可,使程序更具模块化、调试简略等长处。 软件包规则了读/写N字节数据子程序为专一出口界面,因而,由调用该读/写子程序及满意调用操作的初始化操作的三条指令即构成软件包的运用界面,即 MOV SLA,#SLAW/SLAR ;寻址字节寄存单元寄存总线 ;上节点寻址并确认数据传送方向 MOV NUMBYT,#N ;传送字节数存储单元寄存 ;需求传送的N字节 LCALL WRNBYT/RDNBYT:调用读/写N字节数据子程序 三条初始化指令决议了CPU对总线上节点的寻址和数据传送方向以及需求传送的字节数N。在详细运用该软件包时,只需求对软件包的运用界面进行操作即可,然后避免了规划者有必要从I2C总线原理上对扩展的I2C总线外围器材进行繁琐的运用程序规划。 体系程序流程如图4所示。 读两字节的温度值寄存器时序。

  3 长途离温度数据收集的完成办法

  本实例中要求丈量近20m的温度节点,为了简化体系硬件规划,没有运用缓冲器进行驱动;而经过加恰当的上拉电阻,以取得必定的上拉电流使信号收集牢靠。在实践运用体系中,上拉电阻值由I2C总线体系中信号所需的上升时间决议。近似地以为整修体系的时间常数为1μs。关于每个别离的总线,其上拉电阻计算式为 Rp=1μs/(Cd+Cw) 式中:Cd为连到每个总线上的器材电容的和;Cw为每个线上的悉数导线电容和杂散电容。 体系中电容预算:I2C器材电容约为80 pF;杂散电容约为80 pF;导线电容约为1500 pF。因而,总线体系的上拉电阻为 Rp=1μs/(80pF+80pF+1500pF)=602Ω 为使数据收集牢靠,选用了Rp=510Ω的电阻。因为上拉电阻遭到最大拉电流约束,所以应查看上拉电流不超越30mA。本例上拉电流(5-0.4)V/Rp=9.02mA<30mA,查看经过。 调试中发现,下降上拉电阻阻值后大大改进了通讯状况,但有时依然会有误码现象呈现,所以在软件上下降了通讯的频率。将频率由400 kb/s下降到200 kb/s,经过怠慢通讯速度来进步通讯牢靠性。实践证明,处理之后的温度值读取安稳牢靠。

  完毕语 笔者用AD7416所规划的多路温湿度循环检测操控仪,温度检测精确牢靠,不易受环境搅扰,为整个体系的正常运转供给了牢靠性保证。

 

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/203182.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部