常用的数据采集方案往往采用单片机或DSP(数字信号处理器)作为控制器,控制ADC(模数转换器)、存储器和其他外围电路的工作。但由于单片机本身的指令周期以及处理速度的影响,难以达到多通道高速数据采集系统的要求,DSP虽然可以实现较高速的数据采集,但其速度提高的同时,也提高了系统的成本;并且单片机和DSP的各种功能要靠软件的运行来实现,执行的速度和效率较低,软件运行时间在整个采样时间中占很大的比例。而FPGA(现场可编程门阵列)在高速数据采集方面有单片机和DSP无法比拟的优势,FPGA具有时钟频率高,内部延时小,全部控制逻辑由硬件完成,速度快,效率高,组成形式灵活等特点。因此,本文以FPGA作为核心处理器件,进行了数据采集的过程。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3.1 总体方案设计
FPGA数据采集系统的软件总体方案设计流程图如图4所示。当FPGA、ADC以及12864显示器初始化完毕之后,判断是否有模拟信号输入到ADC器件中,如果没有,则等待信号的输入;如果有,则ADC开始采集数据并转换。转换完成之后,送到FPGA芯片进行数据处理。然后,传送到12864显示器中进行波形的显示。最后,再次判断有无信号输入到ADC中,如果有,则继续进行下次的采集流程;如果没有,则结束程序。
由于A/D转换器、FPGA以及12864显示器之间处理数据的速度不同,为了消除不必要的数据丢失与毛刺现象或者重复读取,可以将处理后的数据暂时存入FIFO中。FIFO是一个先入先出的堆栈,利用FPGA内部强大的寄存器功能,设计了一个FIFO的数据缓冲器。
如图5所示,A/D转换器将转换好的数据存入FIFO缓存中,FPGA检测显示器12864有无读信号,如果有读信号,则FIFO输出信号给显示器;如果没有,则数据继续存储在FIFO中,等待被取走。
一周热门 更多>