基于FPGA的射频热疗系统的设计
2010-08-08杨新华李润春
杨新华 ,李润春 ,王 鹏
(1.兰州理工大学 电气工程与信息工程学院,甘肃 兰州730050;2.兰州瑞德实业集团有限公司 瑞德高科,甘肃 兰州730000)
肿瘤热疗采用加热方法治疗肿瘤,精确而言,这种治疗方法是一种利用各种物理量(如微波、射频和超声波)在人体组织中沉淀所产生的热效应,使组织温度上升至有效治疗温度区域(41℃以上),并维持一定的时间以达到既杀灭癌细胞又不损伤正常组织为目的的治疗方法。它是继手术、放疗、化疗和免疫治疗后的第5种治疗手段,尤其对局部肿瘤的控制作用往往是其他方法所无法比拟的[1]。
实验表明,在42℃区域,温度差 1℃就可以引起细胞存活率的成倍变化,因此,热疗中的温度测量有着十分重要的意义。可以说,热疗中能否准确测温和精确控温是取得疗效的关键。
常用的温度传感器(如热敏电阻等模拟类器件)存在非线性、参数不一致,器件更换时因放大器零漂问题而需对电路重新调试等问题。而对于温度场的控制方法,多采用以CPU或单片机为核心的控制系统,这些以软件方式控制操作和运算的系统速度显然无法与纯硬件系统相比,且可靠性不高。
针对以上两个问题,本文采用高精度数字温度传感器DS18B20与可编程逻辑器件FPGA实现温度测量与控制。DS18B20是由单片集成电路构成的单信号数字化温度传感器,突出优点是可以将被测温度直接转化为数字信号输出。经电桥电路获取电压模拟量,再经信号放大和模数转换变成数字信号,避免了传统传感器的互换性差的问题。尤其在多点温度检测场合,在解决各种误差、可靠性和实现系统优化等方面,DS18B20与传统温度传感器相比,有着无可比拟的优越性。采用FPGA作为控制器,是由于它以纯硬件实现控制,适应温度场高可靠性的要求。另外,还可以使系统的器件数目大大减少,具有设计灵活、现场可编程、调试简单和体积小等特点。
1 射频热疗系统设计
根据脑胶质瘤的生物组织特点,选用射频信号作为加热的物理能量,并采用二极板容性加热的方式,系统框图如图1所示。射频信号的频率为0.5 MHz,经过500 Hz占空比可调的调制信号调制后输出控制信号。FPGA作为控制器控制加温的全过程,设定温度通过控制面板向FPGA输入,DS18B20对温度进行测量,并且将实时数字测量值送回FPGA。FPGA将测量值与设定值进行比较,经过控制算法的处理后,确定调制信号的占空比。控制信号经过隔离电路与驱动电路加到工作极板上。极板间介质的加热功率可通过调整500 Hz调制信号的占空比来控制。
2 系统硬件电路设计
2.1 硬件整体结构
硬件电路主要包括 FPGA及其配置电路[2]、电源电路、光耦隔离电路、驱动电路、控制面板和显示单元电路,框图如图2所示。
本设计使用的FPGA芯片是Altera公司ACEX 1K系列的EP1K30TC144-3,并采用了Altera公司提供的专用配置芯片EPC2对其进行数据配置;外部20 MHz的石英晶振为FPGA提供时钟信号;ACEX 1K所需的2.5 V和3.3 V电压由外部的5 V电源通过电源电路获得;控制面板由拨码开关和按钮构成,指拨开关用来控制数码管的显示,按钮用来向FPGA输入设定温度,为避免驱动电路对控制电路的干扰,采用1 MHz的高速光耦6N137进行隔离,控制对象的加热功率由驱动电路中的56 V电源提供。
2.2 高精度数字温度传感器DS18B20
本设计采用的温度传感器是Dallas公司的1-Wire系列[3]高精度数字温度传感器DS18B20。1-Wire单总线是Dallas的一项专有技术,它采用单根信号线既传输时钟又传输数据,而且数据传输是双向的。具有节省I/O口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点,1-Wire单总线适用于单个主机系统,能控制一个或多个从机设备。
DS18B20提供9~12位精度的温度测量;电源供电范围是3.0 V~5.5 V;温度测量范围-55℃~+125℃,在-10℃~+85℃范围内,测量精度是0.5℃;增量值最小可为0.062 5℃;将测量温度转换为12 bit的数字量最大需要750 ms。DS18B20可采用信号线寄生供电,不需额外的外部供电电压。每个DS18B20有唯一的64 bit的序列号,这使得多个DS18B20可以在单一总线上工作。
3 系统软件设计
全部软件功能在Quartus II软件平台上使用混合编程的方法设计。功能框图如图3所示。指定温度[4]通过外部的两个按钮式按键输入,在FPGA内部对这两个按键进行弹跳消除处理,因此完全可以用来计数。指拨电平开关Set用来对温度设置进行控制,而Show_set是温度显示开关。系统时钟由外部的20 MHz的石英晶振提供,经过分频处理得到500 kHz、占空比为50%的射频信号和 500 Hz、占空比 0~40%可调信号,同时为 DS18B20提供同步信号。指定温度和经DS18B20测量得到的实际温度经过处理转换成4位十进制以后,通过数码管显示其数值。根据指定温度和实际温度,由控制算法得到相应占空比的两路带死区的互补调制信号。射频信号经调制信号调制后,经过光耦隔离电路和驱动电路,最后加到工作电容上。
3.1 控制算法的选择和设计
传统的控制系统中,控制算法由系统的数学模型确定。在本系统中,被控对象是患者的体内温度,由于每个患者的情况各不相同(如肿瘤所在的人体部位、肿瘤大小和患者本身的高矮胖瘦无不是影响受热温度的因素),对于这样的不确定对象建立确定的数学模型是很困难的。因此,本热疗系统采用了模糊控制作为系统的控制算法。
3.2 射频热疗模糊控制器的设计
理论上讲,模糊控制系统所选用的模糊控制器维数越高,系统的控制精度也就越高。但是维数越高,模糊控制规律也越复杂,基于模糊合成推理的控制算法的计算机实现也就越困难。权衡精度要求与复杂度两方面因素后,在射频热疗温度控制系统中,设计了两种控制方案[5]:第一种采用以温度偏差作为输入,以 500 Hz调制信号(PWM波)的占空比数为输出的一维模糊控制器结构;第二种采用以温度偏差及温度偏差变化率作为输入、以500 Hz调制信号的占空比数为输出量的二维模糊控制器结构。
3.2.1 单输入、单输出的一维模糊控制器
设温度偏差 error=设定温度T0-测量温度Tt,它和输出控制量即占空比数ratio的论域分别为E和R,因为设定温度的范围为40℃~45℃,测量温度范围为25℃~45℃,假设超调温度不超过 5℃,那么 error的基本论域为[-5℃,+20℃];R 的基本论域为[0,40%]。将 E分成 7个模糊子集,将R分成6个挡,采用IF E then R的模糊控制规则,即可得到相应的模糊控制规则表。
3.2.2 双输入、单输出的二维模糊控制器
其结构框图如图4所示,输入信号分别是温度偏差和温度偏差率,输出信号是500 Hz PWM波的占空比数。设温度偏差error=设定温度T0-测量温度Tt,而温度偏差率=(此刻测量温度-上一时刻的测量温度)/时间间隔。令时间间隔为1 s,所以用此刻测量温度与上一时刻的测量温度的差值即可衡量温差变化的幅度。因此令温度偏差变化率rate=此刻测量温度(Tt)-上一时刻的测量温度(Tt-1)。偏差error的基本论域取为[-5℃,+20℃],定义error所在的模糊集的论域为E,并将其划分为10个模糊子集。rate的基本论域取为 [-0.25℃,+0.25℃],定义rate所在的模糊集的论域为RT,并将其划分为9个模糊子集,将输出量即占空比数ratio所在的模糊集的论域R也划分为9个模糊子集。采用IF E and RT then R的模糊控制规则,即可得到相应的模糊控制规则表。
4 温度场测量与控制的实验
4.1 实验材料及方法
为了检验所设计的射频热疗温度场测量与控制系统的性能,设计了如下实验:
(1)在室温条件下(25℃),取猪精瘦肉为加工对象[6],将铝质极板夹在猪肉两侧,并在猪肉的中心位置、距离中心位置4 cm处(记作边缘)和表面各放置一个DS18B20测量实时加热温度。
(3)取三块精猪肉(电导率为 σ=0.6 S/m)记作 A、B和 C,它们的体积分别为 10 cm×10 cm×5 cm(长×宽×高)、10 cm×9 cm×5 cm 和 8 cm×8 cm×4 cm;令功率电源电压UDD=56 V,则可得到最大功率分别为242 W、215 W和193 W。两个极板材料为铝,面积为8 cm×8 cm。
(4)指定加热温度(40℃~45℃)对猪肉进行加热,每隔1 min分别记录一次中心、边缘和表面温度。
(5)对两种控制算法(一维和二维)分别进行实验。
4.2 实验结果
4.2.1 用一维模糊控制器作算法的实验结果
实验一 加热对象 A,指定温度 40℃,记录A中心和表面的加热温度,实验结果如表1所示。
?
从结果可以看出,在第7 min时A的中心温度超过指定的温度40℃,但温度仍继续升高到40.7℃,此后温度逐渐下降,在第12 min时,温度稳定下来,在 39.9℃和40.0℃之间振荡。而A的表面温度没有随着加热而变化,一直是25℃。
实验二 加热对象 A,指定温度 41℃,记录A中心和表面的加热温度,实验结果如表2所示。
?
从结果可以看出,在第6 min多时A的中心温度达到指定的温度41℃,但温度仍继续上升并在第7 min时达到最高温度42.1℃,此后温度逐渐下降,在第 10 min降到极小值41.0℃。然后温度升高,在第12 min时稳定在41℃。表面温度仍未发生变化,保持在25℃。
4.2.2 用二维模糊控制器作算法的实验结果
实验三 加热对象B,设定温度分别为41℃、42℃、43℃、44℃和45℃。记录B中心、边缘和表面的加热温度,实验结果如表3所示。
?
从结果可以看出,在指定温度为41℃、42℃和43℃时,中心温度有超调现象,但超调量很小,均在0.2℃内。边缘温度随着中心温度的升高而上升,最高边缘温度是27.1℃(此时中心温度为45.0℃),表面温度没有变化,仍为25℃。
实验四 加热对象C,设定温度分别为41℃、42℃、43℃、44℃和45℃。记录C中心、边缘和表面的加热温度,实验结果如表4所示。
?
表4中,中心温度超调最大时为0.5℃,且出现超调后,温度下降的速度较快。边缘温度最高时为32.7℃。表面温度没有变化,仍为25℃。
4.3 实验结果分析
(1)超调问题。从一维控制算法的实验结果(实验一和实验二)可以看出,温度超调量比较大,超出了1℃。而从二维控制算法的实验结果(实验三和实验四)可以看出,温度超调量比较小。均在0.5℃内;
(2)从A、B和C加热时的表面温度和边缘温度可以得出以下结论:
①加热过程中,A、B和C的表面温度没有发生变化,均为 25℃;②不同加热温度时,边缘温度不同,且边缘温度的变化与中心温度的变化是一致的;③同一加热温度时,3个不同体积的对象边缘温度不同,这正反映了热疗温度场的温度分布是从中心向表面呈梯度分布的。
(3)实验过程中可能的影响因素:
①三块猪肉的肉质,如含水量等存在差异;②极板与介质(猪肉)的接触面紧密程度不一致,会引起电磁场阻抗的差异。
本文根据脑胶质瘤的组织特点,选用射频容性加热的方法,并针对常规的温度传感器互换性差和控制方法不稳定的缺点,设计了使用高精度数字温度传感器DS18B20和可编程逻辑器件FPGA来实现射频热疗温度场测温和控温的系统。所设计的射频温度场温度测量与控制的方法满足热疗要求。为达到更好的温度场控制效果,本射频热疗系统还应加入四或六电极板的方法,以进一步优化控制算法。
[1]周润景,图雅,张丽敏.基于 Quartus II的 FPGA/CPLD的数字系统设计[M].北京:电子工业出版社,2009:354-405.
[2]罗朝霞,高书莉.CPLD/FPGA设计及应用[M].北京:人民邮电出版社,2007:10-35.
[3]李钢,赵彦峰.1-Wire总线数字温度传感器DS18B20原理及应用[J].现代电子技术,2005,28(21):77-79.
[4]张晓兰,侯海艳,白雪飞.基于 MCU和 FPGA的热疗系统控温仪设计[J].河南科技大学学报:自然科学版,2009,30(2):22-25.
[5]张晓兰,郭冰菁,朱坚民,等.基于 MCU和 CPLD的热疗温度模糊控制系统[J].河南科技大学学报:自然科学版,2007,28(4):24-27.
[6]贾丹平,高鹏,伞宏力.热疗测温技术的现状及测温误差估算[J].沈阳工业大学学报,2007,29(6):692-695.