摘 要: 介绍了一种便携式脑卒中康复治疗仪,该治疗仪能够提供神经肌肉电刺激、小脑顶核电刺激、肌电生物反馈三种康复治疗方式。系统使用ARM9处理器S3C2410作为硬件核心,采用Qt/Embedded为GUI开发工具。系统具有体积小、可靠性高、成本低、功耗低等特点。
关键词: 脑卒中;嵌入式系统;S3C2410;Qt/Ebedded
脑卒中是我国第一大致死和致残性疾病,存活者中的80%存在不同程度的功能残障[1],如肢体瘫痪、肌肉痉挛、抑郁、失语等病症,其中以肢体瘫痪为主的运动障碍最为常见。如何运用新技术开发更有效、更适用的治疗仪器来改善患者的生理功能,使患者能在最短时间内达到最满意的治疗效果并最终摆脱病残的折磨,一直是医疗研究和实践的重点。
目前,国内外比较先进的生物反馈脑卒中治疗仪普遍基于上下位机结构。上位机是基于PC的生物反馈软件系统,下位机是功能电路模块,如生理信号采集器、电刺激器等,这种仪器的康复治疗效果良好,但体积比较大,价格也比较昂贵。随着嵌入式技术的快速发展,具有体积小、功耗低、性能稳定、抗干扰强、具有可裁剪定制等特点的嵌入式系统在医疗电子设备中越来越受青睐[2]。本康复仪选用嵌入式平台开发,具有较好的便携性和稳定性,减小了仪器的成本、体积,使其不仅面向普通医院,而且能面向社区医院和家庭用户,让更多的脑卒中患者能得到方便、有效的治疗。
1 系统总体设计
本康复仪所运用的医学原理是基于生物反馈的心理康复作用,结合神经肌肉电刺激NMES(Neuromuscular Electrical Stimulation)改善患者肢体功能的作用,以及小脑顶核电刺激FNS(Fastigial Nucleus Stimulation)诱发条件性中枢神经源性神经保护作用。三种治疗相互补充,以期达到更好的康复治疗效果[3]。
系统工作过程是:首先采集患者的表面肌肉电信号EMG,经过模拟放大、滤波、A/D转换后,由嵌入式软件将处理后的肌电信号描绘在LCD屏幕上;患者可以通过屏幕观看自己在康复训练过程中的肌电变化情况,更加主动地活动肢体,努力增强自身肌电水平,当肌电信号强度超过给定的刺激阈值时,系统按预设的治疗参数对病人进行电刺激,包括FNS、NMES;综合的电刺激能增强患肢的活动能力和肌电水平,反馈式的治疗能提高患者的信心,改善抑郁情绪,从而帮助患者训练肢体,使其逐步达到康复效果。各种电刺激的启动、停止、治疗参数配置和治疗模式的选择等工作均依靠系统软件控制完成。
根据康复仪的功能需求,将系统设计为如图1所示结构。中央控制部分以嵌入式ARM处理器为核心,有足够的内部集成资源来扩展各个外围功能模块。主要部分包括肌电采集、神经肌肉电刺激、小脑顶核电刺激三大功能模块,系统通过这些功能实现康复治疗的作用。扩展接口部分包括了USB、RS232以及网卡等,主要针对开发阶段操作系统和软件的下载、交叉编译、调试等操作以及设备网络化和远程控制。交互操作部分主要是键盘和LCD显示器,实现人机交互操作,医护人员和设备维护人员通过这些设备实现对治疗参数的修改、正确治疗方法的设定等功能;通过LCD显示器将视觉信号反馈给患者。显示设备也是“生物反馈”治疗方法的必要设备。
2 系统硬件设计
2.1 中央控制部分
系统使用三星公司的S3C2410处理器作为中央控制单元。该芯片以32位ARM920T为内核,最高处理速度达到203 MHz;支持5级流水线操作,包括存储器管理单元;具有低成本、低功耗、集成性高的特性[4]。系统外扩32 MB Flash空间,用于存储Linux内核、应用程序;系统外扩64 MB SDRAM,用于系统和程序的执行。
2.2 主要功能部分
肌电采集电路用于检测和采集患者的体表肌电信号,电路主要包括前置放大、高通滤波、低通滤波、隔离放大、工频陷波、增益控制电路。该部分电路将采集到的体表肌电根据系统要求放大1 250~10 000倍。增益控制电路由S3C2410的GPIO控制,系统利用S3C2410的SPI总线扩展12位串行A/D转换芯片AD7453采集肌电放大器输出的SEMG信号,然后经过滤波处理后传送到实时处理模块,并在LCD上显示出来。系统通过控制相关电路的工作来控制肌电采集的开始和停止等操作。
NMES电路产生一种低频可渐变的调制矩形波。S3C2410的PWM输出一路脉宽可调的矩型波到该电路,同时4通道12位串行D/A转换芯片MAX5742输出一路梯形调制波,两路波形经调幅电路、高压恒流源电路就能得到调制方波作为刺激波。MAX5742是SPI接口的串行D/A芯片,也接到S3C2410的SPI总线,与A/D芯片分时复用。该电路的刺激波形、刺激强度、频率、脉宽、时间等参数均通过系统软件来调节。
FNS电路输出调幅的无极性微分型指数脉冲的中频电刺激波形。系统向MAX5742输出一路随机波形生成调制波;同时,S3C2410的PWM输出一路频率为1 kHz的方波,方波由微分电路整形为微分型指数脉冲;最后,调制波与指数脉冲经波形合成电路、恒流源电路得到所需的刺激波形。
2.3 人机交互接口
系统采用了SHARP公司生产的一款9.4英寸TFT-LCD 640×480彩色液晶显示屏。S3C2410带有LCD控制器,支持STN型和TFT型LCD。支持彩色TFT时,可提供4/8/12/16位颜色模式。LCD控制器的功能是产生显示驱动信号,驱动LCD显示器。用户只需要通过读写一系列的寄存器,便可完成配置和显示控制。
本系统需要键盘来输入数据或者控制命令,实现设置参数和控制系统的目的。除了数字0~9外,再加上几个功能键即可满足系统需求,所以不需要使用专用的PC键盘,而是开发具有针对性的小键盘。本系统直接通过S3C2410的8个GPIO口来扩展4×4矩阵键盘。
2.4 扩展接口
S3C2410接口丰富,用户可根据需要方便地扩展各种接口。本系统通过S3C2410的USB控制器扩展USB HOST接口,为系统提供存储数据功能;利用S3C2410的URAT控制器扩展RS232,利用总线扩展网卡芯片DM9000给系统提供网络接口,方便系统调试和仪器数据的网络共享。
3 系统软件设计
康复仪通过软件界面实现视觉信号的反馈作用,为肌电生物反馈治疗提供技术支撑。该康复仪的软件系统主要由嵌入式Linux操作系统、驱动程序和应用程序三部分组成。
3.1 嵌入式操作系统
为了满足系统对实时性和安全性的要求,系统采用了嵌入式Linux操作系统。嵌入式Linux继承了Linux的稳定性优点,且其内核相当精简,因此在嵌入式领域得到广泛应用[5]。
本系统采用了Linux2.6.x内核,针对S3C2410的硬件情况,裁剪并编译了适合ARM 处理器的Linux内核,再借助于华恒公司的ppc bootloader将其传输至开发板的FLASH并启动内核,通过busybox制作文件系统。这里根据需要制作一款简单的只读文件系统,即cramfs文件系统。通过配置宿主机NFS(network filesystem)文件服务器的方式,可将该文件系统传输至FLASH,从而完成对开发板上操作系统的配置。
3.2 设备驱动程序
在完成操作系统裁剪后,需要对Linux下的各种设备进行驱动程序编程。由于模块方式要比静态编译链接方式更加方便灵活,因此本系统在Linux内核基础上二次开发的设备驱动程序是按照模块方式实现的。模块化驱动程序的设计和实现流程主要有编写模块化编程子程序、编写自动配置和初始化子程序、编写服务于I/O请求的子程序和编写中断服务子程序四个步骤。按照这四个基本步骤编写肌电增益控制驱动、A/D和D/A转换驱动、PWM调制波产生驱动、键盘驱动、LCD驱动以及网卡及串口驱动程序等。
3.3 应用程序
便携式脑卒中康复仪要为患者和操作人员提供友好、简便的图形用户界面(GUI)。GUI要求简单、直观、可靠、占用资源小且反应快速,并且可以根据硬件具有较好的可移植性和裁剪性。系统选用了Qt/Embedded-2.3.10作为脑卒中康复治疗仪的应用程序开发平台。
Qt/Embedded是Trolltech公司开发的面向嵌入式系统的Qt版本。Qt/Embedded是Server/Client结构,在底层摒弃了X lib,仅采用framebuffer作为底层图形接口。Qt使用特有信号/槽(singal/slot)机制,对象间的通信非常简便和灵活。Qt/Embedded将外部输入设备抽象为keyboard和mouse输入事件,底层接口可以较好地支持用户自定义的设备[6]。
应用软件采用了模块化的设计思想,把整个软件系统划分为系统自检模块、参数设置模块、实时处理模块、显示模块和刺激模块。功能模块图如图2所示。
操作系统启动完毕后,系统自检模块加载各个外围设备,并对设备进行测试。设备自检正常运行之后,按给定的初始值对设备进行参数初始化,等待治疗过程的开始。治疗程序运行之前,用户可以通过参数设置模块修改治疗参数,外设驱动程序根据加载的参数配置外设。治疗程序运行过程中,通过实时处理模块将采集到的肌电信号经过滤波处理后显示在屏幕上,实现肌电的视觉反馈;刺激模块根据用户设定的治疗方式对患者进行MMES或者FNS。
康复治疗仪根据用户的设定参数运行,然后采集并显示实时的肌电信号,将患者的肌电信号通过LCD反馈给患者。当患者肌电超过预先设定的刺激阈值时,系统按照治疗方案给予患者一次电刺激。在不同的治疗模式下,系统提供不同的方式诱发电刺激。治疗过程中,用户可以根据患者的实际情况调节治疗模式、刺激方式、强度、治疗时间等参数以达到最好的效果。康复治疗流程如图3所示。
GUI是系统与用户相互交流和沟通的平台,是系统的重要组成部分。该康复仪GUI的首要功能是实现视觉信号的心理反馈作用。考虑到脑卒中患者肌电水平主要集中在200 μV以下,而正常EMG的范围在2μV~2000 μV之间,坐标纵轴的描绘运用了对数函数变换。取对数函数:
Y=log10(X)
当X取值为10、100、1 000时,所对应的Y值分别为1、2、3。即在X=10~100和X=100~1 000内,Y的增量都等于1,这样就可以在等间距的情况下突出2 μV~200 μV这部分的数值,又可以照顾到整个输出范围的要求。界面中,横轴为时间,而且设计成1min刚好显示1屏治疗数据的方式。这样使患者既能观察到一段时间内的治疗情况,也有较充裕的时间来主动活动患肢,能诱发NMES进行治疗,而不会因为显示过快等造成视觉和身体的疲劳。主界面的设计结果如图4所示。
便携式脑卒中康复仪采用了嵌入式ARM-Linux系统及Qt/Ebedded开发设计,与目前国内外同类仪器相比较,具有体积小、可靠性高、效率高、成本低、功耗低等特点,便于将治疗仪推广到社区医院、乡镇医院甚至患者家庭使用,符合我国医疗卫生改革的发展要求,具有良好的应用前景。
系统实现了在LCD上实时显示采集到的肌电信号,并同时显示刺激阈值;两种电刺激输出的各项参数均能达到预期水平;图形用户界面简便友好、操作方便,人机交互效果良好,完全能满足脑卒中康复系统要求,达到了预期效果。
参考文献
[1] 孙洪海,曾艳,徐艳杰.综合康复治疗对脑卒中偏瘫患者 预后的影响.中国康复理论与实践,2007,13(2):133-134.
[2] 唐晓英,刘志文,刘伟峰,等.嵌入式系统及其在医疗仪器设备中的应用.电子技术应用,2008(4):7-9.
[3] 刘虔铖,田学隆,李烽,等.脑神经网络综合康复治疗仪的研制[J].中国组织工程研究与临床康复,2008,12(4):707-709.
[4] 潘巨龙,黄宁,姚伏天,等.ARM9嵌入式Linux系统构建与应用.北京:北京航空与航天大学出版社,2006.
[5] 宫莉莉,赵勇.基于嵌入式Linux系统的LCD驱动实现. 微计算机信息,2008,35(12):28-30.
[6] 倪继利.Qt及Linux操作系统窗口设计.北京:电子工业出版,2006.