微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 医疗电子 > 基于SOPC技术的医用呼吸机主控系统

基于SOPC技术的医用呼吸机主控系统

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

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

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

1 医用呼吸机


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

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

2 系统结构

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


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


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

1) 直流电机控制

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


图2 PWM任务逻辑结构


PWM组件的任务逻辑有:

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

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

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

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

PWM组件的寄存器文件:

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

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

●enablePWM输出的允许/禁止。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组件。

2) 输出及指示模块

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

按键输入是用户与系统交互的重要接口,键盘板上共设有4个按键,一个为“On/Off”键,一个为“Set”键,一个为“Up”键,一个为“Down”键。“On/Off”功能键用于系统开机、关机;“Set”功能键用于LCD中参数设置时确定;“Up”和“Down”功能键用于改变当前选项的内容。

按键输出模块在Nios II内使用SOPC Builder提供的PIO模块搭建,由于要实时响应按键内容,需要开中断,对按键的上升沿进行捕捉,当有中断到来时,进入中断寄存器判断中断的来源和类型,根据现在的模式信息决定系统的动作。

LED显示及蜂鸣器输出也使用PIO模块搭建,为使得电流充裕采用共阳极接法。

LCD显示使用的是1602的通用液晶模块,在SOPC Builder内提供有相应的IP核。液晶为16×2的形式,可显示英文字母及数字,字库在液晶模块内部含有。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top