一种基于FPGA控制的多路并行数据采集设计方法

2014-01-29 05:28季振宇史学涛尤富生刘锐岗董秀珍
医疗卫生装备 2014年2期
关键词:正弦时序时钟

马 航,季振宇,史学涛,尤富生,付 峰,刘锐岗,董秀珍

0 引言

生物电阻抗成像是继形态、结构成像之后的新一代更为有效的无损伤功能成像技术,是医学成像技术的一个新方向[1-2]。其中,多路信号采集是生物电阻抗成像技术的关键环节。由成像原理可知,多路信号采集模块应该满足同步性、高精度和高速率的采集要求。特别是在电阻抗扫描(electrical impedance scanning,EIS)中,要实现 64路(甚至更多路)信号的采集。而且,采集信号的规模有逐渐增大的趋势,这就对多路信号采集模块的效率、性能提出了更高的要求。目前的多路信号采集模块采用“MCU+FPGA”架构,实现了对64路信号的串行采集[3]。但是这种设计存在一些问题,例如采集速率难以满足未来的需求,并且需要对采集结果进行校正后才能实现同步性的采集。

针对以上问题,研究了一种基于FPGA控制的多路并行数据采集设计方案。该方案通过在FPGA上定制一个Nios II软核来代替原有的MCU,并且实现了控制4路A/D转换器进行并行采集。该方案选用FPGA作为系统的主控芯片,是因为它相比传统的采集控制器(如单片机、DSP芯片)具有时钟频率高、内部延时小、速度快、效率高、I/O引脚丰富和功耗低的特点[4]。

1 系统的总体设计

1.1 总体分析

本研究是针对EIS乳腺成像设备数据采集系统的探索性研究。根据其具体的成像需要,该采集系统要实现以下功能:接受上位机指令,产生一个频率可控的基准同步时间信号;然后根据该同步时间信号来控制产生一个频率在100 Hz~100 kHz之间的模拟正弦激励信号;最后再对64路的响应信号进行每周期128点的同步测量,并将得到的数据实时上传给上位机进行后续分析、处理。

该设备的一次检测过程中需要对64路信号在多个激励频率下进行测量,因此,该设备的数据采集具有数据量大、实时性要求高、精度要求高等特点。为了使设备适应临床应用,该采集系统必须具备高速、高精度的特点。因此,需要采用并行的数据采集方式,选用高精度的A/D转换器,并进行精密的时序控制。

1.2 系统结构

一般的数据采集系统主要由微控制器、采集硬件电路、通信接口和上位机等部分组成。本研究中采用Altera公司的FPGA芯片作为系统的主控芯片,通过在其上面定制一个Nios II软核来作为系统的微控制器;然后采用硬件描述语言对FPGA芯片编程,并实现对硬件电路的具体时序控制。系统的结构如图1所示。

图1 系统的结构框图

该设计的优点是:(1)FPGA芯片代替了常用的微控制器ARM等芯片,从而大大提高了系统的集成度,并降低了设计成本。(2)可将系统划分为底层硬件电路模块、通信接口模块和上位机主控程序模块3个部分。其中,通信接口模块采用UART(异步串行通信)接口。

2 底层硬件电路的设计

结合系统的具体功能,该模块又可分为Nios II软核CPU的设计、基准同步时间信号源的设计和多路A/D采集模块的设计3个部分。其中,基准同步时间信号源的设计中通过控制一个串行可编程时钟源来产生频率可控的基准同步时钟信号,并利用该基准时间信号来控制D/A转换器产生一个模拟正弦激励信号。最后,由该基准同步时间信号控制,采用16选1模拟多路开关控制4路A/D通道的方式实现对64路信号的并行同步的测量。

2.1 Nios II软核CPU的设计

Nios II软核作为采集系统的微控制器,应该具有以下功能:(1)能够接收上位机的指令,分析并及时响应,然后实现对电路板的采集启动/停止过程的控制。(2)实现对串行可编程时钟源的SPI编程,并控制基准同步时间信号的频率切换。(3)及时响应FPGA采集模块的中断请求,并快速地将FPGA自带RAM中的暂存数据读取到外设SDRAM中,然后通过串口进行发送。

根据以上性能要求,设计了一个具有UART接口IP核的Nios II软核,其主频是100 MHz,然后再进行具体软核程序的设计。

2.2 同步时间信号的产生

为了使采集过程和激励信号同步起来,以得到精确的相位、幅值变化的数据信息,从而分析并得到高准确度的组织电阻抗特性,本设计需要先得到一个正弦模拟激励信号,然后由此得到一个同步时间信号。

具体的方法是:先在一个标准的正弦信号周期内均匀地取1 024个点,依次存放在预先定制的一个ROM中。然后将基准同步时间信号作为ROM的读取和D/A转换器的转换时序,并将读取的数据依次传入D/A转换器进行模数转换,以此得到模拟正弦激励信号。工作时,通过控制基准同步时间信号的频率来实现对激励信号频率的控制。其工作原理如图2所示。

图2 激励源的工作原理图

本设计选用串行可编程时钟源ICS307-01芯片,并利用一个10 MHz晶振为其提供基准输入时钟信号。工作时,需要对该芯片进行SPI编程来得到相应的输出时钟信号。以产生10 kHz的激励信号为例,由上述原理可知,需要一个10.24 MHz的ROM读取时序和D/A转换时序。根据ICS307-01芯片的数据手册可以得知,需要对该芯片依次串行输入24 bit的二进制数00100000 00111100 00010111,图3是SPI编程仿真时序。

图3 ICS307-01芯片输出为10.24 MHz时的SPI编程仿真时序

该系统中选用的D/A转换器是AD9777芯片,它具有14位的转换精度,最大转换速率是125Msps,能够满足系统的性能要求。将得到的10.24 MHz输出时钟作为ROM的读取时序和D/A转换器的转换时序,并将读取的数据直接传给D/A转换器进行数模转换,从而得到10 kHz的模拟正弦激励信号。

根据该正弦模拟激励信号得到相应的同步时间信号,如图4所示。具体的方法是:在产生正弦模拟激励信号时,需要将1 024个数值依次传送给D/A转换器进行转换。从第1个点到第512个点进行转换时将同步信号置为高电平,而从第513个点到第1 024个点进行转换时将同步信号置为低电平。然后将同步信号的上升沿作为A/D转换的启动信号,直到完成64路信号的采集。这样不仅可以保证在相同的激励条件下对64路信号进行等效的同时测量,而且也能准确地反映响应信号同激励信号的幅值、相位差异,从而可以进一步分析得到较为准确的组织电阻抗特性。

图4 同步时间信号产生原理

2.3 多路A/D采集模块的设计

在工程领域,有2种基本的多路并行数据采集系统的构成方式[5]。一种是多路输入信号同时转换的并行系统,另一种是用多路A/D对同一路输入信号进行分时转换的并行系统。而本研究中,基于第一种并行方式设计出一种利用4个16选1模拟多路开关分别控制4路并行A/D转换器的方式实现了对64路信号的采集。该系统中选用的A/D转换器是AD7671芯片,它具有16位的转换精度,正常转换模式下的最大转换速率是800 Ksps。而且,当每一通道完成128点的采集之后再切换到下一通道。

由于本系统的激励源频带较宽,且A/D转换器的转换速率有限,所以,该系统采用工程上常用的“等效时间采样法”[6],其原理如图5所示。即在k个周期内实现N点的采集,当k和N互质时,能保证无重复采样,最后将采集得到的数据进行重新排列来得到重建信号,从而实现等效采集。

图5 等效时间采样示意图

采集得到的数据暂存在FPGA自身的RAM中。本研究中为每路A/D转换器定制了2个相同的双口RAM 进行“Ping-pong”操作[7],并且每个 RAM 都具有1 024个16位的存储单元。该系统中需要在奇数k个激励源信号周期内采集128个点的数据。这时只需要将激励源模块的D/A转换时钟进行8倍分频,再进行奇数k倍的分频来作为A/D的转换时钟。为了省去后续的重建过程,在数据存储过程中需要准确计算数据的存储地址。分析可知,当采用k周期的等效时间采样方式时,RAM的地址应按奇数k递增。经过计算可知,当激励源频率小于6.25 kHz时,k取值为1。否则,k的取值应该进行计算并取最合适的数值,以在最少的周期内完成采集。以激励源频率为10 kHz为例,k应取3。

完成各个模块的设计后,需要对采集系统进行整体的时序控制,控制时序如图6所示。当采集启动信号由低电平变为高电平时,系统开始产生正弦模拟激励信号,同时得到相应的同步时间信号。然后由同步时间信号控制A/D的转换过程,在k个激励周期(即同步时间信号周期)内完成对每一信号通道128点的采集。

图6 系统整体控制时序示意图

3 采集、传输与显示

该研究中采用异步串行的通信方式,采用的波特率是115 200,数据位是8,并自定义了相应的通信协议。然后通过编写VC程序,在上位机上实现对采集电路板的控制,并对采集得到的数据进行存储、显示和初步的处理。图7为激励源频率为10 kHz时的采集结果,程序每次显示2个信号通道的采集结果,然后可以通过切换通道查看其余信号通道的数据。

图7 上位机测试结果

经过测试,该系统可以产生频率在100 Hz~100 kHz之间任意值的正弦模拟激励信号。同时能够实现4路A/D转换器的并行采集,并能够在激励信号不变的情况下通过16选1模拟多路开关控制完成64路信号通道的数据采集,最终能够将采集的数据通过异步串行的通信方式上传给上位机进行显示和存储。

4 讨论

本文根据EIS成像的基本原理,对基于FPGA控制的多路并行数据采集方案进行了探索性研究。在已有的基于FPGA控制的多路串行数据采集系统的基础上,通过在FPGA上定制一个Nios II软核来代替现有的MCU,并实现对4路A/D转换器的并行采集控制,最终通过异步串行的通信方式将采集结果上传到上位机。通过对2种采集方式进行对比研究,可以发现并行采集方式在保证数据精度的同时可以缩短采集时间。

经过初步的测试验证,该设计方案达到了探索性研究的目的。该设计方案省去了原有ARM等专用微控制器,明显提高了采集系统的集成度,降低了EIS成像设备的成本。总之,该设计方案有望应用于EIS成像设备,并有可能为解决其采集中存在的问题提供一些有价值的借鉴。

[1]董秀珍.生物电阻抗成像研究的现状与挑战[J].中国生物医学工程学报,2008,27(5):641-643.

[2]Surowiec A J,Stuchly S S,Barr J B,et al.Dielectric properties of breast carcinoma and the surrounding tissues[J].IEEE Trans Biomed Eng,1988,35(4):257-263.

[3]季振宇,史学涛,尤富生,等.用于乳腺普查的电阻抗扫描系统的硬件设计[J].仪器仪表学报,2008,29(6):1 171-1 175.

[4]肖积涛,马幼鸣,周鸣争,等.基于FPGA的高速数据采集系统的设计与实现[J].计算机技术与发展,2012,22(6):217-220.

[5]林君.微型机在仪器、测控和高速信号处理中的应用与实例[M].北京:海洋出版社,2002.

[6]郑毅,王楚.一种全新的等效采样[J].北京大学学报:自然科学版,1999(5):687-692.

[7]钱黄生,夏忠珍.基于FPGA双RAM乒乓操作的数据存储系统的研究[J].科技信息,2010(21):89,96.

猜你喜欢
正弦时序时钟
正弦、余弦定理的应用
清明
别样的“时钟”
古代的时钟
基于不同建设时序的地铁互联互通方案分析
“美”在二倍角正弦公式中的应用
基于FPGA 的时序信号光纤传输系统
利用正弦定理解决拓展问题
有趣的时钟
正弦、余弦定理在三角形中的应用