《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 一种新型多功能诱发电位刺激器的研制
一种新型多功能诱发电位刺激器的研制
来源:电子技术应用2012年第6期
朱伟芳,陈 骥
重庆大学 生物工程学院,重庆400044
摘要: 设计了一种基于FPGA的用于诱发电位系统的刺激器,利用FPGA实现诱发电位所需的光刺激、声刺激和电流刺激。可用于视觉诱发电位、听觉诱发电位及体感诱发电位等多种自发和诱发电位等生理检查中。与传统的诱发电生理刺激系统相比,该设计简化了电路、功能多、体积小、刺激输出准确可靠,应用范围广,能很好地满足诱发电位检测的性能要求。
关键词: FPGA VHDL 刺激器
中图分类号: TN431.2
文献标识码: A
文章编号: 0258-7998(2012)06-0054-04
Design of new type of multi-function evoked potential of the stimulator
Zhu Weifang,Chen Ji
College of Bioengineering, Chongqing University, Chongqing 400044,China
Abstract: This paper designs a kind of evoked potential stimulator based on FPGA, using the FPGA to achieve light, sound and current stimulation used in evoked potentials. It can be used for visual evoked potentials, auditory evoked potentials and the somatosensory evoked potentials and so other kind of spontaneous and evoked potential check. The design is better in the simplifying the circuit and smaller volume, and much more functions than the traditional evoked stimulation system. Its outputs are accurate and reliable and application range is wide. It can meet the requirements of evoked potential detection very well.
Key words : FPGA;VHDL;stimulator

    诱发电位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 <= &prime;0&prime;;
        else     HS <= &prime;1&prime;;
        end if; 
      end if;
    if (clk&prime;event and clk = &prime;1&prime;)   then
        if (vcnt >= 600+36 and vcnt < 600+36+6)   then
                VS <= &prime;0&prime;;
            else   VS <= &prime;1&prime;;
        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&divide;n)&times;i,n是产生竖条栅的条数,i在1~n取值,表示显示屏上第几个竖条栅,如白黑交替的4条竖条栅的产生:hcnt<200,RGB=111111;hcnt<400,RGB=000000;hcnt<600,RGB=111111,hcnt<800,RGB=000000时,RGB是输出到显示器VGA接口的6位色彩信号,&ldquo;000000&rdquo;表示黑色,&ldquo;111111&rdquo;表示白色。横条栅的产生与竖条栅原理相似,是根据vcnt来产生,它的判断公式为vcnt<(600&divide;n)&times;i,n表示横条栅的条数,i在1~n取值,表示显示屏上第几个横条栅。
2.2.2 棋盘格图形生成模块
    棋盘格是在横条栅和竖条栅产生的基础上,通过横条栅和竖条栅&ldquo;异或&rdquo;运算生成。由于视觉诱发电位的图形刺激器所要求的棋盘格最高空间频率为96&times;128,如果通过简单&ldquo;异或&rdquo;运算,程序繁琐,浪费FPGA资源。本文提出一种简单的方法:以空间频率6&times;8的棋盘格图形为基础,通过平移生成12&times;16、24&times;32、48&times;64、96&times;128等高空间频率的棋盘格图形。以空间分辨率为12&times;16的棋盘格图形为例,首先使全屏6&times;8棋盘格图形缩小在显示屏的左上1/4角 ,然后再分别向右和向下平移缩小后的图形,生成12&times;16的棋盘格刺激图形。这样通过缩小和平移生成高空间分辨率的刺激图形,既简化了程序,又节约了FPGA的硬件资源。

r是平移后到原点的距离,r的取值不同显示出不同的圆环。实验表明,如果直接采用乘法运算,由于运算的数据比较大(hcnt、vcnt都是10 bit的二进制数),显示的同心圆环图形中有多余的竖条,影响图形的质量。此时可通过调用FPGA内部乘法器的IP核加快计算速度解决这一问题。试验证明,通过设置乘法器IP核延时5个时钟单元,可以避免显示的同心圆环图形中出现多余的竖条。而延时的多少与FPGA芯片类型的选取有关。
    本系统图形刺激器实现的功能:(1)实现不同参数的竖条栅、横条栅、棋盘格和圆环图形的输出;(2)使棋盘格图形按照一定频率翻转。
3 电流刺激
    体感诱发电位SEP(Somatosensory Evoked Petential)是指对感觉神经进行刺激时在感觉神经通路相应部位所记录到的诱发电位[5]。电流刺激器的设计包括刺激脉冲的频率控制、脉宽控制和电流强度控制等。刺激脉宽和刺激频率控制由PWM控制。由于人体的体表电阻一般为几千欧姆,因此需要升压电路把系统的5 V供电电压升到100 V左右,才能满足刺激脉冲的电流达到毫安级别。
3.1 D/A转换模块
    本设计采用串行D/A 转换器TLC5615,它是10 bit数模转换器,输出范围0 V~5 V。TLC5615与FPGA采用三线接口cs、sclk和data,cs是片选信号,sclk是串行时钟信号,data是串行数据输入端。data在cs和sclk信号的控制下将12 bit数据送入到TLC5615的输入寄存器并完成数模转换,其中前10 bit为D/A 转换数据。当片选cs为低电平时,在sclk的上升沿data被送到移位寄存器。本设计中,cs和sclk都是通过对系统时钟clk进行分频产生,其时序图如图2所示。

3.2 双极性控制和恒流源电路
    在某些检测中,电刺激需要脉冲为正、负的双极性刺激源,双极性恒流源控制电路可以把单极性转变为双极性刺激,并控制电流刺激的大小不因人体电阻的改变而改变。而FPGA控制输出的波形是单极性的。
    本系统通过功率开关实现单极输出电压转换为双极性输出[6],如图3所示。电路的工作原理:功率开关管Q2、Q3、Q4、Q5作电流开关,由FPGA产生的极性相反的一组脉冲信号XLY1、XLY2,通过非门74HC04驱动控制Q2、Q3、Q4、Q5在饱和与截止状态之间切换。当XLY1=0、XLY2=1时,Q2和Q5饱和导通,流过负载RL的电流流向是Q2&rarr;RL&rarr;Q5;当XLY1=1、XLY2=0时,Q3和Q4饱和导通,流过负载RL的电流流向是Q4&rarr;RL&rarr;Q3,由此可实现负载RL双极性脉冲的输出。设计中采用了光电耦合电路确保人体的电气安全。
    运算放大器MCP6001、晶体管Q6、电阻R20组成电压串联负反馈电路,它和刺激电极(即负载电阻RL)组成恒流源电路,如图3下半部分。由放大器的虚短和虚断特性可知,放大器同相和反相输入端电压相同(VIN+=VIN-=Vdaout),即:电阻R20两端的电压为Vdaout。当外部供电电压足够高时,晶体管Q6将工作在放大状态(Ic&asymp;Ie)。Vdaout与电阻R20的比值决定了负载电阻上的电流的大小,而与RL的大小无关,实现电压控制的恒定电流输出。


3.3 升压电路
    本系统使用升压芯片MCP1651, MCP1651是一种门控振荡升压控制器,通过外接一个N沟道MOSFET管、一个肖特基二极管和一个升压电感,可以实现高的输出功率,它可以在输入电压2.0 V~5.5 V内工作,输出电压可以达到100 V以上。
    升压电路如图4所示,工作原理为:通过外接分压电阻(图中R4、R5)把输出电压反馈到FB引脚,与内部1.22 V的参考电压进行比较。当分压反馈低于1.22 V参考电压时,外部门驱动(EXT)引脚以750 kHz门控振荡频率输出脉冲来控制N沟道MOSFET接通,此时肖特基二极管DS反向偏置,电源经由电感L至MOSFET形成回路,输入电压加在升压电感中转化为磁能储存;直到FB脚的反馈电压高出1.22 V时,内部振荡器停止工作, MOSFET关断,肖特基二极管DS正向偏置,电感中的磁能因不能突变而转化为电能,此电压与电源一起为负载提供能量,并给电容C充电,需要几个脉冲来提供足够的能量以实现升压功能。


    本系统电刺激主要性能指标如下:(1)电流刺激脉宽:0.05 ms、0.1 ms、0.2 ms、0.3 ms、0.5 ms、0.7 ms、1 ms,共7档可调;(2)电流刺激强度:0 mA~100 mA可调;(3)电流刺激频率:0.1 Hz、0.5 Hz、1 Hz、1.5 Hz、2 Hz、3 Hz、5 Hz、7 Hz、10 Hz、15 Hz、20 Hz。
4 声音刺激
    听觉诱发电位AEP(Auditory Evoked Potential)指给予声音刺激, 从耳蜗毛细胞起至各级中枢产生相应的电位活动[7]。听觉诱发电位刺激信号为双通道信号,一路是刺激信号,一路是白噪声掩蔽信号。刺激信号包括短声、疏波、密波和交替波。连续波脉冲重复频率在30 Hz以下称为疏波,脉冲重复频率在30 Hz~1 000 Hz之间称为密波,疏波和密波交替轮流输出称为交替波。本系统对50 MHz系统时钟分频,就可得到一定频率的疏波和密波。
4.1 短声刺激的产生
    短声刺激的技术指标包括:刺激脉宽、刺激频率和刺激强度。刺激脉宽和刺激频率由PWM脉冲控制实现;刺激强度由外围电路实现。PWM脉冲信号通过D/A输出到耳机。
    PWM的实现有三种方法:数字集成电路、软件和专用集成芯片[8]。利用FPGA设计的数字比较器可以灵活地输出PWM波形,具有软件方法和专用集成芯片的共同优点。以刺激频率50 Hz、刺激脉宽1 ms的短声刺激为例,分析PWM的产生。本系统时钟是50 MHz,对系统时钟在0~999 999计数,即对系统时钟进行106分频,当在0~49 999计数时,PWM=1,即脉宽50 000&times;1/(50&times;106)=
1 ms;当在50 000~999 999计数时,PWM=0。对于不同的短声刺激,需要调整相应的参数以实现不同频率和脉宽。
4.2 白噪声的产生
    白噪声是定义在无限频率范围内功率密度为常数的信号。m序列是最长线性反馈移位寄存器的简称。m序列的谱特性具有白噪声特性,其周期越长,越接近白噪声。在白噪声发生器中利用m序列的这一性质可产生高性能的噪声源。图5是利用Matlab对15 bit的m序列进行的功率谱分析。从图中可以看出功率谱基本恒定。结合FPGA的硬件资源和m序列的白噪声特性,这里采用32 bit线性反馈的移位寄存器。其特征多项式为:
 

    本系统声音刺激主要性能指标如下:(1)声音刺激脉宽:0.05 ms、0.1 ms、0.2 ms、0.3 ms、0.5 ms、0.7 ms、1 ms,共7档可调;(2)声音刺激频率:0.1 Hz、0.5 Hz、1 Hz、1.5 Hz、2 Hz、3 Hz、5 Hz、7 Hz、10 Hz、15 Hz、20 Hz、30 Hz、40 Hz、50 Hz、60 Hz,共15档可调;(3)声音刺激强度:1 dB~120 dB;(4)声音刺激模式:疏波、密波、交替波;(5)噪声:白噪声。
5 闪光刺激
    闪光刺激源应用在闪光VEP(视觉诱发电位)、闪光ERG(视网膜电图)、闪光EOG(眼电图)等测定中。闪光刺激源采用全视野刺激器(或者称为Ganzfeld)。闪光刺激源的光源多为氙灯,其主要特点为极短的闪光时程和宽的输出光谱,其强度可用电子控制也可用中性滤光片衰减,可提供高频率闪光[9]。闪光的频率可通过对系统时钟的分频来控制,闪光强度可由外部的升压电路来控制。
    本系统闪光刺激源可以实现以下功能:(1)闪光强度分为8级可调;(2)闪光频率:0.1 Hz、0.5 Hz、1 Hz、1.5 Hz、2 Hz、3 Hz、5 Hz、7 Hz、10 Hz、15 Hz、20 Hz、30 Hz、40 Hz、50 Hz、60 Hz,共15档可调。
    本系统以FPGA作为微处理器和主控制芯片,并采用少量的外围电路设计了一种用于诱发电位系统的多功能刺激器,能产生多种刺激信号。与传统的刺激器相比,电路结构简单、体积小、可扩展性好,提高了系统的集成度和稳定性。实验和测试结果表明,刺激信号输出准确可靠,较好地完成了各性能参数。
参考文献
[1] Chiappa.Evoked potentials in clinical medicine[M].New York. Lippincott Raven.1997:356-359.
[2] 赵仕波,罗耀华,赵文华.听觉诱发电位仪的设计与实现方案[J].仪器仪表学报,2008,29(3):394-398.
[3] BRADNAM M S,EVANS A L.A personal computer-based visual evoked potential stimulus and recording system[J].Documenta Ophthalmologica,1994,86:81-93.
[4] 白洋.体感诱发电位刺激器的研制及术中脊髓功能监护方法的研究[D].重庆:重庆大学,2002.
[5] 李卓,高小榕.稳态体感诱发电位的提取与分析[J].清华大学学报(自然科学版),2006,46(6):861-864.
[6] 翁振兴.基于脊髓电刺激和小脑顶核电刺激的心肌缺血治疗仪的研究[D].重庆:重庆大学,2005.
[7] KERR C C,RENNIE C J,ROBINSON P A.Physiology-based modeling of cortical auditory evoked potentials[J]. Biological Cybernetics,2008,98(2):171-184.
[8] 吴西,季忠,秦毅,等.视觉诱发电位提取中闪光刺激的PWM实现[J].仪器仪表学报,2006,29(4):62-64.
[9] 李海生,潘家普.视觉电生理的原理与实践[M].上海:上海科学普及出版社,2002.

此内容为AET网站原创,未经授权禁止转载。