微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > ADS8344和FPGA的高精度数据采集前端

ADS8344和FPGA的高精度数据采集前端

时间:11-09 来源:互联网 点击:
数据采集在工业测试系统中是一个很重要的环节,其精确性和可靠性是至关重要的。本文阐述的数据采集系统精度高达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——功率管理选择位。

(2)读数据进程



ADS8344是多通道A/D转换芯片,所以数据要添加通道地址码。FPGA读取了16位数据后,进行高速数据缓冲处理,使用速率与低速异步串口速率匹配。由于读取的数据是16位,而异步数据是10位(1位起始位,8位数据位,l位停止位),因此要对数据重新编码。用FPGA实现异步数据格式非常简单。下面是异步数据编码的部分程序:



在数据编码进程中,pdatam(15 downto 0)是A/D转换出来的16位数据,分为4个异步数据帧。每帧的低4位是数据位,高4位是编码位,数据编码格式如表l所列。

上位PC机以指定速率接收到如表l格式的4个异步数据帧后,去掉起始位、停止位,地址位和空闲位,按地址位顺序重新排列数据,就得到D15~D0的16位A/D量化数据,PC机对数据可做进一步的处理。

2.2 PC机编程

PC机端的应用程序是在NI公司的LahView环境下开发的,主要用于对采集到的数据进行解封装,显示,控制整个数据采集系统的进行、停止,设置一些相应的参数,以及进行最后的数据分析处理。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top