新闻中心

EEPW首页 > 医疗电子 > 设计应用 > 基于SOPC技术的医用呼吸机主控系统设计方案

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

作者:时间:2017-06-07来源:网络收藏

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

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

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

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

  

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

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

  系统结构

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

  


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

  主控系统的核心FPGA采用Altera公司Cyclone系列的。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指示灯输出、蜂鸣器输出、液晶输出等。



评论


相关推荐

技术专区

关闭