EDA技术在生物医学工程中的应用
摘 要:本文通过EDA技术与生物医学工程相结合,利用Altera软件开发平台MAX+PlusⅡ,应用VHDL语言设计的计数器实现心率测量,并通过数码管实时显示心脏的跳动次数。通过实践证明,生物医学工程与EDA技术发展密切相关及EDA技术对生物医学工程的发展有巨大的推动作用。
关键词:EDA技术心率测量计数器VHDL语言
中图分类号:TH777文献标识码:A文章编号:1007-9416(2010)08-0021-02
1 EDA技术
EDA是Electronic Design Automation(电子设计自动化)的缩写。EDA技术[1]是数字电子设计的一个新技术,以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计电子系统到硬件系统的一门新技术。采用自顶向下的模块化设计,由于顶层设计同器件无关,设计易于在各种可编程器件之间移植。与传统的电子设计相比具有明显的优势:(1)EDA技术采用自顶向下的设计方法。(2)PLD(Programable Logic Device)器件的可编程能力。(3)可以在数字系统设计的各个阶段、各个层次进行仿真和修改。(4)EDA技术支持多种设计文件,发展趋势HDL(Hardware Description Language)描述文件为主。(5)系统可现场编程,在线升级。(6)整个系统可集成在一个芯片上,具有体积小、功耗低及可靠性高的特点。(7)系统研发周期短,节省设计成本。
目前,EDA技术已应用到电子技术及其相关的各个领域中,甚至会超越电子设计的范畴进入其他领域。EDA技术将广泛应用于高校电类专业的实践教学工作中、科研工作和新产品的开发中等多个领域,尤其是专用集成电路的开发。
而将EDA技术与生物医学工程相结合,势必成为 EDA技术一个全新的研究方向, 本文主要研究将EDA技术通过VHDL语言应用于生物医学工程,以对心率的计算为例,实现数字系统对人体生理信号的处理,使生理参数能更准确、更直观的反映人体的生理变化。
2 实际应用
2.1 实验设计
EDA技术在生物医学中的应用——以心率测量为例说明。
心率测量[2]是常用的医学检查项目之一,实时准确的心率测量在病人监控、临床治疗、健身及体育竞赛等方面都有着广泛的应用。心率(Heart Rate):用来描述心动周期的专业术语,是指心脏每分钟跳动的次数。正常成年人安静时的心率有显著的个体差异,平均在75次/分左右(60—100次/分之间)。心率可因年龄、性别及其它生理情况而不同。初生儿的心率很快,可达130次/分以上。同一个人,在安静或睡眠时心率减慢,运动时或情绪激动时心率加快,在某些药物或神经体液因素的影响下,会使心率发生加快或减慢。成人每分钟心率超过100次或婴幼儿超过150次/分者,称为心动过速。成人心跳次数小于60次/分就称为心动过缓。心动过速和心动过缓都会影响人的健康,尤其对心脏有问题的人来说,心率监护是一个很重要的指标。
2.2 设计思想
将通过心电电极采集和处理后的心电信号送入计算机,将此信号作为输入信号,而此信号作为脉冲信号,即如时钟信号触发一样,当输入时计数器开始计数,下面以一个12进制计数器为例来说明如何实现对采集的心电信号进行心率计算。
2.3 EDA设计
EDA设计的流程[3]包括设计输入、功能仿真、设计处理、时序仿真、器件编程和器件测试。EDA支持自顶向下的设计,我们可以把心率测量分为心率计数和显示两个底层模块。
本实验用到的是Altera公司提供的软件开发平台MAX+PlusⅡ[4],采用VHDL语言作为输入。
系统设计程序与仿真结果如下:
2.3.1 十二进制计数器[5]与仿真
libraryieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity xdjs is
port(xd,rst:in std_logic;
xd1:out std_logic;
q:buffer integer range 0 to 11);
end xdjs;
architecture rtl of xdjs is
begin
process(xd,rst)
begin
if rst="1" then q<=0;else
if xd="1"and xd"event then
if q=11 then q<=0;
else q<=q+1;
end if;
end if;
end if;
if q=11 then xd1<="1";
else xd1<="0";
end if;
end process;
end rtl;
在程序输入完成后,通过Max+PlusⅡ主菜单中的Compiler命令编译通过后,可用Stimulator命令进行仿真,仿真结果如图1所示。
2.3.2 心率显示程序与仿真
也可以通过七段数码管显示[6]实时的心率值。该部分可以借助EDA实验箱来完成。实现七段数码管显示的程序如下:
libraryieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity xdxs is
port(q1:in std_logic_vector(3 downto 0);
led:out std_logic_vector(6 downto 0));
end xdxs;
architecture rtl of xdxs is
begin
process(q1)
begin
case q1 is
when"0000"=>led<="0111111";
when"0001"=>led<="0000110";
when"0010"=>led<="1011011";
when"0011"=>led<="1001111";
when"0100"=>led<="1100110";
when"0101"=>led<="1101101";
when"0111"=>led<="0000111";
when"1000"=>led<="1111111";
when"1001"=>led<="1101111";
when"1010"=>led<="1110111";
when"1011"=>led<="1111111";
when others=>led<="0000000";
end case;
end process;
end rtl;
通过Max+PlusⅡ软件得到数码管显示的仿真结果如图2所示:
2.3.3 计数和显示的顶层设计和仿真结果
下载到实验箱的心率计算顶层文件如图3所示,通过该文件可以实现心率的实时显示。下载到实验箱后,就可以通过实验箱上的数码管读出相应的心率值,仿真结果如图4所示。
EDA技术是电子设计的重要工具,无论是设计芯片还是设计系统,如果没有EDA工具的支持,都将是难以完成的。将EDA技术应用于生物医学工程,能更准确的测量人体的心率、血压等生理信号。同时可以通过复杂的设计实现对生理信号的滤波和医学图像检测等处理,使生理信号更好的为临床所用。因此,EDA技术在生物医学工程领域有广阔的发展和应用空间。
参考文献
[1] 刘爱荣,王振成.EDA技术与CPLD/FPGA开发应用简明教程[M].北京:清华大学出版社,1-3.
[2] 魏庆国,奉华成.基于FPGA的数字式心律计[J].电子技术应用2005(7)75-77.
[3] 黄仁欣.EDA技术实用教程[M].北京:清华大学出版社.
[4] Robert K.Dueck著.张春 译.数字系统设计[M].北京:清华大学出版社,142-469.
[5] 潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,63-65.
[6] 谭会生,翟遂春.EDA技术综合应用实例与分析[M].西安:西安电子科技大学出版社,40-43.
推荐访问: 生物 医学工程 技术 EDA