杨小平,李永红,刘志刚,严洪立,李率真
(1.成都信息工程大学 电子工程学院,四川 成都 610225;2.杭州旗捷科技有限公司,浙江 杭州310000)
嵌入式多通道高速采集及脉冲提取系统设计*
杨小平1,李永红1,刘志刚1,2,严洪立1,李率真1
(1.成都信息工程大学 电子工程学院,四川 成都 610225;2.杭州旗捷科技有限公司,浙江 杭州310000)
提出了一种以FPGA和ARM处理器为核心的嵌入式多通道高速采集及脉冲提取系统设计的新方法。该系统主要应用于电力设备局部放电检测,监测电力设备运行情况。系统主要实现用3种工作模式(正常工作模式、长记录模式和触发模式)实时采集、处理电信号,并根据采样后得到的数据和脉冲波形来判断被测信号是否正常工作。整个采集系统可实现100 MS/s的高速采样,具有稳定性高、实时性强、易于扩展、便于携带等特点。
多通道高速采集;脉冲提取;FPGA
引用格式:杨小平,李永红,刘志刚,等. 嵌入式多通道高速采集及脉冲提取系统设计[J].微型机与应用,2016,35(11):87-89.
数据采集,尤其是高速数据采集,在工业自动化控制、医疗器械、室内环境监测和军事监控等领域已经得到了广泛的应用。传统的数据采集系统,通常是以单片机或者DSP为核心控制器,实现对数据信息的采集。随着信息科技的发展,大众对信息数据的实时性、稳定性等要求越来越高。而单片机的时钟频率较低、速度较慢并且软件采用顺序实现模式,从而使得数据采集速度低,进而影响整个系统的效率。虽然DSP有较高的运算处理速度,然而它很难完成对复杂外围器件的控制。而FPGA(现场可编程门阵列)有单片机和DSP难以超越的优势,FPGA时钟频率高、内部延时小、集成度高、全部控制逻辑由硬件完成、速度快、效率高[1]。
考虑到FPGA的诸多优势,本文提出了一种以FPGA和ARM处理器为核心的嵌入式多通道高速采集及脉冲提取系统设计方案。系统有触摸屏LCD和显示器两种显示和下发配置命令方式。将该方案应用于电力设备局部放电检测,通过采集和提取有效脉冲来实时监测电力设备的工作状态。这一设计对安全用电及电力行业有重大的实用价值。
本数据采集系统基于FPGA+ARM架构。FPGA(XC6SLX75)外围电路主要包括一个四通道100 MS/s采样率、串行差分输入输出的AD(ADS6424),一片ARM(AM3359)控制器和一片DDR2(MT47H128M16)128 MB地址空间的存储器,用于存储采样数据[2]。如图1所示。
图1 采集系统总体框图
图1中,S1~S4为4路模拟信号输入端,为了得到较准确的脉冲信号,本设计使S1~S3作为信号输入端,S4作为噪声信号输入端,通过前3路和第4路的比较进而有效地滤除噪声。TTL信号作为相位信息,FPGA需要检测是否有该同步信号并通知ARM。A/D转换器前端的信号调理用来实现对输入模拟信号的放大、衰减、滤波及输入阻抗匹配,从而达到AD将模拟信号转换成数字信号的要求。系统工作过程为:首先PC下发命令指令经ARM送到FPGA,配置FPGA的工作模式、采样率等;其次,AD将转换后的数字信号送给FPGA,FPGA经过运算处理提取有效脉冲信号存储到DDR2中,然后向ARM发中断命令,ARM通过GPMC总线提取DDR2中的数据;最后ARM通过网络或USB将数据传输给PC显示[3]。
2.1FPGA设计
FPGA设计流程:系统上电后,FPGA首先初始化配置ADS6424芯片,然后将AD转换后的数据由串行转为并行再经过相应的算法处理得到有效的脉冲,将得到的脉冲存储在DDR2中,再通过GPMC总线接口送给ARM。ARM控制器负责与用户上位机程序通过网口或USB进行通信,给FPGA下达控制指令。根据上述流程以及FPGA要实现的功能,整个FPGA逻辑设计可划分为5个模块,分别为ADC初始化模块Ad_init;ADC数据接收模块Data_rec;ARM接口模块 Gpmc_inst;数据处理模块Data_prc;数据存储模块Data_str。如图2所示。
图2 FPGA逻辑设计模块
2.1.1ADC初始化模块Ad_init
ADC初始化模块用于对ADS6424芯片进行复位及初始化配置来满足AD正常工作,该模块只在上电时或者系统复位时调用一次,并与Data_rec模块协调工作用于600 Mb/s串行数据的低压差分信号(LVDS)数据对位。
2.1.2数据输入模块Data_rec
数据输入模块接收ADC输入的串行数据和时钟,并将4路AD差分串行数据经SERDES(串并转换器)转换为并行数据发送给Data_prc模块。Data_rec模块与Data_prc模块之间有FIFO用于同步AD采样的100 MHz时钟和FPGA内部处理数据的100 MHz时钟。
2.1.3数据处理模块Data_prc
数据处理模块内部包含3个子模块,分别用于三种工作状态,各种工作状态的数据和控制信号独立,接口根据工作状态选择异步开关进行切换。
(1)正常工作状态。正常工作情况下抗干扰脉冲提取算法如下:
①根据设置的阈值做背景噪声的滤除;
②根据与噪声通道的比较判断是有用信号还是噪声;
③判断是否是方波信号,如果是方波信号则去除;
④将提取出的有用脉冲段及相位信息上传给ARM。
具体说明:根据设置的阈值得到脉冲1~3,对得到的脉冲段与噪声通道做比较,只比较同相位的值,如果信号通道的值大于噪声通道的值,则认为是有用信号,否则是噪声,需要被滤除。如图3所示,脉冲3的信号通道的值小于噪声通道,需要被滤除。如果脉冲是方波,如脉冲2,也要被滤除。对提取出的有用的脉冲段如脉冲1,在传输至ARM时需要做如下处理:从第一个过阈值的点向前取55个点,向后取200个点,共取256个点,这样保证取出来的脉冲段是一个完整的脉冲段[4-5]。
图3 信号通道及噪声通道的波形
(2)长时间记录。系统启动后,根据输入的时钟和写使能写DDR2,将对应通道的AD采集数据输入到FPGA,并对数据点数进行计数,达到30兆个数据点则停止存储,并向ARM发送中断信号。长记录模式根据设置的采样率和采样时间,将采集到的点不做任何处理上传给ARM,再通过ARM经由网络上传至PC,PC设置相关通道的阈值。长记录采集模式的目的是得到各通道的背景噪声值,方便设置阈值。
(3)触发记录。系统启动后,根据输入的时钟和写使能写DDR2,达到一个时间长度则进行循环存储。将输入的数据进行逐点判断,当达到触发条件时,计算出读取DDR2的首地址,并根据剩余采样点数进行计数,达到采样点数后则停止存储,并向ARM发送中断信号。
2.1.4指令解析模块Gpmc_inst
采用100 MHz时钟对ARM的Gpmc接口进行锁存,解析ARM的输入指令,并根据读信号和地址信号返回寄存器的状态值,或者DDR2存储器内的数据。通过这个模块与ARM进行通信。
2.1.5数据存储模块Data_str
该模块负责DDR2存储器的读写,采用MPMC的IP核,通过NPI接口进行控制,将输入的16 bit数据字拼接成64 bit宽度写入DDR2存储器,输出时根据读使能信号取出DDR2中的数据,并将64 bit的数据拆成4个16 bit数据,按照顺序输出。数据存储模块没有地址输入接口,其内部只是简单的地址递加,当复位后,地址归零。
2.2ARM设计
在该设计中ARM主要有两个作用,一是担当中间件,承上启下,一方面接收PC命令,协议解析后配置给FPGA,另一方面将FPGA传过来的数据,打包上传给PC。传输支持USB和网络两种方式,USB包和UDP包采用相同的应用层协议。另一个是在不用PC的情况下,ARM作为上位机通过智能触摸屏LCD显示器下发命令配置FPGA,且FPGA也将采集到的数据和有效脉冲上传给ARM,做相应的处理后通过LCD呈现。
2.2.1硬件部分
ARM部分结构如图4所示。本设计采用两种ARM启动方式,一种是从SD卡启动,另一种是从NandFlash启动,两种方式可通过拨码开关切换。GPMC接口主要是连接FPGA和ARM,使其顺利通信;DDR2起缓存数据作用;NandFlash用于存储系统及应用文件等;ARM支持网口和USB1两种方式与PC通信;USB2用于连接U盘将数据导出;触摸屏LCD主要用于显示波形和下发指令;预留RS485、RS422用于后期扩展功能[6]。
图4 ARM部分结构图
2.2.2应用部分
用QT(跨平台的C++应用程序开发框架)开发设计GUI(图形用户界面),界面主要包括配置FPGA各种工作模式、设置采样参数以及显示有效脉冲等。如图5所示。
图5 配置系统工作界面
本文给出了一种以FPGA+ARM处理器为核心的嵌入式多通道高速采集及脉冲提取系统设计的新方法,详细阐述了系统设计流程和工作模式。经过长时间的测试和检测,该系统可以实现数据的高速多通道采集及脉冲的提取。此设备可以应用于多种相关数据采集及分析的场合,有触摸屏LCD和显示器两种显示方式,具有稳定性高、实时性强、易于扩展、便于携带的特点。目前,该设备已应用于电力设备局部放电检测,可以实现二维图形显示,后续将开发三维图形显示应用。
[1] 张伟,韩一明,吴新玲.基于FPGA的高速数据采集系统的设计[J].电力情报,2002,4(3):46-49.
[2] 滕岩峰,周雪峰.带USB 接口的100MHz高速数据采集系统的设计与实现[J].微计算机信息,2006,22(20):227-229.
[3] 刘小林,范育兵,罗春晖.基于FPGA的多通道数据采集系统设计[J].电子技术应用,2009,35(7):42-44.
[4] 徐文波,田耘.Xilinx FPGA开发使用教程(第2版)[M].北京:清华大学出版社,2012.
[5] 李宗海,陈蜀宇,李海伟.嵌入式Linux系统在ARM平台上的构建[J].计算机系统应用,2010,19(10):153-157.
[6] CORBET J, RUBINI A.Linux设备驱动程序(第三版)[M].魏永明,耿岳,钟书毅,译.北京:中国电力出版社,2006.
Design of embedded multi-channel high-speed acquisition and pulse extraction system
Yang Xiaoping1,Li Yonghong1,Liu Zhigang1,2,Yan Hongli1,Li Shuaizhen1
(1.School of Electronic Engineering, Chengdu University of Information Technology, Chengdu 610225, China; 2. Hangzhou Chipjet Technology Co., Ltd, Hangzhou 31000,China)
A new method for the design of embedded multi-channel high-speed acquisition and pulse extraction system based on FPGA and ARM is proposed in this paper. The system is mainly used in partial discharge detection of power equipment, and to monitor the running status of power equipment.The system acquires real-time data and processes electrical signals with three kinds of working modes (normal working mode, long record mode and trigger mode),and according to the data obtained from the sampling and pulse waveform,the system determines whether the measured signal works normally. The whole acquisition system can realize high speed (100 MS/s) sampling with high stability, has the performance of strong real-time, easy to expand, easy to carry and so on.
multi-channel high-speed acquisition; pulse extraction; FPGA
四川省科技支撑计划(14ZC0596);四川省科技创新苗子工程资助项目(2014052)
TP274
A
10.19358/j.issn.1674- 7720.2016.11.026
2016-01-07)
杨小平(1989-),男,硕士研究生,主要研究方向:信号与信息处理。