第23卷第3期 2011年6月 军械工程学院学报 Vo1.23 NO.3 Journal of Ordnance Engineering College Jun.2011 文章编号:1008—2956(2011)03—0060—05 基于SOPC的多路并行同步数字 信号采集系统设计 赵擎天,尉广军,姚义 (军械工程学院导弹工程系,河北石家庄050003) 摘要:针对某型导弹武器装备在线检测系统的需求,以软、硬件可配置的SOPC(System on a Programmable Chip) 嵌入式系统为平台,以较少的硬件资源消耗为前提,应用FIFO缓存和直接存储器传输(Direct Memory Access, DMA)技术,设计数据采集系统,实现对2O路并行同步数字信号的快速采集,并利用现代DSP技术对采集的信号 进行滤波处理,通过USB总线将处理后的信号送到工控机,基于LabVIEW软件在工控机上实现系统的在线检测 功能。 关键词:SOPC;FIFO;多路同步数字信号;数据采集;DSP Builder;直接存储器传输 中图分类号:TP274.2 文献标识码:A Design of Acquisition System of Multi—channel Parallel Synchronous Digital Signal Based on SOPC ZHAO Qing—tian,YU Guang—j un,YAO Yi (Department of Missile Engineering,Ordnance Engineering College,Shijiazhuang 050003,China) Abstract:According to the demand of a missile on—line detection system,with hardware and soft— ware configurable SOPC embedded system as the platform,and with FIFO buffer and DMA as as~ sistant technology,a multi—channel parallel synchronous digital signal acquisition system has been designed to realize the 2O parallel synchronous digital signal rapid timing acquisition under the precondition of less hardware resource consumption.The collected digital signals have been fil— tered and processed by using modern DSP technology,and then the signals have been transmitted to the industrial computer through the USB bus.The on—line detection function has been realized in the industrial computer based on LabVIEW software. Key words:SOPC;FIFO;multi—channel synchronous digital signal;data collection;DSP Builder; DMA 某型反坦克导弹系统的指令信号需要进行在线 检测,以确定导弹发射车工作是否正常。导弹指令 灵活性差等缺点。笔者以系统具有可裁减、可扩充 和可升级等性能为设计思路,以具备软、硬件在线可 编程功能的SOPC系统 为平台,设计了能够对 信号是多路同步并行数字信号,要实现对这些信号 的采集,传统设计方法是:控制器采用MCU,MPU 或DSP,同时扩展外围接口电路,实现开关量和模 拟量的数据采集。应用传统方法设计的数据采集系 统具有外围芯片多、PCB面积较大、可靠性相对不 高、不易升级与改进、成本高、受芯片以及设计 收稿日期:2010—12-11;修回日期:2011 02—26 作者简介:赵擎天(1986),男,硕士研究生 20路同步数字信号实现高速采集的系统,以满足检 测系统对导弹指令信号实时快速采集的需求。 1 SOPC系统整体结构设计 基于FPGA的SOPC系统是软、硬件可编程的 嵌入式系统,其结构模块如图1所示。在s0PC系 统整体结构中,Nios II处理器为实现控制的处 第3期 赵擎天等:基于SOPC的多路并行同步数字信号采集系统设计 61 图1 SOPC系统模块结构 理器,其特点之一就是Avalon总线,Avalon总线是 连接片上处理器与其他IP模块的简单总线协议,规 定了主部件和从部件之间进行连接的端口和通信的 时序,Avalon总线是一种相对简单的总线结构,主 V 要用于连接片内处理器与外设,以构成SOPC。j 利用Altera公司提供的软件工具SOPC Build— .er进行硬件配置,其中系统自带的IP核包含DMA 控制器、SDRAM控制器、OnChip RAM和FLASH 接口模块等资源,而对于数据采集控制模块、FIR滤 波模块和特定的USB控制器接口模块,需要利用基 于Avalon的用户外设定制技术进行设计。SOPC Builder提供了一个组件编辑器,用来创建和编辑自己 的SOPC Builder组件,”一3一定制逻辑一旦被封装为组件, 一斟一 一2一 ∞一¨一 一 一 一他一"一:2一:2 可以像使用其他组件一样在SOPC Builder中使用。 数据采集模块在NiosII处理器的控制下将采 集的数据送到FIR滤波模块进行处理,然后将处理 完的数据送往片外sDRAM进行存储,并在系统软 件的控制下,将采集的数据通过USB总线传输到工 控机进行处理。 2数据采集系统关键电路设计 2.1采集电路 某型导弹武器系统制导电子箱在工作时通过预 留的数据采集口每20 ms输出一组发控指令,每组 指令共2O路数字信号,每路数字信号共2字节,按 先低字节后高字节的顺序传输,输出为±12 V。 为了满足FPGA数据采集接口电平的需要,首 先要进行电平转换。数据采集电平转换电路采用串 口芯片系列的SP3243E,但只用到了其接收口, SP3243E是3驱动器、5接收器器件。因为系统需 要采集2O路信号,因此需要4个同样的器件,作为 数据采集口l一4,其中数据采集口1的电平转换电 路原理如图2所示。经过电平转换后的2O路数字 信号被送到FPAG数据采集模块进行数据采集。 C53 104 VDD3.3。_ vcc V牛 lJ ̄01 4 V- C54 104 RlIN Cl+ ZD02.. R2Ⅸ Cl- C55 104 zD03 R3玳C2+ TlaIUT C2. C56 104 10 1:撼fL『r ZD04 ll R羽N R X r T3our Tt玳 ZD05一R5玳 础 T3 趼A弧琏 R1OUT P0.O 麓瓤班DOWN R2OUT P0.1 0j 肫R3(托rr P0.2 R4oI}_I. pO.3 GND RSOUT P0.4 SP3243E 图2 数据采集口1电平转换电路 由于制导电子箱输出的时钟周期为1.25 ms, 而FPGA内部设置的系统时钟频率为50 MHz,为 了满足数据采集系统时序的匹配和系统同步性的要 求,利用FPGA提供的IP核资源,笔者为每路数字 信号设计了深度为1×32位的FIFO模块,如图3 所示。 图3 数据缓存FIFO模块 为了节省FPGA内部的硬件资源,每路信号的 FIFO模块仅设计为32位。在数据采集开始的第1 个2O ms内,2O路数字信号数据在wrclk(周期为 1.25 ms)驱动下并行写入FIFO模块,每路信号占 用FIFO内部的前16位l在第2个20 ms内,采集 的数据继续写入FIFO模块的后16位,与此同时, FIFO模块前16位的数据在系统时钟的驱动下输 出。由于系统要对每路信号进行不同的处理,为了 便于信号的提取,以rdreq为数据选择信号,rdclk 为读取时钟,实现分时输出2O路数字信号的功能。 数据选择信号时序如图4所示。 由于计算机内部处理的是并行信号,所以要对 .军械工程学院学报 rdclk D】f 图rdreq ^[,..O g] A A ^ ...8] 下] _{i { , /TI!;i: ...r出e 供的数据选择信号 图4 数据选择信号时序 分时输出的数据进行串并转换。首先,将分时得到 号和随机噪声的影响,为了消除干扰,利用现代 的数据通过2O选1数据选择器Mux20tol转换成 DSP技术和Altera公司提供的DSP Builder设计工 串行数据;然后,通过串并转换电路cbzh将串行数 具设计了FIR滤波器__8 ]。笔者利用DSP Builder 据变成并行数据。采集电路仿真时序如图5所示。 库中的MegaCore定制,根据哈明(Hamming)窗函 FPGA内部采集电路以调用IP核和Verilog 数法设计FIR滤波器,该滤波器输入数据为16位, 语言编程的方式进行设计,采集电路总体设计如图 阶数为37阶,采样频率为32 MHz,截止频率为 6所示Ⅲ5。]。该数字信号采集电路可以实时快速地 50 kHz。 实现对并行数字同步信号的快速采集,同时在满足 在Simulink环境中,利用Simulink库和DSP 系统要求的条件下,尽量少占用FPGA内部的资 Builder库建立FIR滤波器Simulink模型,其功能 源。在FPGA芯片I/O接口引脚足够用的前提下, 是模拟产生正弦噪声和随机噪声,检验FIR滤波器 该电路可以进行扩展,实现更多路数字信号的采集。 的滤波效果,FIR滤波器的Simulink模型如图7所 2.2滤波电路 不。 考虑到该数据采集系统在应用时会受到高频信 U .! 翌 一BJ 越 - 5] 衄 越 ・ 4] l :- ; ll 照 ~ 3】 啊Il 静 ---2] ;备 菇 b 赫妇 叮{ IU 淹 一1] 一娃赢符瓣墟 : Ill『 一 … 鬯嚼 一 0】 一 眦《 稿t锯 ut I nIt咖n勘nI盯 1m咖 Ⅲ 几j Iln删l咖枷删 删 哪m蚰l :bclk 门 n门;J 几n:门:几f1 _ -[【0 .1nj1 [01 n几 门l, 几门门n 门九一 灯随嚷魄Ⅱ{厂1 1 广1『1:rI广1 』 疆冁 囹bⅢt 一跨r 蕊 广 杜 1 葙 秆广1 门『^一 嗡 ・ 5】 . F r { 一 也 ・ 4】 开付栅础积循 r-- "-7 V- 1 L V一-1 f— ・= I l 稿I髓 - 3】 、、 『_ L _-| -.1 『 !- I』1 廿豫 一 2] 、 、 __L j1 -1_ .厂搿 一 I1 ___]1 』| r弋厂 i l图5 采集电路仿真时序 F 0 wm Idc1k  ̄t[15一o1 wrclk data[19..0】 rdreq[19..Ol Mux2Otol 图6 FPGA数据采集电路 第3期 赵擎天等:基于SOPC的多路并行同步数字信号采集系统设计 63 图7 FIR滤波器的Simulink模型 滤波器模型在检验对正弦噪声的滤波效果过程 中,将“Manual Switch”打到“Sine Wave B1”,用示 波器查看波形,如图8所示。第1个波形(按从上向 下的顺序)是12.5 kHz主信号波形;第2个波形是 200 kHz正弦噪声波形;第3个是二者叠加以后的 波形;第4个是滤波后的波形。从图8中可以看出, 200 kHz高频信号被很好地滤除。 图9 FIR滤波器对随机噪声的滤坡结果 经过微处理器直接传送到存储器中;或者从存储器 不经过微处理器直接将数据传送至外部设备L】。。。 系统采集的数据传送至SDRAM和从SDRAM传 送到USB总线均采用DMA方式,DMA控制器协 调外设接口和存储器的数据传输。在该方式下,1 次传输只需要执行1个DMA周期(相当于1个总 图8 FIR滤坡器对正弦噪声的滤波结果 线时钟周期),因而能显著提高数据传输速度。在 SOPC Builder内部集成了该控制器,可以方便地将 在检验对随机噪声的滤波效果过程中,将 其添加到SOPC系统中。对于NiosII处理器, “Manual Switch”打到“Random Number”,用示波 DMA控制IP核的设备驱动程序在HAL系统库中 器查看波形,如图9所示。第1个波形(按从上向下 提供。DMA控制器的配置如图1O所示。 的顺序)是12.5 kHz主信号波形;第2个是随机噪 声波形;第3个是二者叠加以后的波形;第4个是滤 4 系统软件 波后的波形。从图9中可以看出,随机噪声信号被 笔者利用NiosII IDE软件进行系统软件设计, 很好地滤除。 通过在NiosII软内核存放自编的c/c++语言控 最后将DSP Builder生成的模型编译综合,生 制程序控制系统运行。NiosII系统的软件流程如图 成VHDL程序文件,将其导人到Quartus 1I工程 11所示。 中,作为数据采集系统的一个滤波模块进行调用。 在系统中,NiosII程序的任务是接收工控机发 3 DMA传输 出的采样命令,进行数据采集,然后将采集的数据经 过滤波处理后以DMA方式传送到SDRAM,并最 直接存储器传输DMA,是指将外设的数据不 终通过USB总线传输到工控机。在工控机上应用 64 军械工程学院学报 2O11 图10 DMA控制器配置对话框 系统开始NiosII 系统初始化 工控机发送 数据采集命令 / Y 数据采集模块采集 FIR滤波后送到 SDRAM存储 经USB总线 传到工控机 已 退出系统 图11 软件流程 LabVIEW软件实现对采集数据的在线检测功能。 LabVIEW对非NI采集卡的驱动程序采用调 用动态链接库的方式实现。首先利用VC++编制 USB的动态链接库,然后在LabVIEw中正确配置 DLL,从而实现对USB总线的驱动。 5结束语 笔者基于SOPC嵌入式系统设计的数据采集系 统可以实现对某型导弹制导电子箱输出的20路指 令信号的快速采集,此外根据需要还可以对采集信 号的路数进行扩展。该系统可作为实时性要求比较 高的在线检测系统的数据采集前端,利用FPGA在 并行信号处理方面的优势,提高信号采集和处理的 速度。与传统的数据采集系统相比,该数据采集系 统具有运行稳定可靠、实时性强、功耗低、体积小、成 本低等优点,同时SOPC系统的可重构性也为武器 装备检测系统的在线升级提供了便利。 参考文献: [13王锐,雷金奎.基于软核Nios II的SOPC数据采集系统 的设计[J].计算机测量与控制,2008,16(8):1199—1201. [2]李兰英.NiosII嵌入式软核SOPC设计原理及应用[M]. 北京:北京航空航天大学出版社,2006:35—53. [3]任爱锋,初秀琴,常存,等.基于FPGA的嵌入式系统设 计[M].西安:西安电子科技大学出版社,2004:89—101. [4]周立功.SOPC嵌入式系统基础教程[M].北京:北京航 空航天大学出版社,2006:134—176. [5]王振华.基于FPGA的超高速数据采集系统的开发ED]. 北京:清华大学,2006. [6]张海峰.基于FPGA的数据采集系统的SOPC实现[D]. 郑州:郑州大学,2005. E7]江小炜.基于Nios II的高速数据采集系统的设计与实现 [D].武汉:华中科技大学,2007. [8]Altera.Embedded Design Handbook[z].USA:Altera, inc,2010. r9]Altera.Embedded Peripherals IP User Guide[Z].USA: Altera,inc,2010. [1O]王俊,郑焱,王红,等.基于DMA的并行数字信号高速 采集系统[J].电子技术应用,2010(3):42—44. (责任编辑:韩红艳)