技术中心
 
 

AD7711与TMS320F240接口设计

   日期:2012-09-19     来源:互联网    
核心提示:介绍温度调理芯片AD7711的寄存器和它的使用方法,接口电路和以C语言编写的TMS320F240接口子程序。

  外围接口电路

  图1是采用三线式连接方法,来消除温度传感器导线电阻影响的外围电路图。

         REF+是AD7711进行AD转换的参考正基准电源,REF+的安全电压是VSS-~AVDD的任意电压,在使用中应注意REF+的接入电压大于模拟输入量和编程放大倍数的乘积,否则将出现全1的转换结果。

  MODE(6)脚接地:表示控制串行数据读写的脉冲SCLK(1)是输入引脚,由外部MCU控制;MODE(6)接高电平则表示SCLK是输出引脚,MCU应根据SCLK的输出脉冲读写串行数据。

  RTD1(9),RTD2(10)是两个初始相对误差小于1%,温漂跟随精度3×10-6/℃的一致性非常好的一对200μA电流源。图示温度传感器采用三线连接方式,三根线的长度基本相同,电阻都是r,所以在IN+、IN-输入端产生相同的共模电压;经差分输入的电压信号只剩下IC激励Pt100所产生的电压。这样便消除了导线电阻,提高了测试精度。

  TFS=0:表示MCU向AD7711输出数据允许(写允许),RFS=0表示读允许,但是读/写不可同时有效。A0=0:表示对控制寄存器的读写;A0=1:表示对数据寄存器或标定寄存器进行读写;由控制寄存器高三位的值来选择数据寄存器或标定寄存器。MCU通过SCLK(1)/A0(4)/TFS(19)/RFS(20)/DRDY(21)/SDATA(22)六个管脚来完成对它的操作,图1用MCU(TMS320F240)的六个IO口与AD7711相连接。对器件进行读操作时DRDY和SDATA是输出管脚,其余是输入管脚;写操作时 SDATA是输入管脚,DRDY仍是输出,但是对写操作无影响。  在完成AD7711正确的线路连接后,需对其控制寄存器进行正确的配置才能工作。AD7711控制寄存器是一3字节RAM(即24位),如表1。

  (0)器件进入正常A/D转换模式,转换的结果保存在数据寄存器中。(01)对器件自身进行0输入校准和满量程自身校准。 (01)、(011)把(01)的0输入校准和满量程校准分两步实现。(1)系统漂移校准。(11)连续后台自动校准。 (11)、(111)分别对AD7711的0标定寄存器和满量程标定寄存器进行选择。

  G2G1G0:设置可编程放大器的放大倍数。A=2g,g是(G2/G1/G0)二进制转为十进制数。

  CH:选择输入通道(0:表示选择差分通道(IN+IN-);1:表示选择IN2(17)输入通道)。

  PD:功率控制。0:正常运行;1:低功耗。

  WL:AD转换结果位数设置。0:16位转换结果;1:24位转换结果。

  RO:供给传感器的激励电流。0:关断200μA激励电流;1:开通200μA激励电流。值得注意的是,在测量铂电阻两端电压时,需要分别选择通道1、2(CH=0、1),并使RO=1;否则并没有电流输出。

  BO:判断传感器烧断的4.5μA供给电流。0:关断;1:开通。当铂电阻传感器意外处于断开状态时,通过打开BO电流,AD转换结果全1,判断传感器处于断路的故障状态。正常工作时BO=0关断电流。

  B/U:AD转换极性选择。0:双极性;1:单极性。

  FS11~FS0:滤波频率设置。片内低通滤波器频率设置公式:

  

  fclk是外接晶振的频率,一般为10MHz;code是FS11~FS0二进制转为十进制的值。计算出的频率(frequency)是AD7711转换数据刷新的频率,约为截止频率的3.8倍。

  2.1控制寄存器的读写

  对控制寄存器写:写控制寄存器的时序如图2所示。A0(4)=0选中控制寄存器,TFS(19)=0/RFS(20)=1表示写允许,使能SCLK。在 SCLK脉冲的上升沿,把SDATA(22)的数据送入控制寄存器,所以SDATA上的送入数据应比SCLK的上升沿信号先有效。每个SCLK送入一位,高位在前低位在后,必须一次送入24位,如果少于24位,该次写命令无效,如果多于24位多于部分被忽略。

  在对控制寄存器高三位写(11)或(111)指令后,下一条指令是对标定寄存器读写。(11)表示后序的操作针对0标定寄存器, (111)则表示针对满量程标定寄存器。在对标定寄存器读写时A0=1,每次写入都应是24位。所以对标定寄存器操作的时序图与控制寄存器操作的时序图唯一的不同是:A0是高电平而非低电平。

  2.3数据寄存器的读取

  读数据寄存器的时序如图4所示。数据寄存器中保存AD的转换结果,DRDY=0表示已有新结果数据保留其中,如果数据没有被及时读出,数据寄存器中的数据会被实时更新。当DRDY=0,在RFS的下降沿首先把MSB 送出,然后在SCLK的下降沿依次把后序数据从数据寄存器输出到SDATA上,当最后一位数据被送出后,DRDY输出变为高电平,并关断SDATA信号的输出。

  只要遵循时序图,任意MCU都可以利用其通用I/O管脚对AD7711进行控制。使AD7711进行正常工作,最少要编写写控制寄存器和读数据寄存器两个子程序,若为了检验写入控制寄存器内容是否正确,需要编写控制寄存器读子程序。如果编写了标定寄存器的读写子程序还可以直接修改标定寄存器内容,增加控制的灵活性。由于编写这些子程序都很类似,所以下面只给出控制寄存器写子程序。

  

  

  两次调用该函数分别对IN2和IN1(IN+,IN-)通道进行设置。3a50c4表示:MD2/MD1/MD0=0/0/1即0输入和满量程输入自校准;G2/G1/G0=1/1/0:放大倍数26=64;WL=0表示16位AD转换,RO=1打开200μA激励电流,滤波频率10MHz/512 /0x0c4=100Hz,对应的截止频率是26Hz。需要注意的是:即使只使用一个通道,也要对两个通道进行设置,否则两个高精度跟随电流源不会打开。  AD7711集成了Pt100调理电路的所需元件,简化了电路设计,给高精度测温带来了极大方便,同时使可靠性、稳定性得到了保证。笔者把它用在高精度动态控温仪器中,效果理想。

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢