这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » ADS8344数据采集

共1条 1/1 1 跳转至

ADS8344数据采集

工程师
2014-12-08 19:58:46     打赏
 数据采集在工业测试系统中是一个很重要的环节,其精确性和可靠性是至关重要的。本文阐述的数据采集系统精度高达16位,能够对8个外部模拟通道进行A/D采样,最大模拟输入信号范围达到-15~+15V。该系统具有限幅保护功能,程序编写简便,能够实现对远端数据的采集和传输。

  1 系统硬件设计


  数据采集系统框图如图1所示。



  图中,A/D转换器采用了TI公司的16位逐次逼近型ADS8344;FPGA主要用于控制ADC的启动、停止和查询ADC状态等,同时对数据进行高速数据缓冲、异步数据编解码、无线信道编解码等数据处理。


  1.1 主要芯片ADS8344


  ADS8344是一款高性能、低功耗的ADC,采用2.7~5V单电源供电,最大采样频率为100 kHz,信噪比达84dB,自带采样/保持电路,包含8个单端模拟输入通道(CH0~CH7),也可合成为4个差分输入。参考电压VRFF的范围为500mV~VCC,相应的每个模拟通道的输入为0V~VREF,DS8344是通过三线SPI接口与FPGA相互通信的,数据从DIN引脚输入到8位只写控制寄存器。当FPGA读取完ADC上次转换 




结果时,下一个转换通道的控制字节就写到了DIN引脚。一个完整的控制字节需要8个DCLK时钟。写完控制字节的同时,模/数转换结束,模/数转换状态输出引脚BUSY产生一下降沿,数据输出有效,FPGA开始接收由DCUT输出的转换结果。16位串行数据需要16个DCLK时钟,在接收串行数据的LSB位时,下一个通道的控制字开始输入到A/D芯片。ADS8344完成一次完整的数据采样保持、转换和输出共需要25个DCLK时钟。ADS8344串行接口时序如图2所示。



  1.2 信号调理电路


  数据采集前端的调理电路如图3所示。2个运放选用的是TI公司的精密仪表放大器OPA277。由于输入模拟电压信号为双极性,范围为一15~+5 V,而ADX8344模拟输入通道为O V~VREF(本系统是+5 V),所以必须对输入信号进行单极性转换。


数据采集前端的调理电路


  其传递函数为:



  式中:VOUT为转换后的单极性电压信号;VREF由电压基准源提供,在图中是+2.5V;VIN为输入的一15~+15 V电压信号。当R3=6R1、R4=6R2时,传递函数可化简为:



  可见,传递函数是线性函数。只要正确选择精确的电阻值,一15~+15 V电压信号可线性转换为O~+5V,从而保证了系统的精度。


  1.3 无线通道


  本系统是按用户的要求设计开发的,其中,无线通道是由用户提供的。本系统采用的无线通道是点对点传输,传输距离最远达40 km,传输速率最高达11 Mbps,对标准异步串口数据是透明传输。A/D电路输出的数据经FPGA高速数据缓冲、异步数据编码、无线信道编码等数据处理后,送到无线通道进行无线传输。远端的无线接收机接收到数据后送到FPGA进行无线信道解码、异步数据解码等处理,恢复A/D采样数据,然后或者送到D/A电路进行模拟量输出,或者重新进行异步数据编码送到PC机,由PC机对数据做进一步的分析处理。


  2 软件设计


  本系统的软件设计包括了FPGA硬件描述语言编程和PC机应用程序。


  2.1 FPGA编程


  FPGA编程使用VHDL语言,主要包括对ADS8344的数据读写、异步数据编解码等。使用FPGA很容易实现SPI接口间的通信,对ADS8344的数据读写仅用两个进程就可以实现。部分程序如下:


  (1)写数据进程



  程序中的8位控制字节是在另一进程中根据用户要求进行配置的。控制寄存器格式如下:



  控制寄存器各位的功能说明如下:



  • S——控制字节开始位。为高时,才表示输入的字节有效。 
  • A2~AO——模拟输入通道选择位。 
  • SGL/DIF——模拟通道输入方式选择位。为高时,为单端输入i为低时,为双端差分输入。 
  • PDl~DO——功率管理选择位。

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]