基于FPGA的嵌入式信号采集与显示系统的设计

时间:2022-07-24 03:23:58

基于FPGA的嵌入式信号采集与显示系统的设计

摘 要

本文介绍了一种接口信号采集与显示系统。该系统主要由数据采集模块和嵌入式控制模块组成。针对接口信号的不确定性,数据采集模块利用自控增益控制技术,调节信号量程,实现了对多种信号的采集与缓存。为了便于小型化与稳定性,嵌入式控制模块采用AMR芯片作为核心模块,完成了对采集系统的控制和基本信号处理,并实现实时信号显示。最后的实验表明,本文系统对不确定接口信号采集精度较高,系统稳定性较好。

【关键词】信号采集 嵌入式系统 FPGA

数据采集、存储是数字信号处理过程中非常重要的环节,已经广泛应用于雷达、测试、系统无损检测等多个领域。在装备保障上,通过对预留测试接口的信号采集、分析,可以对装备工作状态作出快速判断,以致更快的确定装备故障部位,为装备的快速维修提供了有力保障。为满足该需求,特设计研制了便携式的信号采集与显示系统。

1 系统组成

系统组成如图1所示。

本系统分为基于FPGA的信号采集模块和嵌入式控制模块。对于信号采集部分,主要由FPGA控制完成数据的采集与存储,其基本程序内容包括:系统各时钟、AD采集控制、特殊信号采集控制、数字信号采集控制、SRAM控制、控制系统核心、与嵌入式系统接口等。嵌入式系统控制模块采用基于ARM9的架构。以ARM9为核心,搭建嵌入式系统的硬件平台。在此平台之上,移植了嵌入式Linux操作系统,并使用基于嵌入式Linux操作系统的嵌入式QT作为图形开发工具。最终实现对采集模块的控制和数据基本信号处理及显示任务。

2 具体实现

2.1 FPGA固件设计

FPGA固件程序使用Verilog DHL语言编写,用于配置FPGA。配置后的FPGA相当于一个小型的控制系统,接收采集电路的各种信号,并根据从嵌入式控制模块接收的控制指令,给予采集电路相应的控制信号,完成各种采集功能,将采集数据存储于外接的大容量SRAM中。为了实现这些功能,程序包括以下模块:采集电路的数字部分各模块、系统各时钟模块、AD采集控制模块、长周期窄脉冲信号采集控制模块、数字信号采集控制模块、SRAM控制模块、控制系统核心模块、与嵌入式系统接口模块等。各个模块之间的关系如图2所示。

2.2 采集系统硬件部分

采集系统的硬件部分可以按照被测信号类型分为模拟信号AD转换部分,长周期窄脉冲的特殊信号相位控制部分和普通数字信号并行采集缓冲部分和FPGA采集控制四个部分。

同时硬件系统也可以按照电路功能进行分类,分为自动量程控制部分,AD信号采集部分,特殊信号采集部分,数字信号缓冲部分,FPGA控制部分和电源部分等六个部分,如图3所示。

自动量程控制可以在保证输入电阻足够大的情况下,根据输入电压的范围自动调整量程范围,从而适应各种电压范围的输入信号。由于测试接口信号电平的不确定性,要实现对小到几V,大到200V的信号都能检测,由于AD精度一定且跟信号占量程的大小直接相关,且AD输入信号范围为-10~10V,为了在任何情输入信号的情况下都能保证测试信号进入AD时不会超过AD输入范围,并且保证足够的转换精度,需要对输入信号进行预处理,包括信号的衰减或放大。其电路组成分为降压跟随器,电压比较器,过压判定,输入保护、继电器、电阻分压网络,延时开关等六个部分。

AD转换模块主要完成对模拟信号的模数转换。其采用AD7665芯片,主要参数为:采集速率:570kSPS;分辨率:16bit;输入信号范围:±10V;供电:单+5V电源供电;输出方式:串行(SPI)、并行;数字部分输出电压:5V/3V。

特殊信号处理基本原理就是设置一个计数器在第一个脉冲上升沿到达时开始计数,并在脉冲下降沿到来的时刻将计数器的数值置入寄存器,等待SPI发送。这样,就可以计算各个脉冲之间的计数差,由于计数所使用高频时钟的频率已知,就可以计算出时间差,在通过标志位判断各个脉冲计数值属于哪个通道就可以计算出各通道的周期,和两个通道之间的相位差。

数字信号存储,采用74LS16244芯片,完成对采集数据的存储。

模块供电:电源电路采用 220V50Hz的交流电输入,经过一级变压整流和斩波得到+15V和-15V两种直流电,两路电源分别经过四个电源模块:KA7805,KA7905,KA7812和KA7912来获得+5V、-5V、+12V、-12V四种直流电源供各模块使用。

2.3 嵌入式系统及应用程序

嵌入式系统主要完成采集控制、数据前期处理和回显功能,通过与FPGA的接口,嵌入式系统对采集电路起到控制作用,并能接受采集到的数据进行存储、预处理和回显,界面交互性很好。

嵌入式系统选用了三星公司的ARM920T系列的微处理S3C2440AL-40作为处理核心。ARM920T系列微处理器是ARM9TDMI通用微处理器家族的成员之一,内部带有全性能的MMU,具有高性能、低功耗、接口丰富和体积小能优良特性。

为了减少开发周期,选择使用一款相应的ARM嵌入式系统平台,这样嵌入式系统部分的开发工作就可以集中在应用软件的开发上,而不用再去设计、制作ARM的硬件电路。经过比较,最后选择了扬创科技有限公司的YC2440-SBC嵌入式系统平台。该套装包括一块YC2440-SBC板和一块7寸TFT真彩液晶屏(带触摸)及其驱动电路,如图4所示。

软件开发平台选用嵌入式Linux操作系统,在应用程序开发上分为主程序、开机画面类和主应用窗口类三大部分。主程序主要完成程序的启动、开机画面类对象的执行和主应用窗口类对象的执行功能;开机画面类主要用于在程序启动后显示开机欢迎画面;主应用窗口类用于实现程序的应用功能。其类成员函数又分为构建函数族(主要是界面)、采集函数族、数据处理函数族、数据显示函数族、串行通信函数族。五个函数族中的函数协同完成数据的采集、存储、处理和显示等功能。一次采集过程的简要流程如图5所示。

3 验结果

本系统针对某装备62路信号接口成功的进行了信号采集。图6为33-48路信号的采集波形。实验验证表明表明采集的信号准确,完全满足设计的指标要求,能做到连续快速的多接口信号采集,对采集的信号可以存储并在显示器上显示出来。

4 结论

本系统采集功能完善,已对某型装备的测试接口进行了信号采集。实验表明本系统能够做到大容量高速连续采集,而且稳定可靠,测得的数据准确,为某型装备保障提供了依据。

参考文献

[1]李保刚,马登武.FPGA在多路数据采集系统中的应用研究[J].计算机测量与控制,2012,20(04):1138-1141.

[2]徐英慧,马忠梅,王磊.ARM9嵌入式系统设计[M].北京:北京航空航天大学出版社,2007.

作者简介

杨光(1979-),男,江苏省宿迁市人。大学本科学历。现为92721部队高级工程师。研究方向为装备信号检测。

作者单位

92721部队 浙江省舟山市 316000

上一篇:民航气象数据库系统典型故障维修实例 下一篇:云计算数据安全机制研究