摘 要:随着芯片集成度的提高及封装技术的发展,系统设计与调试变得越来越困难,基于Quartus II软件自带的第二代系统级调试工具SignalTap II,采用EP4CE15F17C8的FPGA开发板为实验平台,以AD9280为核心进行数据采集系统的设计和调试。结果表明,采用SignalTap II可以有效地提高系统设计效率,增强对系统内部数据变化的监测,为复杂的数字系统设计调试提供了一种高效、便捷的方法。
关键词:FPGA;嵌入式逻辑分析仪; SignalTap II; 数据采集
随着FPGA技术应用的日益广泛,特别是可编程单芯片系统(SoPC)技术的发展,使得FPGA的设计任务越来越复杂,芯片内部具体工作变得集成化、不可视化。为了提高设计的高效性,更加方便地观察内部工作情况,这样设计人员就需要一种简易有效的调试工具,以尽可能缩短调试时间、监视内部状态。传统的FPGA系统设计方法测试复杂,由于芯片封装形式、引脚数量等条件的变化显现出很多不足。针对这些问题,本文以数据采集系统设计为例, 提出了一种高效系统硬件调试方法[1-3]。
SignalTap II是由Altera公司推出的Quartus II设计软件中的硬件调试工具,它通过在工程中引入嵌入式逻辑分析仪ELA(Embedded Logic Analyzer),利用FPGA的内部资源,将片外调试工具的逻辑移植到片内,直接在片内实现系统调试,即通过JTAG接口将外界数据移植到FPGA内部SRA1M进行存储,不断地在Quartus II软件环境中刷新数据显示[4-7]。本文以高速ADC数据采集系统进行系统设计与调试为例,进行说明。
1 系统总体框图及工作原理
系统前期设计主要用到外围的信号调理和A/D转换模块,后期通过FPGA芯片,利用SignalTap II工具对转换得到的信号进行操作。系统工作原理:首先,由外界的带干扰信号源产生-5 V~+5 V的模拟信号经过信号调理电路,经过A/D转换器的转换,将模拟信号变成了数字信号,在FPGA控制下进行数字信号处理,并且通过SignalTap II工具对数据采集系统进行硬件调试。系统总体框图如图1示。
2 硬件部分设计
2.1 前端采集电路
本文数据采集系统的ADC电路模块设计由信号输入接口、调理电路和高速ADC芯片组成。前端ADC数据采集电路设计如图2所示。
系统采用了AD9280作为A/D模数转换芯片,它是ADI公司推出的一款性能优良的转换器,具有8 bit分辨率,最高可达32 MSPS的转换速度。ADC数据采集系统模块的AD9280转换电路理论设计中,模拟信号输入由AD9280的AIN端口流入,并且保证模拟信号输入的幅值范围是0~2 V。在系统设计具体实现过程中,保证幅值在-5 V~+5 V的范围模拟信号从输入端输入,首先经过由AD8065芯片构建信号调理电路,使信号幅值转换成0~2 V,使其能够适合接入AD9280芯片中。其中转换公式为:
2.2 顶层模块电路设计
由图1所示,选用Quartus II工具,将ADC电路模块与SignalTap II逻辑模块连接到一起进行硬件调试[8-10]。顶层模块电路设计如图3所示,系统数据的调试、验证转换到系统内部实现,免去了采用外接大量资源进行调试,降低了系统的外部的资源消耗。
图3中,FPGA系统时钟CLOCK,频率为50 MHz,作为AD模块采样的时钟,也作为硬件调试工具SignalTap II的采样时钟信号;AD_DB[7..0]作为经过信号调理后的模拟信号进入A/D转换器中,经过ADC模块转换为8 bit的数字信号AD_OUT[7..0]输出,进入存储器模块用于SignalTap II的测试模块。
3 软件部分设计
3.1 系统软件设计
系统软件设计流程图如图4所示。根据FPGA开发流程进行设计,详细列出了SignalTap II文件的设置流程。首先通过Verilog HDL语言编写FPGA程序,编译通过后,通过Tools/SignalTap II Logic Analyizer 建立.STP文件,将数据采集系统实例添加到文件中并配置该文件的参数,保存编译并下载程序,运行调试,改进设计。
文件进行配置,设置采样时钟为CLOCK,该项对应显示信号波形的分辨率,SignalTap II在采样时钟的上升沿暂存被测信号;采样深度为8 KB,其中存储模式(buffer acquisition mode)选择连续存储模式;设置触发条件为basic由系统自动捕获相应的数据,协助调试设计。将.STP文件配置完成保存、重新编译工程,通过JTAG模式下载.SOF文件到FPGA 中。AD_DB为系统的AD输入信号,AD_OUT[0]到AD_OUT[7]为模拟量经过A/D转换后得到的数字量的结果。
系统测试时,模拟信号经输入端口输入正弦信号,打开.STP文件, 点击“Autorn Analysis ”选项即可以查看待测信号波形,可以根据需要选择波形的显示方式。测得本系统AD9280转换器的输出信号波形如图6所示。AD_DB记录显示输入模拟信号波形,被采集系统量化后,采样数据由AD_DB[0]~AD_DB[7]的8 bit方波显示;实验调试方法,首先可以通过观察对比AD_DB波形是否符合模拟信号输入波形;其次,观察AD_DB[0]~AD_DB[7]每一位数据的变化,进行对比验证,从实时处理的界面上监视系统内部情况,从显示结果观察系统内部逻辑状况,核对数据采集过程中数据的误码、丢失等现象,帮助开发人员及时查找错误,进而缩短开发周期。
使用SignalTap II工具,系统调试不需要外接专用的仪器,它在器件内部触发捕获节点信息进行分析、判断系统存在的故障;系统调试减少成本,降低设备要求,方便系统调试,拓宽调试环境;系统调试时间明显缩短,测试变得简单、可靠。本文以AD9280为核心构建的ADC数据采集系统为例进行设计,结果表明,数字系统采用SignalTap II工具可以很方便地监测系统内部数据变化,降低了系统设计与验证时间,缩短了设计周期,对提高复杂系统设计效率有重要意义。
参考文献
[1] 刘付斌,邵高平,李建新.通用数据采集平台ADC电路的可靠性设计[J].微计算机信息,2005,21(4):92-93.
[2] 郭宝锋,韩壮志,何强,等.基于嵌入式逻辑分析仪SignalTapII 的系统调试技术研究[J].微计算机应用,2011,32(10):53-57.
[3] 郭佳佳,胡晓菁,王永良.使用SignalTapII逻辑分析仪调试FPGA[J].今日电子,2005,5(1):45-47.
[4] 李娜,孟令军,张会新. FPGA系统内部逻辑在线测试技术研究[J].国外电子元器件,2008,7(1):7-9.
[5] 孟令军, 李娜. 基于FPGA的内部逻辑在线测试技术研究[J].电测与仪表,2008,45(515):34-37.
[6] Alter. QuartusII handbook version11.0[EB/OL]. http://www.altera.com/2011.5.
[7] 王海华.SignalTap II在FPGA系统调试中的应用[J].黄石理工学院学报, 2009,25(2):12-15.
[8] 袁火平,卢艳娥,李晓明,等.基于Signaltap II的高速数据采集系统[J].数采与监测,2008,24(9-1):128-129.
[9] 杨振家,刘颖杰,邓芳芳,等.高速信号采集存储及传输系统的设计与实现[J].电子技术应用,2012,38(9):8-10.
[10] 全卫泽,阮军,黄成.基于FPGA的脉搏信号采集系统设计[J].微型机与应用,2013,32(15):73-75.