1 引言
传统的核信号波谱分析仪采用模拟方法对信号进行放大,峰值展宽,之后根据触发设置送入慢速AD,这种设计在实际中存在明显的不足:模拟信号易受外界干扰,前端放大成形,信号展宽,触发等模拟电路复杂,使用设置繁琐。而数字化的方法尽可能早地采样核信号原始波形,保留了核信号的更多信息,然后根据目的利用数字化处理的方法对采样信号进行分析,其处理方法灵活,相对简便,并可以同时获得核信号波形,时间和能谱等多种信息。
本文所述的全数字核信号波谱分析仪就是一种针对核磁脉冲信号特点,基于DSP、FPGA实现核信号全数字化采集与处理的系统。其采用高速高分辨率ADC直接对传感器信号进行采样,利用USB2.0接口将FPGA(EP1C12)和DSP(TMS320C6713)实时处理的信号波形与频谱结果传送给主机,由主机实现波谱信号的进一步处理与显示。
2 系统结构
本系统采用FPGA+DSP方案,整个系统的实现如图1所示。
图1 系统整体框图
传感器输入信号先通过信号调理电路进行模拟滤波,并由单端模式转变为差分模式。信号调理电路输出的差分信号输入到高速高分辨率差分ADC(AD9245)中进行采样与量化。ADC输出的14位数据首先送入FPGA(EP1C12),进行峰值信息检测等数据预处理,之后送入FIFO存储器IDT72V293中缓存。利用FIFO存储器的半满标志位HF作为DSP处理器的外部中断。当HF有效时,FIFO存储器达到半满状态,启动DSP的EDMA传输,将数据快速地由FIFO存储器转移到同步动态存储器MC48LC32A2中。EDMA传输结束后,DSP对SDRAM中的数据进行进一步处理,并写入USB控制芯片CY7C68013A,由CY7C68013A实现以USB2.0协议的形式将数据传送给主机。
3 硬件电路设计和实现
3.1 信号调理电路和高速ADC电路
核磁脉冲的电学表现为一连串随机的触发脉冲信号,其前沿宽度为100到500ns,后沿拖尾为1到200us。根据带宽估计理论,设信号上升沿(下降沿)宽度为T,则其带宽约为1/2T。因此,本系统的输入信号带宽在5M赫兹左右。这里利用运放AD8138,采用多重反馈滤波器拓扑(Multiple Feedback Filter Topology)实现一截止频率为5M赫兹的低通滤波器,对输入信号进行滤波,滤除其高频噪声及干扰信号。由于本系统中采用差分ADC,而系统的传感器输入为单端信号,因此需要在信号调理电路部分进行单端信号到差分信号的转换。考虑到运放AD8138同时又是一种很好的差分ADC驱动芯片,在这里利用其搭建电路实现单端至差分信号的转换。信号调理电路如图2所示。
图2 信号调理电路
由于高速差分ADC具有使输入动态范围加倍,抗共模噪声等优点,因此在这里采用ADC转换器AD9245来实现模数转换。AD9245其采样速率可到每秒80M个采样点,具有分辨率高(14bit),补码(2’s complement)/偏置码(offset binary)选择输出,可通过管脚灵活配置输入动态范围,功耗小等优点,极其适合应用到各种便携式系统和终端设备中。
3.3 FPGA及其周边电路
FPGA设计直接面向底层逻辑门级器件,其可在线编程,频率高,时延小等优点,都使其在整个系统中适于在前端进行控制及实现对高速数据的预处理,可大大减轻DSP资源占用。本系统选用Cyclone系列FPGA:EP1C12。
EP1C12是Cyclone系列FPGA中的一员,其基于1.5V、0.13um及全层铜SRAM工艺,具有12060个逻辑单元,208Kb的内置RAM,2个PLL锁相环,最大的用户可编程IO可到249个。作为一款低成本的FPGA,Cyclone性价比很高,特别适合应用于大量的数字终端和手持设备中。
在本系统中,外部的20M时钟输入通过FPGA内置的锁相环(PLL),产生FPGA内部同步时钟及AD采样时钟。采用AS(主动串行)模式与JTAG模式相结合的混合配置方式,既可方便地进行在线调试(JTAG模式),又可在离线时利用串行配置芯片实现加电自动加载FPGA固件程序(AS模式)。
3.4 DSP及其周边电路
就信号处理而言,DSP无论在内核结构还是指令系统方面都能提供高速的不同类型,不同层次,不同指定的算法支持,其运算机制、寻址方式、内部资源极为丰富,极其适合信号处理相关方面的应用。本系统的DSP选用TMS320C6713。
TMS320C6713是TI公司C6000系列DSP中的一款浮点处理器,其采用VelociTI、甚长指令字(VLIW)体系结构,主频可到300MHz,运算速度可达2400/1800(MIPS/MFLOPS),具有8个独立的算术逻辑单元(ALU),8KB的一级缓存,256KB的二级缓存,32bit宽的外部存储器接口(EMIF),可实现与外部SRAM、SDRAM、SBSRAM等不同种类存储器的无缝连接,另有16个独立的EDMA通道,这些资源使得TMS320C6713具有强大的数据处理能力,使得其特别适合应用于各种实时信号处理系统中。
DSP的外围电路主要包括:
3.4.1 FIFO存储器
FIFO是一种先进先出的存储器,由于本系统采用40M高速AD采样,数传率最大至560Mbit/s,若采取DSP直接从FPGA读取数据的方式,会占用DSP相当大的资源,因而使用两片IDT公司的16位同步FIFO(IDT72V293)并联组成一个32位的缓存空间,当FIFO半满时,产生中断信号通知DSP,启动EDMA传输,将一批数据由FIFO快速送至SDRAM。
3.4.2 SDRAM存储器
相比其他种类的存储器,SDRAM具有速度快(100MHz/133MHz),容量大(最大可到512Mbit)等优点。这里采用两片SDRAM(MT48LC32M16A2)并联的方式组成一个32位存储空间,工作频率100MHz,数传率可达到400MB/s(3.2Gbit/s)。
3.4.3 FLASH存储器
FLASH是一种不挥发存储器,具有掉电不丢失数据的特点,适合存放DSP固件程序。
3.5 USB及其周边电路
本系统采用USB2.0协议与主机相连。相比USB1.1标准,2.0采用每120us传输一微帧的方式,进行高速传输,传输速率提高到480Mbit/s。系统选择CY7C68013A来实现USB2.0协议。CY7C68013A作为一款比较成熟的芯片,应用较为广泛。其兼容USB2.0协议,将增强型8051核,USB收发器(transceiver)、智能接口引擎(SIE)及一系列其他外围资源有效集成,数传率可达到30MB/s,最大限度的实现了USB2.0协议的带宽。
4 FPGA固件设计
本系统中FPGA主要用来实现控制ADC采样,对采样得到的数据进行预处理,对采样数据进行格式转换以及产生FIFO控制时序等功能,其功能模块如图3所示。AD控制时序产生及采样模块根据系统时钟,利用FPGA内部的PLL,生成FPGA内部同步时钟及ADC40M时钟信号,并利用该信号对14位AD输出数据进行采样。由于AD的输入数据为14位,而FPGA的输出为32位,因此需要数据转换模块进行数据格式的转换。FIFO控制时序产生模块实现外部FIFO存储器写入时序的产生,将FPGA的输出数据写入到外部FIFO中。采样数据处理模块利用移动平均的方法对采样得到数据进行处理,提取数据的峰值及时间等信息。在采样数据处理模块中,首先利用移动平均法对其进行滤波,设输入的数据为V[n],另设滤波后输出S[n]
图3 FPGA固件程序功能框图
(1)
其中n点对应连续情况下的t时刻,k对应T时间内的采样个数。
由(1)式可见,当
(2)
S[n]达到最大值,np点为波峰点。
整个采样数据处理模块的设计采用流水线的方案,利用AD采样时钟同步整个模块。数据经A,B两通路进入峰值检测器,由峰值检测器输出峰值信号(Peak)。峰值检测信号由低到高表示检测到峰值,经U1,U3转化为写控制信号,驱动FIFO寄存器写入峰值信息。同时可利用ADC数据溢出信号OTR(Out of Range),对整个模块进行异常情况处理。当信号超出最大允许输入幅度时,产生复位信号,复位内部FIFO寄存器。
5 结束语
本文基于FPGA、DSP设计了一种全新的核信号波谱分析仪,系统功能强大,性能可靠,可通过USB接口快速接入各种上位机,具备一定的可扩展性,应用于核测量领域中,可以很大程度地提高相关方面技术水平,具有较高的实用价值。同时,作为一个信号采集与实时处理平台,本系统可以广泛地应用于诸多其他相关领域。
本文作者创新点:针对核磁脉冲的特点,采用全数字化技术,直接在前端利用高速AD采样量化,有效地避免了传统核信号波谱分析仪的各种缺陷,系统可通过编程,灵活适应不同信号处理的需要。