呼吸机是能够代替人的呼吸功用或辅助人的呼吸功用的仪器。它适用于呼吸衰竭、乃至中止呼吸的患者做人工呼吸之用。它能协助患者纠正缺氧和排出二氧化碳,是抢救某些危重患者生命的重要东西。
现有的呼吸机产品,其主控体系大多依据单片机来完成,关于功用强一些的产品就需求运用高端单片机,这样使得体系的本钱比较高,并且外围的接口模块较多,结构杂乱。运用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指示灯输出、蜂鸣器输出、液晶输出等。