新闻中心

EEPW首页 > 医疗电子 > 设计应用 > 一种新型多功能诱发电位刺激器的研制

一种新型多功能诱发电位刺激器的研制

作者:时间:2012-08-22来源:网络收藏

摘 要: 设计了一种基于FPGA的用于系统的,利用FPGA实现所需的光刺激、声刺激和电流刺激。可用于视觉、听觉诱发电位及体感诱发电位等多种自发和诱发电位等生理检查中。与传统的诱发电生理刺激系统相比,该设计简化了电路、功能多、体积小、刺激输出准确可靠,应用范围广,能很好地满足诱发电位检测的性能要求。

本文引用地址:http://www.eepw.com.cn/article/198901.htm

关键词: FPGA;VHDL;

诱发电位EPs(Evoked Potentials)是指对神经系统某一特定部位给予特定刺激后在大脑皮层所产生的特定电活动,它是神经系统对外界刺激的直接电生理反应,其对于神经系统功能性异常的疾病有独特的检测诊断能力[1]。诱发电位是继心电图和脑电图技术之后临床电生理学的第三大进展, 它与计算机断层成像技术(CT)并称为检测神经系统功能的两大有力工具[2]。诱发电位根据刺激部位的不同分为视觉诱发电位、听觉诱发电位、体感诱发电位,与其对应刺激信号源有光、声、电三种。目前国际国内的诱发电位仪的刺激信号源体积大、功能单一,且视觉诱发电位仪、听觉诱发电位仪和体感诱发电位仪的功能相互独立[2-4]。

1 系统结构

本系统核心控制芯片FPGA采用美国Altera公司的CycloneII系列EP2C8Q208C8N,它提供了8256个逻辑单元。利用FPGA产生视觉诱发电位、听觉诱发电位和体感诱发电位等诱发电位检测所需要的刺激信号。系统主要由图形刺激模块、闪光刺激模块、声音刺激模块和电刺激模块组成,系统的原理框图如图1所示。

上位机(通常是PC机)根据诱发电位检测的需要向FPGA发送相应的刺激命令和参数,由于上位机向FPGA发送一些简单的数字控制命令,因此选择波特率为115.2 Kb/s的串口通信。选择控制模块接收上位机传来的命令,经分析确定输出何种刺激。闪光刺激、电流刺激和声音刺激的纯音、疏波、密波、交替波是由FPGA产生的PWM脉冲调制波,经D/A转化为模拟信号。电流刺激中的双极性刺激由外围的双极性恒流源控制电路把D/A输出的单极性转化为双极性刺激信号,再由升压电路使刺激电流达到体感刺激所需要的电流强度。

2 图形刺激

图形刺激模块包括VGA时序模块和图形刺激生成模块,VGA时序模块生成控制CRT阴极射线枪的水平同步信号HS和垂直同步信号VS,图形生成模块生成显示不同图形的R、G、B三基色信号。图形刺激有竖条栅、横条栅、棋盘格和圆环。

2.1 VGA时序模块

本设计采用的显示器分辨率为800×600,像素频率是50 MHz,场频72 Hz。程序中设置2个变量:行点计数器hcnt和场行计数器vcnt。hcnt对系统时钟clk进行计数,vcnt对hcnt进行计数,根据VGA的工业标准,hcnt是从第0个时钟计数到第1 039个时钟反复计数,vcnt是从第0计到665个hcnt反复计数。在HS信号生成中800个时钟是有效的行显示时间,120个时钟是行同步时间。在VS生成中,600个行周期是有效的显示时间,6个行周期是场同步时间。下面的程序产生HS行信号和VS场信号。

if (clk′event and clk = ′1′) then

if (hcnt >= 800+56 and hcnt 800+56+120) then

HS = ′0′;

else HS = ′1′;

end if;

end if;

if (clk′event and clk = ′1′) then

if (vcnt >= 600+36 and vcnt 600+36+6) then

VS = ′0′;

else VS = ′1′;

end if;

end if;

2.2 图形生成模块

刺激图形生成模块是对系统时钟进行计数,通过对行计数器hcnt和场计数器vcnt的判断和运算来产生图形。在设计中把显示器看作一个直角坐标系,其原点在左上角,hcnt(0~799)是横坐标,vcnt(0~599)是纵坐标,通过对hcnt和vcnt的判断,赋予R、G、B三基色不同的值,实现竖条栅、横条栅、棋盘格和圆环图形的生成。

2.2.1 竖条栅和横条栅刺激图形生成模块

竖条栅和横条栅的显示,分别是通过对行点计数器hcnt和场行计数器vcnt的控制实现的。竖条栅是对hcnt判断产生,其判断公式为hcnt(800÷n)×i,n是产生竖条栅的条数,i在1~n取值,表示显示屏上第几个竖条栅,如白黑交替的4条竖条栅的产生:hcnt200,RGB=111111;hcnt400,RGB=000000;hcnt600,RGB=111111,hcnt800,RGB=000000时,RGB是输出到显示器VGA接口的6位色彩信号,“000000”表示黑色,“111111”表示白色。横条栅的产生与竖条栅原理相似,是根据vcnt来产生,它的判断公式为vcnt(600÷n)×i,n表示横条栅的条数,i在1~n取值,表示显示屏上第几个横条栅。

2.2.2 棋盘格图形生成模块

棋盘格是在横条栅和竖条栅产生的基础上,通过横条栅和竖条栅“异或”运算生成。由于视觉诱发电位的图形所要求的棋盘格最高空间频率为96×128,如果通过简单“异或”运算,程序繁琐,浪费FPGA资源。本文提出一种简单的方法:以空间频率6×8的棋盘格图形为基础,通过平移生成12×16、24×32、48×64、96×128等高空间频率的棋盘格图形。以空间分辨率为12×16的棋盘格图形为例,首先使全屏6×8棋盘格图形缩小在显示屏的左上1/4角 ,然后再分别向右和向下平移缩小后的图形,生成12×16的棋盘格刺激图形。这样通过缩小和平移生成高空间分辨率的刺激图形,既简化了程序,又节约了FPGA的硬件资源。

r是平移后到原点的距离,r的取值不同显示出不同的圆环。实验表明,如果直接采用乘法运算,由于运算的数据比较大(hcnt、vcnt都是10 bit的二进制数),显示的同心圆环图形中有多余的竖条,影响图形的质量。此时可通过调用FPGA内部乘法器的IP核加快计算速度解决这一问题。试验证明,通过设置乘法器IP核延时5个时钟单元,可以避免显示的同心圆环图形中出现多余的竖条。而延时的多少与FPGA芯片类型的选取有关。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭