心电监护仪、呼吸机、超声电机

目录

一、心电监护仪原理和使用步骤详解

什么是心电监护仪

心电监护仪原理

(1)系统基本组成:

(2)便携式远程心电监护仪结构及原理

(3)便携式心电监测仪结构及原理

心电监护仪使用步骤

二、便携式心电监护仪设计

  1 系统总体设计

  2 系统硬件设计

  2.1 输入缓冲电路及前置放大电路设计

  2.2 滤波电路设计

 2.3 后级放大电路设计

  2.4 电平抬升电路设计

  2.5 施密特触发器电路设计

  3 系统软件部分设计

3.1 液晶、键盘、定时器、AD模块简要介绍

  3.2 FIR滤波器设计

  3.3 心电图显示结果

  4 结论

三、基于DSP系统平台的心电监护仪解决方案

四、基于ARM7的新型嵌入式心电监护仪的研制

一、绪论

二、系统的工作原理

三、系统硬件模块设计

3.1、信号调理电路

3.2、嵌入式处理器及外围电路

3.2.1、A/D转换

3.2.2、系统程序存储器Flash ROM和SDRM扩展

3.2.3、液晶显示LCD和键盘模块

3.2.4、以太网模块设计

四、系统软件设计

4.1、嵌入式uClinux操作系统在S3C44B0X上的移植

4.2、基于S3C44B0X的嵌入式GUI的实现

4.3、RTL8019AS驱动程序在uClinux下的实现

五、结束语

五、基于SOPC技术的医用呼吸机主控系统设计方案 

  系统结构

  直流电机控制

  输出及指示模块

六、基于NiosⅡ的超声电机驱动控制电路

1 驱动控制器的设计

1.1 驱动控制电路

1.2 FPGA内部系统

1.2.1 NiosⅡ系统的搭建

1.2.2 DDS模块

1.2.3 脉冲计数模块

1.3 驱动控制器的控制方式

2 实验分析

2.1 超声电机速度稳定性研究

2.2 定位精度测试

3 结论


一、心电监护仪原理和使用步骤详解

随着医学技术的发展,心电监护仪广泛适用于临床的病情的监控,通过查看它监测过来的生理参数,除给医护人员提供合理客观依据,对早期发现病情变化,预防并发症的发生起到了重要的指导作用,让医护人员更快更好的对病情有变化的病人采取有效的治疗措施和治疗手段,达到保证了患者的安全的目的。也正是因为这种设备方便了医护人员对病人的病情的监控,对病人的治疗可以更加迅速有效。因而在各个医院中被广泛的使用。从事医疗电子行业的工程师,对这一方面知识有的可能很了解,有的可能一知半解,包括什么是心电监护仪、它的基本原理、工作原理、正确的使用步骤、使用的注意事项等,下面我们从它的基本原理和使用步骤等方面深入的学习这一种设备。

什么是心电监护仪

什么是心电监护仪?它是监护仪一种及其重要的应用(什么是监护仪),它作为现在医院常用的设备,可以同时对病人的心电图、呼吸、血压、体温、脉搏等生理参数进行精密测试和测量的的实用的医学仪器设备。它很直观的将需要检测和监控的数据显示到显示器上面,供医院的工作人员来对病人的病人进行判定和治疗。每个可以监控的生理参数一般都设置了安全值其参考和比对的作用,如病人的实际值不在安全值之内,则会自动报警。

心电监护仪原理

(1)系统基本组成:

(A)阴极射线示波器

(B)心电记录器

(C)压力监测器

(D)呼吸监测器

(E)体温监测器

(F)计算机处理系统组成

心电活动经心电导联线传入处理器,血压经压力传感器变成电信号传入处理器。呼吸活动 由呼气、吸气造成胸腔电阻的改变经心电导联与心电活动同时传入处理器,处理器将来自病人体内之电信号放大后经微型计算机处理后变成波形输出与数字信号输出,经光电显示系统显示于阴极射线示波器的屏幕上,其工作原理是心电监护仪设计的重要参考。

(2)便携式远程心电监护仪结构及原理

主要由心电信号的前端采集与调理模块、心电信号处理与存储模块、数据显示模块和远程传输控制模块等四个关键模块组成,系统功能结构如图所示。其硬件平台采用CycloneII 2C35 FPGA芯片,采用SOPC技术将NiosII软核处理器、存储器、功能接口和扩展I/O口等集成在一块FPGA芯片上,外围扩展心电数据采集板、网络、LCD屏、触摸屏/键盘、SD存储卡等硬件来实现系统的硬件架构,且带有可扩展的I/O接口,便于以后系统功能升级与扩展。

便携式远程心电监护仪结构及原理图

(3)便携式心电监测仪结构及原理

系统硬件模块主要包括:信号调理电路(放大器、带通滤波器、陷波器)、嵌入式处理器及外围电路(A/D转换、Flash ROM和SDRM扩展、液晶显示LCD和键盘模块、以太网模块)两大部分。其结构和原理图如下:

便携式远程心电监测仪结构和原理图

心电信号通过专用电极从人的左右臂采集到后,送入信号调理电路,先经过前置放大器初步放大,经高通滤波滤除直流信号低频基线干扰后,由后级放大器放大,再经滤波器进一步滤除50HZ的工频干扰,经低通滤波器后得到符合要求的心电信号,由模拟信号输入端送入ADC,进行高精度的A/D转换。我们在电路中还引入了右腿驱动电路导联脱落检测电路。

心电监护仪使用步骤

(1)心电图监测

目前心电图导联线电报颜色已规范化以减少混淆,按图示规定置放正、负极及地极。

(2)压力监测 为得到正确数据与波形必须进行下列操作

(A)传感器放置位置相当于右心房水平

(B)置零步骤,各种型号的监 护仪都设有零按钮。

(C)整个测压管道内充满肝素生理盐水,以防止血块堵塞,管道系统内绝不能含有气泡。

(D)定期用肝素生理盐水冲洗或用微泵以 2ml/h 速度持续冲洗,维持管道通畅。

(2)操作程序如下:

(A) 连接心电监护仪电源。

(B) 将患者平卧位或半卧位。

(C)打开主开关。

(D) 用生理盐水棉球擦拭患者胸部贴电极处皮肤。

(E) 贴电极片,连接心电导联线,屏幕上心电示波出现

(F)将袖带绑在至肘窝上两横指处。按测量—设置报警限—测量时间。

结语

随着现代医疗技术和现在医学监护技术的发展,心电监护仪已经成为医用电子仪器中不可缺少的一大类仪器,在医院中起着越来越多的重要的作用,它具有操作简单、易于查看和记录、可监控生理参数多、适用的范围和场所广泛等特点,在医学治疗应用中备受重视。

二、便携式心电监护仪设计

摘要:在对心电信号采集、处理技术研究的基础上,结合MSP430F149单片机设计了一个低功耗、实时的便携式心电监护系统。首先通过硬件电路实现心电信号采集、放大、滤波、去噪,然后借助于MATLAB实现心电信号数字滤波、去噪的仿真,最后对单片机编写程序运行调试,主要完成心率测试、心电图记录以及简单分析等功能。

本文引用地址:便携式心电监护仪设计

  1 系统总体设计

  心电信号是很微弱的生理信号,容易受到周围环境的干扰。为了使心电图更加准确、清晰,系统采用模拟滤波与数字滤波相结合的方式处理心电信号。通过心电极采集心电信号,采集的心电信号经过输入缓冲电路进入前置放大器。前置放大器放大后,信号进入处理电路,在处理电路中,先后经过高通、低通、50Hz陷波、后级放大、电平抬升、施密特触发器,最后进入单片机中处理。在单片机处理之前,借助MATLAB仿真平台,先对美国麻省理工学院提供的研究心律失常的数据库(MIT-BIH)中的ECG信号进行FIR滤波以及陷波处理,并获得最佳数字滤波器的C程序代码。然后通过编程控制单片机,完成如下功能:定时、中断、测心率、AD转换、采样、数字滤波、去噪、显示心电图、简单分析。系统总体设计框图如图1所示。

  2 系统硬件设计

  医用大型的心电设备可使用多种导联方式获取心电信号,而且获取的各种信号均可通过显示器实时显示。考虑到便携式设备使用要方便,所以系统采用标准导联采集一路心电信号,也就是通过三条电极获取心电信号。考虑到心电信号的特点,硬件电路部分要满足以下几个要求:

  (1)增益。正常心电信号的幅值范围在10μV-4mV,典型值为1mV。而心电放大器增益的常规设计要求输入为1mV时,输出电平要达到1V左右,所以心电放大器的放大倍数要为1000倍左右。

  (2)频率响应。心电信号的频谱范围为0.05-100Hz,频谱能量主要集中在0.05-40Hz之间,所以,频带范围至少要为0.05-40Hz。因此要设计带通滤波器来压缩通频带。

  (3)高输入阻抗。通过心电极片获取的心电信号是非常微弱的,而人体又是一个很大的源阻抗,所以必须提高放大器的源阻抗,以保证增益的稳定性。

  (4)高共模抑制比。电极片与皮肤接触以及市电的干扰都会引起共模干扰,如果不设计高的共模抑制比电路,微弱的心电信号就会被淹没。

  (5)低噪声、低漂移。由于增益很高,噪声和漂移也会影响心电信号的采集。所以为了获取高质量心电信号,要采用低噪声元件,设计低温漂电路。

  (6)高安全性。任何仪器的使用都要把人体的安全作为重要指标,要避免人体触电。

  2.1 输入缓冲电路及前置放大电路设计

  在整个电路设计中,输入端电路采用缓冲级电路。而在信号放大上,采用两级放大的方法。输入缓冲电路可以提高整个放大电路的输入阻抗,降低输出阻抗。这样就可以在后面的匹配电阻网络中得到幅值较高的信号。前置放大电路采用AD620作为核心器件。

  AD620具有如下特点:

  (1)AD620低成本、高精度、输入阻抗高、共模抑制比高,仅需改变电阻Rg(图2的R6)即可实现放大增益在1-1000之间变化;

(2)AD620尺寸小、功耗较低,因此非常适合电池供电的便携式设备使用;

本文引用地址:便携式心电监护仪设计

  (3)AD620高精度、输入偏置电流小、低失调电压、低失调漂移,是数据采集系统的理想选择。

  总之,AD620低噪声、低输入偏置电流以及低功耗等特点,符合本系统的要求,经AD620放大后的信号失真度很小,非常适合ECG(心电图)应用。设计仿真电路如图2所示。图中,3号引脚是放大器的正输入端,接入左臂的输入信号;2号引脚是放大器的负输入端,接入右臂的输入信号;7引脚接+3V/+5V的工作电压,4引脚-3V/-5V的工作电压;闲置的4引脚接地,这样做是为了提高敏感器件的抗干扰性能,进而提高整个系统的抗干扰能力;l、8引脚之间外接电阻Rg(图2的R6),通过改变该电阻的大小可就以调节放大增益。电阻Rg和增益G 的关系如式(1):

  

  根据经验,前置放大增益一般在8-l0倍,防止前置放大电路出现饱和现象。本系统是在l、8引脚之间接5.1kΩ的电阻,使前置放大器得到了10倍的放大率。

  2.2 滤波电路设计

  按照频率响应的要求,滤波器设计如图3所示。

  高通滤波电路的参数为:

  特征频率:

  

 2.3 后级放大电路设计

  由于心电信号放大器总的电压放大倍数要求1000倍,前置级放大倍数为10,所以后级放大器的电压放大倍数为100即可满足要求。

本文引用地址:便携式心电监护仪设计

  如图4所示,放大倍数:




  2.4 电平抬升电路设计

  经过模拟电路放大滤波后的心电信号是交流信号,而MSP430系列单片机的转换范围是正电压信号(0~3.3V),所以有必要将模拟信号抬升至0V以上,把双极性信号变成单极性信号。电路设计如图5所示。

  2.5 施密特触发器电路设计

  心电信号经过1000倍的放大以后,峰值最大可达4V,就可以采用施密特触发器进行波形变换,把心电信号转换为矩形波。矩形波就会有下降沿和上升沿,只要调用单片机中的下降沿或者上升沿中断即可记录心跳的个数。施密特触发器是在555定时器的基础上搭建而来。电路设计如图6所示。

  3 系统软件部分设计

  系统软件流程图如图7所示。首先在单片机的液晶上显示功能菜单,为使用者提供两个功能选项:心率测量和心电图记录。进入心率测量界面后启动定时器,记录开始,通过记录4次心跳后显示心率值,每次显示后,记录刷新再次显示结果,主要是为了使结果更加准确。在记录期间可以通过按键结束测量,心率测试结束后直接回到主菜单。进入心电图记录页面后,启动AD初始化,系统自动完成AD转换、数值提取、FIR滤波,最后显示心电图。显示完心电图后,使用者可以通过按键返回主菜单。

3.1 液晶、键盘、定时器、AD模块简要介绍

本文引用地址:便携式心电监护仪设计

  MSP430F149提供两种液晶接口:1602液晶接口和12864液晶接口。由于1602液晶界面小,不易显示心电图,故而使用12864液晶。通过向控制器中写入指令就可完成液晶的初始化。

  MSP430F149开发板自带4个按键,默认与P1.0-P1.3连接。1X4键盘扫描程序的原理比较简单,先给这四个按键高电平,通过检测P1.0-P1.3口的电平,一旦有按键按下,相应口电平就会变化,通过程序检测电平,这样就可以知道是哪个按键。

  MSP430F149的定时器有三个:看门狗定时器、定时器A、定时器B。在这里,使用了定时器A。定时器A有以下特点:16位的计数/定时器,共有4种模式;可以选择设置时钟源;多个捕获/比较寄存器;异步的输入/输出锁存;具有中断向量寄存器,能快速译码定时器A产生的中断。

  MSP430F149内部集成ADC12模块可以进行A/D转换。 ADC12模块是一个12位精度的A/D转换模块,它具有高速度、通用性等特点。

  3.2 FIR滤波器设计

  借助MATLAB平台对心电信号进行滤波。在MATLAB中导入原始心电信号,设计不同阶数的FIR滤波器,对原始心电信号进行处理,并比较结果。滤波器的处理结果如图8所示,显然选择3阶FIR滤波器。

  3.3 心电图显示结果

  经过硬件电路的调试,软件程序的编写,在液晶上获得如图9所示的心电信号。

  4 结论

  系统基于单片机设计出了一款便携式心电仪。大量实验和应用表明,硬件电路部分可以准确完成信号的采集、放大、滤波等处理;软件部分借助MSP430操作平台以及MATLAB信号处理程序可以准确测算及显示心率,但是,在显示心电图这一功能上不是很完美,需要进一步改进。由于系统体积小,成本低,而且使用简单,测量数据准确,可以为人们提供心脏监护功能。

三、基于DSP系统平台的心电监护仪解决方案

基于DSP系统平台的心电监护仪解决方案

四、基于ARM7的新型嵌入式心电监护仪的研制

摘要:本文介绍了一种新型便携式心电监测仪的软硬件设计,基于ARM核的32位低功耗微处理器作为系统控制核心,系统采用源码公开的嵌入式uClinux操作系统,可实现心电信号的实时显示和远程监测,具有轻便节能、功能强大,安全稳定等优点。
关键词:心电ECG ARM  uClinux  液晶显示屏  TCP/IP协议


一、绪论


      心血管疾病是目前对人类危害最大的一种疾病,而心电图是检查、诊断和预防该类疾病的主要手段和依据。由于传统的基于PC机平台的心电监护仪,价格昂贵,体积庞大,不便于移动且主要集中在大医院,而无法实时监护患者的病情,给医生和病人带来了很大的不便。近年来,随着嵌入式和网络通讯技术的飞速发展,我们研制出一种基于ARM7处理器的新型嵌入式心电监护仪,它采用Samsung公司的一款ARM7TDMI核的RISC的32位高速处理器S3C44B0X,具有成本低、体积小、可靠性高、操作简单等优点,适用于个人、中小医院和社区医疗单位,为家庭保健(HHC)和远程医疗(Telemedicine)等新兴的医疗途径提供良好的帮助与支持。
 

二、系统的工作原理

图一 新型嵌入式心电监护仪的系统结构框图

      心电信号通过专用电极从人的左右臂采集到后,送入信号调理电路,先经过前置放大器初步放大,经高通滤波滤除直流信号及低频基线干扰后,由后级放大器放大,再经滤波器进一步滤除50HZ的工频干扰,经低通滤波器后得到符合要求的心电信号,由模拟信号输入端送入ADC,进行高精度的A/D转换。为了更好的抑制干扰信号和防止导联松动及脱落,我们在电路中还引入了右腿驱动电路和导联脱落检测电路。系统控制核心采用Samsung公司的S3C44BOX,液晶显示屏(LCD)建立良好的人机交互界面,采集到的信号可以通过LCD实时显示和回放,数据通过因特网基于TCP/ IP(传输控制协议、网际协议) 顺序可靠地传输数据到心电监护中心,为医护人员及时准确的诊断提供参考。嵌入式实时操作系统采用现在流行的uClinx,管理协调各模块工作,为系统可靠的运行提供保证。
 

三、系统硬件模块设计



3.1、信号调理电路



      信号调理电路主要包括:放大器、带通滤波器、陷波器等。


 

图二 心电前置放大电路

      人体心电信号属于强噪声背景下的低频微弱信号,一般只有0.05-5mV,频谱范围为:0.05-100HZ,心电信号正常输出时其幅值约为1mV,而A/D转换器的输入电平要求到达1V左右,即心电放大倍数约为1000倍,由于肌电干扰可能造成前置放大器静态工作点的偏移,甚至截至饱和,所以前置放大器的增益不能太大。我们选用AD620仪表放大器作为系统前置放大器,它具有低噪声、低漂移、高共模抑制比、高输入阻抗等特点。它的增益通过1脚和8脚的电阻Rg来调节,可达1-100倍,计算公式为:G=49.4 /Rg+1。我设计初级放大倍数在七级左右,选用精度为0.01%,阻值为8.25 的精密线绕电阻,后级选用TL064将信号放大到A/D转换器的输入电平要求。

图三 心电后级放大及滤波电路

      为抑制直流漂移和放大器通带外的低频噪声,设计一个RC高通滤波器;因心电信号的频率在100HZ以下,为消除高频信号和50HZ的工频干扰,还设计了低通滤波和带阻滤波器。

      为防止导联松动和脱落,设计导联检测电路,电极脱落时,比较器的输出电平由正常的高电平变为低电平,产生报警信号,提醒患者检查导联。右腿驱动电路,人体共模电压检测出后,经倒相放大反馈到人的右腿上,而没有直接与放大器的地相联,这样人体的位移电流不流到地,而是流到运放的输出端,对AD620减小了共模电压的拾取。
 

3.2、嵌入式处理器及外围电路



      S3C44B0X是Samsung公司为手持设备和一般类型的应用提供了高性价比和高性能的微处理器解决方案。CPU内核采用ARM公司设计的16/32位ARMTDMI RISC处理器(66HZ),内核工作电压为2.5V,带有8KB的高速缓存,外部存储控制器8个bank,共256MB,8通道10位ADC和支持彩色/黑白显示LCD控制器,具有普通、慢速、空闲和停止功耗控制模式,精简出色的全静态设计适合于低成本和功耗敏感的设计。
 

3.2.1、A/D转换



      对心电信号的采用精度的考虑主要是出自于对ST段异常分析处理的要求,ST段电平变化为0.05mV已经得到公认,因此采样精度至少为0.025mV。根据美国心脏学会AHA标准和Nyquist采样定律,当信号采样频率等于或大于信号最高频率的2倍时,就可以从抽样后的信号中不失真的还原出原信号。ECG频率范围为0.05-100HZ,我们取采样频率为200HZ,即采样周期为5ms.S3C44B0X内部有一个逐次逼近型8路模拟信号输入的10位ADC,输入满刻度电压为2.5V,能分辨出来的输入电压变化的最小值为2.5V/210=2.5mV,心电采集放大倍数约为1000倍,输入端的最小分辨率约为2.5mV/1000=0.0025mV,故完全满足系统采用要求。
 

3.2.2、系统程序存储器Flash ROM和SDRM扩展



      S3C44B0X自身不具有ROM,因此必须外接ROM器件来存储掉电后仍需要保存的程序代码和数据。我们采用了SST公司推出的容量为1MB×16的CMOS多用途Flash ROM,它具有可靠性好、功耗低、读取速度快等优点。系统复位后,首先从0X00000000地址处开始执行,系统启动代码应该以此地址开始存放,所以Flash映射在处理器的Bank0区域内。

      采用Linksmart公司的一种容量为8MB的SDRM L43L16064作为系统程序的运行空间、数据区和堆栈区,供系统快速读写。它的存储方式为4Bank×1MB×16,采用多Bank和管道结构,具有自动刷新、低功耗和掉电模式。其存储空间映射在S3C44B0X的Bank6上,地址范围为:0XC000000H-0XCFFFFFFH。
 

3.2.3、液晶显示LCD和键盘模块



      为了使用户能够对采集到的心电信号有一个直观的印象和进行常识性的观察,我们采用了EPSON公司的EG1147型FSTN单色液晶显示模,对时间、波形、心电参数和系统菜单进行显示,同时配合按键进行仪器控制和设定。它的显示器点阵为240×320,采用EL背光源,自带驱动器,通过对S3C44B0X内置LCD控制器编程,将定位在存储器的显示缓冲器内的图像数据传送给外部LCD的驱动器中,PC口和PD口作为LCD驱动接口,设置PC口工作在第三功能状态,PD口工作在第二功能状态。
 

3.2.4、以太网模块设计



      S3C44B0X没有集成网络接口控制器NIC(Network Interface Controller),因此我们为系统扩展了一个REALTECK公司的RTL8019AS控制器,它与NE2000兼容,软件移植好,接口电路简单。RTL8019AS工作原理:驱动程序把要发送的数据按照指定格式写入芯片并启动发送命令即可。反之,芯片从物理通道上收到信号会直接根据以太网协议把他们转化成相应格式的数据,并发出中断,请求CPU读取数据。
 

四、系统软件设计



      软件设计主要包括嵌入式操作系统uClinux在S3C44B0X上的移植,心电数据的采集和存储,基于S3C44B0X的嵌入式GUI的实现,网络设备驱动程序开发等。
 

4.1、嵌入式uClinux操作系统在S3C44B0X上的移植



      uClinux是专门针对无MMU(Memory Management Unit 内存管理单元)的处理器而设计的一种免费开放源代码的操作系统。支持多任务,采取模块化设计。系统移植可分为bootloader和内核的移植两大部分。

      Bootloader从本质上讲它不属于系统内核,在CPU上电启动后即开始运行,创立初始化环境和引导内核。这部分代码用汇编语言编写,主要完成硬件初始化,对系统的存储映射(memory map)进行初始化设置等操作,同时改变PC值,使得CPU开始从SDRM执行操作系统的内核。

      内核移植时首先RedHat Linux环境下下载源代码文件包建立交叉编译环境,接着进入uClinux-dist文件夹进行内核配置,系统配置主要由三部分组成:Makefile、配置文件(config.in)和配置工具(在/script目录下)。运行make menuconfig命令,会现顶层菜单,选择硬件系统、内核版本和C库的选择,我们在这里vendors选Samsung的S3C44B0X,内核版本为Linux-2.4-x,C库选uClibc。接着要修改源代码,对应于各个硬件的子目录中,例如在uClinux-dist/linux-2.4-x/drivers/修改或增加驱动程序;保存设置退出后运行再执行make dep和make lib_only命令,生成C库;运行make user_only生成应用程序;接着运行make romfs和make image,生成rom文件系统,拷贝内核文件到uClinux-dist/images中;最后运行make,生成可供嵌入式系统运行的内核文件,这时可以在uClinux-dist/images中出现三个文件:含“rom”是压缩内核,含“ram”是直接运行的内核,romfs.img是uClinux的文件系统。“ram”和“rom”文件可以通过超级终端从PC串口下载到嵌入式系统的内存中直接运行,这时超级终端上也将显示uClinux的启动信息。

4.2、基于S3C44B0X的嵌入式GUI的实现



      屏幕驱动的程序设计主要是PSD(Pointer to Screen Device)的结构指针,指针所指向的结构中记录了有关的一切属性,根据显示属性判断选择那个子函数来提供有关的显示函数。图形引擎调用PSD完成矩形,圆形等作图函数,这些函数调用底层的屏幕驱动基本作图函数来完成图形显示。
 

4.3、RTL8019AS驱动程序在uClinux下的实现



      在uClinux中,网络接口被看作是一个发送和接收数据包的实体,用一个net_device的数据结构表示,在数据结构中定义对网络接口的各种操作。程序我们是在uClinux网络驱动文件的基础上修改而成,主要修改在/drivers/net下的两个文件:ne.c和8390.c,包括芯片的初始化、收包、网络注册等大部分工作。内核在初始化时会自动调用函数ne_probe(),读取RTL8019AS标识寄存器,检测设备是否存在以决定是否启动驱动程序,配置和初始化硬件,然后初始化net_device结构中的变量,再调用Rtl8019as_init()对RTL8019AS做寄存器的相关设置,最后根据starp的值来启动和关闭RTL8019AS。

五、结束语



      针对心电信号ECG极其微弱和极易受到外界干扰的特点,本文的创新点为采用具有低漂移、共模抑制比的仪表放大器AD620对信号进行初级放大,并设计右腿驱动电路以增强信号的抗干扰能力; LCD的引入给人直观的印象和常识性的判断;采集到的数据可通过以太网实时传输到远程数据中心,供专家分析和诊断;嵌入式uClinux的引入保证了系统稳定、可靠的运行;小型化的设计,更有利于患者的携带。随着心血管疾病的发病率不断地逐年上升,这种便携式心电监护仪具有很高的应用价值和良好的市场前景。

五、基于SOPC技术的医用呼吸机主控系统设计方案 

呼吸机是可以代替人的呼吸功能或辅助人的呼吸功能的仪器。它适用于呼吸衰竭、甚至停止呼吸的病人做人工呼吸之用。它能帮助病人纠正缺氧和排出二氧化碳,是挽救某些危重病人生命的重要工具。

本文引用地址:基于SOPC技术的医用呼吸机主控系统设计方案

  现有的呼吸机产品,其主控系统大多基于单片机来实现,对于功能强一些的产品就需要使用高端单片机,这样使得系统的成本比较高,而且外围的接口模块较多,结构复杂。使用SOPC(可编程片上系统)技术设计主控系统,可充分利用IP核的强大功能,精简外设数量,与此同时只占用了很小部分的资源,大大提高了系统的性价比。

  本文利用SOPC技术设计了持续气道正压通气呼吸机的主控系统,使用了Altera公司的Nios II软核处理器以及一些通用的IP核,笔者基于Avalon总线规范定制了组件,将控制逻辑全部集成至单片FPGA内。

  医用呼吸机

  正压呼吸机是利用增加气道内压力的方法将空气送入肺内,肺内的压力增大使肺腔扩张。当压力失去后,由于肺腔组织的弹性,将肺恢复到原来的形状,而使经过交换的一部分空气呼出体外。目前,大部分呼吸机都是利用这种增加气道内压力的方法给病人送气的。

  呼吸机所需的气压采用直流电机来提供,直流电机的控制信号为PWM信号,根据PWM信号的占空比和周期来控制电机的转速。外部接口提供按键来接受命令,设定各种参数。提示信息、状态信息、参数信息通过字符型LCD显示。为了便于对系统进行测试,使用UART为命令控制接口,对系统进行直接控制,该接口在成品后即被隐去。

  系统结构

  以SOPC技术为核心的呼吸机主控系统框图如图1所示。

  

   图1 呼吸机系统硬件结构框图

  主控系统的核心FPGA采用Altera公司Cyclone系列的EP1C6T144C8。CPU即为Nios II软核处理器,对整个系统进行统一管理。折线框内为主控板,除下载、调试用的PC机外,对直流电机及主控板需单独供电。直流电机工作后将气流送至面罩内,电机根据端的信号来调节气流的大小。在面罩内装有压力检测模块,通过A/D转换返回至主控板,用来对气流进行回馈调节。面罩供患者使用。

  直流电机控制

  系统使用PWM信号对直流电机进行控制。在SOPC Builder提供的标准IP核中是没有PWM组件的,需要自行定制,PWM组件的输出信号是方波,方波的周期及占空比可调。PWM任务逻辑结构示于图2。


图2 PWM任务逻辑结构

  PWM组件的任务逻辑有:

  ●PWM任务逻辑由一个输入时钟、一个输出信号、一个允许位、一个32位计数器和一个32位的比较器组成;

  ●时钟驱动32位计数器,建立输出信号的周期;

  ●比较器用来对32位比较器的当前值和占空比值进行比较,决定所输出的信号;

  ●若当前值小于或等于占空比值,则输出逻辑信号为0,否则为1。

  PWM组件的寄存器文件:

  ●clock_divde 在PWM的一个周期中的时钟周期数;

  ●duty_cycle PWM输出为低电平的时钟周期数;

  ●enable PWM输出的允许/禁止。0到1的上升沿使能PWM组件。

  将PWM定义寄存器的头文件和驱动程序封装有:

  altera_avalon_pwm_init(); //PWM模块初始化,包括周期设置

  altera_avalon_pwm_enable(); //PWM模块使能

  altera_avalon_p wm_disable(); //PWM模块禁止

  altera_avalon_ pwm_change_duty _cycle(); //PWM模块占空比调整

  对于直流电机来说,PWM占空比需要达到一定量才能使电机工作,低于阈值(PWM_DUTY_THRESHOLD)的PWM信号不能驱动电机,这部分能量会转化为热量损害电机,所以,设定PWM值的时候需要注意将值设在阈值以上,在altera_avalon_pwm_change_duty_cycle()中对所设定的值进行判断,如果值低于PWM_DUTY_THRESHOLD则调整为PWM_DUTY_THRESHOLD+1。

  以上的设计全部完成后,在SOPC Builder内将其封装成为SOPC组件。

  输出及指示模块

  系统需要输入设置、控制以及显示提示,这部分功能包括有按键输入、LED指示灯输出、蜂鸣器输出、液晶输出等。

六、基于NiosⅡ的超声电机驱动控制电路

超声电机是一种新型微特电机,其工作原理是通过压电材料的逆压电效应,使定子在超声频段微幅振动,依靠摩擦将振动转换成动子的旋转(直线)运动。超声电机具有体积小,重量轻、结构紧凑、响应快、无电磁干扰等优点,在航天宇航和军事装备等领域有着广泛的应用前景。

近些年来,我国在超声电机控制方面,提出了一些控制理论,并搭建了一些用于超声电机驱动的实际驱动与控制电路。2010年,薛雯玉硕士研究了基于DSP芯片的超声电机驱动控制器,但驱动电路仍以传统的模拟电路为主,精度不高,不能实时的调频、调相。2011年,孙霖硕士研究了基于DSP/FPGA的超声电机驱动控制器,利用DDS技术产生数字正弦波,虽然提高了精确度和实时性,但是浪费了很多芯片的逻辑资源,也不利于驱动控制电路的小型化。

本文使用Altera公司的EP3C400240C8芯片设计了一种以FPGA为核心、基于SOPC技术NiosⅡ软核处理器的新型超声电机驱动控制器。在FPGA内部用SOPC(可编程片上系统)的思想定制了一个NiosⅡ软核处理器作为控制运算部分,用Verilog语言编写出了频率、相位、幅度都可调的DDS模块和光栅反馈计数模块,这样的一个闭环系统在满足控制精度和实时性的同时具有良好的灵活性和可重构性,并且做到了以极少的硬件资源和高度集成的系统结构去控制超声电机运行,便于驱动控制电路的小型化。

1 驱动控制器的设计

1.1 驱动控制电路

本文提出的超声电机驱动控制系统由控制驱动器和功放/升压电路组成。图1是以FPGA为核心构建的超声电机驱动控制电路。超声电机的驱动机理要求驱动器必须提供在超声频段内两相具有一定相位差的同频、等幅正弦交流电,电压在几十伏到几百伏之间。该电路的功能全部由FPGA的软件实现,控制和输出正弦交流电,大大提高了控制系统的稳定性和精确性,并使控制系统电路板的面积大幅度缩小,一块控制板可以同时控制数个超声电机。

此驱动控制系统用FPGA内部编写的DDS模块输出两路具有一定相位差的正弦波数据,然后通过DA芯片转成正弦波信号,经过功率放大之后,最后用变压器抬高电压。

该电路加载超声电机后输出的波形如图2所示,波形变的光滑很多。当超声电机在运行过程中发生频率漂移的情况时,系统也能够从速度的改变量来调整相应的驱动输出,不会出现电机速度不稳定的现象。

1.2 FPGA内部系统

图3是超声电机控制驱动电路中FPGA内部的构架。其设计的核心是可裁剪的Nios II软核和发出正弦信号的DDS模块以及读取光栅编码器反馈脉冲的计数模块。

1.2.1 NiosⅡ系统的搭建

Nios II是Altera公司开发的软核32位的RISC微处器,作为一个采用硬件描述语言编写的软核,Nios II可以通过内带的Avalon总线机制与其他采用HDL语言描述的硬件接口模块组成Nios系统一起嵌入到Altera的Stratix、Cyclone或APEX系列的FPGA中,从而构成一个可编程片上系统设计。

首先要构建一个基于Nios II的最小系统,这个系统的组件都在SOPC Builder提供的IP核中,依次选择Nios II处理器、EPCS控制器、SDR AM控制器、JTAG模块。其中,NiosⅡ实现MCU的功能,SDRAM和EPCS控制器组件用来连接外部存储器,JTAG模块实现程序的调试与下载。除此以外,我们还需要用到串口接收上位机发送来的数据以及定时器中断,因此在系统中添加UART模块和定时器模块。最后,处理器要控制DDS模块的运行并且接收光栅计数模块计算出的脉冲数,还需要添加一些I/O口用作数据的传输。这样,FPGA内部的一个NIOS系统就构建完成了。

1.2.2 DDS模块

直接数字频率合成器(Direct Digital Frequency Synthesizer)是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术。基本原理是以数控振荡器的方式,产生频率、相位可控制的正弦波、余弦波、三角波、三角波、方波等波形。图4所示为DDS的基本结构。

图4中,fc为时钟频率,K为频率控制字,N为相位累加器的字长,D为ROM数据线宽度。

本文的DDS设计主要分为3个模块:控制字接收模块,用来与NIOS系统进行通信,接收来自上位机的控制字;波形存储器模块,用来产生驱动信号所需要的波形,本文只需要产生正弦波;相位累加器模块,用来产生频率和相位,本文是将接收到的频率和相位控制字转化为实际的频率和相位。

1.2.3 脉冲计数模块

脉冲计数模块由滤波和计数两部分构成,主要是为了读取光栅编码器反馈回来的信息,从而实现对电机的精确定位和速度控制。本文使用的光栅编码器,其分辨率为0.5um/count,输出A+/A-、B+/B- 2路差分信号,为将编码器的差分输出转换成单端脉冲信号,本文选用了26LS32AC差分转单端芯片实现差分信号的转换。转换后的两路信号A、B是一组正交脉冲信号,电机朝不同方向运动时,A、B两路信号之间

的相位关系会发生转换,从而判断电机运行的方向。因此,根据这一特性,在FPGA中,用Vetilog语言编写了一个实现正交编码脉冲电路的功能的计数模块。

同时,为了进一步消除光栅反馈信号可能产生的窄脉冲干扰信号,本控制器将转换后的单端信号进一步滤波。主要过程是:在采集某一状态信号时,利用比该状态信号更高频率的采样时钟对其进行多次重复采集,直到多次采集结果完全一致时才视为有效信号输出。然后再将滤波过后的信号发送给正交编码脉冲电路进行辨向和计数。

1.3 驱动控制器的控制方式

电机工作时,FPGA通过串口接收来自上位机发送的数据至Nios II处理器中,经过程序处理之后,得出电机运行的方式(步进、连续)、运行的距离等信息,NiosⅡ处理器通过控制DDS模块的起停时间来控制驱动信号的有无进而控制电机的运动过程。电机运行时的位移和速度的实际信息可以从光栅编码器的反馈信号中得出,计数器模块计算出脉冲数的值发送给Nios II处理器,处理器通过具体的控制算法改变DDS输出信号的幅值、频率、相位从而对电机的运行状态做出进一步的调整。这样,一个完整的闭环控制系统就由一块FPGA芯片实现了。

2 实验分析

2.1 超声电机速度稳定性研究

由于超声电机在一定的频率范围内,它的速度随着频率的增大而减小,因此我们可以通过控制正弦信号的频率来保证超声电机速度的稳定性。

本实验使用的直线超声电机在33.8 kHz附近运行的比较稳定,所以选用33.8 kHz作为直线超声电机的实验频率。首先研究直线超声电机在不加入任何的控制算法时,它的速度稳定性,实验结果如图5所示。

由上图可以看出不加控制算法直接运行,超声电机的速度不是很稳定。如果在Nios II处理器中加入一些控制算法去控制电机运行时的频率,速度的稳定性会有显著的改善。以增量式PID算法为例:

△u(k)=A1e(k)+A2e(k-1)+A3e(k-2)

u(k)是频率,e(k)是第K次采样时目标速度与当前速度的差值。通过上面的公式算出频率的改变量,发送新的频率控制字给DDS模块,改变驱动信号的频率,从而达到控制电机运行速度的效果。图6为加入PID算法后电机的速度曲线。

由此可见,引入控制算法的超声电机驱动,电机的速度波动要远远的小于直线超声电机在不引入算法时的波动。这很好的解决了直线超声电机在运动过程中的速度稳定性问题。

2.2 定位精度测试

对一个单轴直线超声电机运动平台进行精确定位实验。此精密运动平台在脉冲宽度为3.5μs时有着比较稳定的输出特性,步进距离大约在100 nm左右。使用“连续+步进”的方式进行精度测试,连续运动至预定目标处,然后利用微小步进进行调整。英国REN-ISHAW公司的XL-80激光干涉仪系统作为本次实验的测定系统,将激光干涉仪显示数据与定位距离进行比较。实验表明,此超声电机直线运动平台的定位精度可以达到1μm。

3 结论

文中利用SOPC技术,将波形发生模块和微处理器模块以及脉冲计数模块巧妙地集成到一片FPGA内部,利用可编程逻辑的灵活性和Nios II的强大处理能力,实现了超声电机驱动控制电路的设计。采用SOPC方案进行系统设计,充分利用FPGA的可编程性,整个开发过程变得灵活方便,在不改变任何外围电路的情况下可以对系统进行软硬件升级,延长系统的寿命周期,同时大大提升了系统的性能和系统的集成度,降低了系统的开发成本,这正是相对于其他方案的优势,也符合当今科技的发展方向。

猜你喜欢

转载自blog.csdn.net/chenhuanqiangnihao/article/details/131403716