基于FPGA多通道同步数据采集系统设计(2)
发布时间:2021-06-06
发布时间:2021-06-06
jacklong
您的论文得到两院院士关注
本方案中,FPGA向需要同步采样的通道对应的AD芯片提供统一的时钟,使得AD同步地选择相应的通道进行数据的同步采样和转换,其结果由FPGA同步地接收并存储在外部双口RAM对应的存储空间,然后由ARM从相应的双口RAM空间读取数据,并经过网络传输给上位机进行处理。其数据采集系统总体设计如图1所示。
该方案将16路信号分为4组,分别对应4块相同的小电路板,每块小电路板采用4片AD,分别由FPGA控制完成4路信号的采集、转换。4块小电路板最终插在一块大的主电路板上,这样可实现系统小型化的要求。系统外形结构如图2所示,图中标号1、2、3、4分别对应四块小的电路板。
PLDCPLDFPGA应用
于设计中需要多种不同的时钟信号,所以必须设计一个可根据采集需要任意分频的时钟逻辑模块,且必须准确,才能保证整个系统的正常工作。同时该设计采用同步时序电路,它是基于时钟触发沿设计,对时钟的周期、占空比、延时、抖动提出了更高的要求,为此本设计中采用FPGA所带的DCM时钟资源驱动设计的
主时钟,已达到最低的时钟抖动和延迟。
②采样控制模块。该模块主要负责控制数据采样和AD转换等,在采样时刻到来时,根据ADS8321芯片的工作特性,在CS信号的控制下,芯片便按照时序进行采样、转换,对于ADS8321要注意当16位转换结果输出完毕后,置位CS或去掉DCLOCK脉冲,使结果仅输出一次,否则在Dout端会继续输出
转换结果,但此时是反过来由最低位到最高位依次输出,直到最高位输出出现重复时,Dout端变成高阻态。
③串并转换模块。由于ADS8321时以串行输出转换结果
的,故需要该模块来将串行输出的数据转换为并行输出,该模块主要采用移位寄存器来实现。
④通道选择模块。该模块用来选择需要采样的通道,当ARM主控制器将上位机传来的通道选择控制字写入双口RAM
时,通道选择模块根据该信息来进行通道的选择,同时,当数据采集完毕后,该模块还为存储控制模块提供相应的地址信号,以便将对应通道采集来的数据存入对应的空间
图2系统外形结构
3系统主要器件的选型
3.1FPGA芯片的选型及依据
由于本系统采集通道数较多,实时性和同步性要求较高,要求提供的时钟频率高,内部延时小,因此系统选择Xilinx公司的Spartan3系列XC3S400作为主控制芯片,该芯片具有40万系统门、8064个逻辑单元内嵌18K位块RAM,包含4个时钟管理模块和8个全局时钟网络,最大支持264个用户I/O。这些丰富的片上资源在加上其灵活的编程方式使得该芯片成为最适合的选择。
⑤存储控制模块。双口RAM用于数据缓存,一是存储各
AD芯片转换的数据,二是存储ARM主控制器传来的采集参数
信息。它具有真正的双端口,可以同时对其进行数据存取,两端口具有独立的控制线、地址线和数据线。该模块就是根据双口
RAM读写时序实现对双口RAM的读写操作,已达到缓存数据
的目的。
⑥接口控制模块。该模块为ARM向FPGA及其双口RAM进行交互提供桥梁。当ARM向双口RAM写入采集参数信息时,接口模块要将该信息通知采样控制模块;当ARM读取双口RAM中的数据时,接口模块对ARM的访问地址进行译码,选中
对应的存储空间,取出数据。
技术创新
3.2AD芯片的选型及依据
在本方案中,考虑到系统的分辨率、通道数、采样率以及接口等要求,本系统AD芯片选用TI公司的ADS8321。ADS8321是TI公司生产的逐次逼近式串行16位微功耗高速A/D转换较低的噪声器,采样频率最高可达100kHz,具有较小的线性度、
和功耗,ADS8321具有同步串行SPI/SSI接口,采用这种串行接
口输出数据减小了芯片的体积。
4.3软件实现
本设计采用自顶向下的设计方法,采用VHDL来分别设计顶层模块和各底层模块,该语言支持自顶向下和基于库的设计方法,并且电路仿真和验证机制以保证设计的正确性。下面以采样控制模块为例来说明其控制算法。
4FPGA的逻辑设计
4.1FPGA的逻辑设计思想
本方案中,系统初始化后,首先上位机将采集的参数信息采样频率、采样方式、通道选择、增益倍数等等)传送(采样长度、
给ARM主控制器,ARM将这些参数信息存入外部的双口RAM中,然后FPGA再按照RAM里的采集参数信息控制执行,完成采集任务,当采集完成后,FPGA将采集到的数据同步地传送到双口RAM对应的存储空间,供ARM来读取,然后ARM在将读到的数据传送给上位机。
图3状态机的状态流程
状态机是FPGA内部的指挥单元,它按照固定的节拍往复的运行,本采样控制模块利用状态机来设计,根据ADS8321的工作时序,将状态机分为4个状态周期,分别是建立周期、采样周期、转换周期、省电模式周期,其状态流程如图3所示。
4.2FPGA模块划分
根据以上的设计思想,整个FPGA逻辑模块划分为:时钟逻辑模块、采样控制模块、串并转换模块、通道选择模块、存储控制模块、接口控制模块。下面具体给出各模块的设计过程。
5结束语
本文作者创新点是采用FPGA和ARM相结合的设计方法完成高速、多通道、实时的数据采集以及数据的网络传输并采用
VHDL编程来实现FPGA各逻辑模块的功能。
(下转第154页)
:360元/年
-213-
①时钟逻辑模块。该设计中,外部输入的时钟为50MHz,由
PLC技术应用200例》
上一篇:2016-2022年中国印刷机械市场全景调查与投资前景
下一篇:特种经济动物学论文