自带高精度定时功能的P-HIFU相位信号发生器

2012-06-08 11:15向昱白景峰
中国医疗器械杂志 2012年4期
关键词:固件计数器相控阵

向昱,白景峰

1 上海交通大学生物医学工程学院生物医学仪器研究所,上海市, 200030

2 上海交通大学Med-X研究院,上海市,200030

P-HIFU可以实现焦点的快速移动,多焦点聚焦,指定声窗聚焦等功能[1]。P-HIFU系统主要由上位机、相位信号发生器、功率放大器、换能器阵列组成。上位机通过串口1发送相位控制指令,使相位信号发生器发出频率、相位符合要求的多路方波信号;通过串口2发出功率指令,功率放大器接收指令并将相位信号发生器输出的相位信号放大到所需功率,且频率、相位相同的多路正弦波;由换能器阵列将多路正弦波转换成相应的超声波束。P-HIFU系统结构如图1所示。

图1 P-HIFU系统结构框图Fig.1 Block diagram of P-HIFU system structure

1 P-HIFU相控阵列设计

实现相控阵列的方式有主要有软件移相、模拟移相、数字移相和雷达中的铁氧体移相等。但是,模拟移相复杂且精度不高,软件移相精度更低,铁氧体移相成本过高,均不是实现P-HIFU相控阵列的理想方法。随着可编程逻辑阵列(FPGA)的发展,数字移相实现P-HIFU相控阵列的技术越来越成熟,具有开发周期短、成本低、精度高、可灵活配置系统参数等优势。

1.1 移相原理

本文根据文献[2]中提出的一种数字采样移相的方法实现相移,将方波波形存储在ROM中。假设ROM的位宽为N,则ROM中存储数列为:

当基准时间为t0(0 ≤t0≤N),偏移量为τ(0≤τ≤N),生成的相移波束为xN((t0+τ)%N。在FPGA中,我们用时钟输入的上升沿触发Flip-Flop加法器,产生t0,然后用17路加法器分别实现相移波束合成。系统参数为:相位精度通过更改FPGA固件程序,可灵活配置。

1.2 FPGA固件实现

本文使用Xilinx Spartan6 FPGA,外接Silicon Labs CP2102芯片,从上位机串口读入相控指令;外接50MHz晶振和SW开关,作为各固件模块的异步复位触发器;通过FPGA芯片内置DCM模块将时钟倍频为200MHz,实现位宽96位的ROM,相位精度达到3.75o;产生17路相移波束输出, 频率为200 MHz/96 =2.083 MHz。根据实际需要,我们可以很方便地应用DCM模块灵活配置主频,并在固件程序中设置不同的ROM位宽,灵活地配置系统参数。相控指令包括偏移量和加法器地址选择信息,最终为17个加法器配置不同的偏移量。FPGA固件如图2所示。

图2 FPGA相控阵列固件框图Fig.2 Block diagram of FPGA phased-arrayfirmware

2 模式控制模块增加高精度定时功能

2.1 传统的基于软件定时的方法所面临的问题

P-HIFU系统治疗肿瘤所需时间很短,在100 ms~10s范围内。治疗时间的控制往往由上位机HIFU系统控制软件来完成。其步骤为:①串口发送FPGA相控指令和功率放大器工作指令;②软件倒计时开始;③软件计时结束时,上位机通过串口发送FPGA和功率放大器停止工作的指令。

由于上位机系统往往为windows,属于多任务分时操作系统,控制软件通常为窗体应用程序,其软件计时的误差往往为55 ms左右[3]。要达到1 ms左右高精度的软件计时,往往需要使用一部分艰深的Windows API,还需要修改软件计时器权限[4]。更糟的是,若串口通信使用9 600波特率,通过串口发送指令对FPGA相控阵列进行调制所需时间为2.1 ms×调节路数,最坏情况需耗时>100 ms。而且通过串口启动功率放大器,需要数秒钟稳定放大器输入电压值。因此,传统的由软件控制HIFU系统肿瘤治疗时间会带来很大的误差,在HIFU系统治疗时间为0.1 s时,仅软件计时误差就导致50%定时误差。

2.2 预配置解决定时精度问题

本文采取预配置的方式,规避FPGA相控阵列设定所需时间,其核心思路是FPGA内配置计数器,使其具有高精度定时功能。具体实现思路为:不改变FPGA程序内相控阵列模块,另在FPGA内配置计数器;通过计数器改变相控阵列输出的相位信号的使能状态,当使能状态为‘1’时有相位信号输出,使能状态为‘0’的时候相位信号不输出;计数器控制使能状态的方法即为模式控制。

预配置包括功率放大器预配置、相位预配置和模式预配置,模式预配置是核心。软件启动功率放大器并待其稳定,同时软件计时器启动,此即功率放大器预配置。然后完成相位控制,期间使能状态为‘0’,此即相位预配置。配置计数器,未完成期间使能状态为‘0’,配置结束后使能状态按预设改变,此即模式预配置。软件计时预留时间为FPGA输出信号持续时间加从串口向FPGA和功率放大器发送指令所需时间,并再加一定的冗余时间,保证在FPGA输出相位信号之前启动并稳定功率放大器,并在FPGA输出方波结束后关闭功率放大器。通过预配置可完全规避发送相控指令、启动FPGA、启动功率放大器所需时间和软件计时的误差,FPGA控制的信号输出能够达到时钟周期级的时间精度,使HIFU治疗时间精度大大提高。

2.3 FPGA固件实现模式控制

模式控制模块以内置两个计数器的方式,产生精确到一个超声波周期(480 ns)的使能信号enable,对已有相控阵列产生的相位信号进行相与,得到最终输出。

计数器由上位机输入模式控制指令配置。模式控制指令配置pulse、period、repeat三个参数。取值范围均为[0,2 147 483 647],并且必须保证period≥pulse。此表示每period个超声波周期内,前pulse个周期相控阵输出相位信号可输出,后periodpulse个周期内不可输出。period个超声波周期内输出的波形重复repeat次,repeat为0时,则无限重复。

FPGA内两计数器分别针对pulse和repeat。控制指令输入完成后,pulse、repeat计数器清0,并且最大值分别设为period、repeat值,每一个超声波周期pulse计数器+1。当pulse计数器等于period时,若repeat>0,repeat计数器+1;若repeat等于0则repeat计数器不变。enable= (pulse计数器<period) && (repeat计数器<repeat||repeat ==0)。

图3为增加模式控制模块后的FPGA固件图,虚线部分为模式控制模块:

图3 FPGA模式控制模块固件框图Fig.3 Block diagram of FPGA mode control module firmware

2.4 模式控制验证

为了验证模式控制模块的有效性,本文分别使用仿真和示波器测试模式波输出的方式进行验证。

图4 FPGA模式控制仿真时序图Fig.4 Time sequence diagram of FPGA mode control simulation

图5 FPGA模式控制仿真关键时序部分Fig.5 Important time sequence section of mode control simulation

图4为FPGA相位、模式控制输入、相控阵列产生的连续波,经模式调制后输出的模式波仿真时序图(pulse=3,period=6,repeat=3)。图5可见:①enable出现3段高电平,高电平持续时间为3个方波周期,与pulse、period、repeat的设置完全相符;②enable处于高电平期间,模式波输出相位、频率与连续波完全一致,处于低电平时模式波均为低电平,证明了enable可有效对相控阵列输出相位信号进行调制。仿真结果证明了模式控制的可行性。

将固件下载到FPGA中,使用采样率为2.00 GSa/s的 Agilent MSO-X 2012A示波器进行测试。图6为对设置为pulse=3、period=6和repeat=0的输出模式波进行测试的结果,实测period波段持续时间2.88 μs,pulse波段持续时间1.44 μs,刚好分别为6和3个超声波周期,证明模式控制成功且定时精度达到单个超声波周期,即0.48 μs。另外方波频率2.083 MHz,占空比50%,峰峰值为5.39 V,满足TTL电平标准。跳变沿持续时间为13ns。图7为示波器数字通道测得并经过相位调制和模式调制后的相位信号输出,pulse=3,period=6,repeat=0,可见模式控制对相位控制完全没有影响。

图6 模式波信号测试结果,pulse=3,period=6,repeat=0Fig.6 Moded signal testing result, pulse=3, period=6, repeat=0

图7 模式控制结合相位调制的多路输出波形Fig.7 Multi-output with both phase control and mode control

3 新型相控信号发生器的应用

3.1 实现超短连续波或脉冲波

t为超短连续波或脉冲波持续时间,超声波周期为0.48 μs,预先发送相控指令调制好相位,然后发送模式控制指令,设置pulse = t/(0.48 μs),period ≥ pulse,repeat = 1,即可实现超短连续波或脉冲波。图7即可视为持续时间为1.44 μs,每隔2.88 μs发送一次的超短脉冲波的波形。

3.2 实现间歇式治疗策略

传统的P-HIFU治疗方式为连续波聚焦于靶点,一次性加热,非常容易造成热量累积,对靶点周围和焦前区造成损伤。有研究表明[5],采用间歇式治疗方式,即多次发送持续时间很短的连续波,每次之间有较长的时间间隔,可以有效地避免热量累积。模式控制可以很精确地做到间歇式治疗。设治疗总时间为T,单次治疗时间为t,间隔时间为Цt,可计算出:pulse = t/(0.48 μs),period = (t + Цt)/(0.48μs),repeat = T/t。

4 结论

实验表明,在基于FPGA技术实现P-HIFU相控阵列的基础上增加模式控制模块,在相位信号输出之前预配置相位、相位信号持续时间、连续信号间隔时间和重复次数,从而实现相位信号输出的高精度定时的方法是可行的。该方法定时精度高,而且不影响相位信号发生器的相控效果,是提高短时间尺度内P-HIFU治疗定时精度的一种较好的解决方案。

[1]Ji, X., Shen, G.-F.J Bai et al.Multi-element ultrasound phased array applicator for the ablation of deep-seated tissue[J].Journal of Shanghai Jiaotong University (Science), 2011, 16(1): 55-60.

[2]Tai K.Song, Song B.Parkl.A new digital phased array system for dynamic focusing and steering with reduced sampling rate[J].Ultrasonic Imaging, 1990, 12(1): 1-16.

[3]Feng-juan Cheng, Hui Yin, Qing-hui Zhang, et al.Research of Accurate Software Timing Based on Windows[C].2010 International Conference on Challenges in Environmental Science and Computer Engineering (CESCE), 2010: 104-106.

[4]CHRISTOPHER D, CHAMBERS, MEL BROWN, et al.Timing accuracy under Microsoft Windows revealed through external chronometry[J].Behavior Research Methods, Instruments, &Computers, 2003, 35 (1): 96-108.

[5]McDannold, N, Jolesz, F, Hynynen, K.Determination of the Optimal Delay between Sonications during Focused Ultrasound Surgery in Rabbits by Using MR Imaging to Monitor Thermal Buildup in Vivo[J].Radiology 1999, 211(2):419–426.

猜你喜欢
固件计数器相控阵
采用虚拟计数器的电子式膜式燃气表
相控阵超声技术在PE管电熔焊接检测的应用
相控阵超声波检测技术认证
关于74LS90计数器的Multisim仿真分析
一种相控阵雷达的通讯处理器设计
基于SHA1的SCADA系统PLC固件完整性验证方法
SR620型与53230A型计数器的性能测试
基于固件的远程身份认证
基于小生境遗传算法的相控阵雷达任务调度
算盘是个“小气鬼”