新闻中心

EEPW首页>嵌入式系统>设计应用> 基于Small RTOS51的营养液输液系统

基于Small RTOS51的营养液输液系统

作者: 时间:2011-08-04 来源:网络 收藏

  2简介

是一个专门为51系列单片机设计的嵌入式实时操作内核,使用Keil编译器可以直接使用其代码,它有如下特点。

  公开源代码。只要遵循许可协议,任何人可以免费获得源泉代码,便于用户的二次开发。

  可移植性。用户可以把与CPU有关的控制指令压缩到最小,把大部分精力放在CPU的控制程序上。可以使用ANSI C编写应用程序,不仅简化了编程手段,而且便于程序移植。

  可固化性。为嵌入式系统设计,可以嵌入到产品中,成为产品的一部分。

  占先式运行。Small RTOS51可以管理16个用户任务,每个任务可以设置不同的优先级。Small RTOS51总是运行优先级最高的任务。

  中断管理。采用中断管理方式,当有更高级的中断申请时,将目前正在执行的任务挂起。如果优先级更高的任务被中断唤醒,则高优先级的任务在中断嵌套结束后立刻执行。中断嵌套层数可达255层。如果需要,还可以禁止中断的嵌套管理。

  RAM需求小。SmallRTOS51为小RAM的系统设计,因而对RAM的需求只有几百字节,相应的系统服务也少。

  3 系统的软件实现

  按照系统所要实现的功能,将整个系统划分为几个并行的任务,占先式操作内核对任务的调度是按照任务优先权的高低进行。本文中,将系统划分为9个任务,按其优先级从高到低的顺序排列依次是:报警任务、温控任务、按键输入任务、主控制任务、电机运行任务、流量控制任务、记时任务、液晶显示任务和电池电量检测任务。系统上电以后进入主程序,首先对系统进行自检并任务,启动9个程,此时系统的运行就由Small RTOS51来接管。

  3.1 报警任务

  由于本文所述的营养泵,主要应用在危重病人的看护中,所以将报警任务在放在最重要的位置。报警程序由一个全局变量setbaojing来控制,其不断检测温控程序、流量控制程序和电池电量检测程序的输出值。当上述程序出现故障报警信号时,setbaojing为1,报警程序立即使蜂鸣器和报警灯工作,并在液晶屏幕上显示出现故障的名称,直到有人来清除故障后,才可以正常运行。

  3.2 温控任务

  由于人体对于温度的变化非常敏感,而肠营养液是直接输入到人的小肠当中,所以系统对温度的要求非常高,为此,本系统将温控任务放在第二位。先将设定的温度参数输入给CPU,经过PI计算,发出数字信号,再用TLC5615转换成模拟量,控制加温电路给营养液加温。营养液的实际温度,由温度反馈电路转换成电压信号,再通过A/D转换成数字信号反馈给CPU,由CPU进行闭环控制。

  3.3 控制输入任务

  按键是实现人机交互的重要设备,要求实时性较高。从系统软件的设计角度,不仅要读出按键的状态,还需要具有对按键的抖动、连击、串键等特殊情况进行处理。系统按键输入任务流程如图2所示,本任务使用消息队列指令KeyReadBuf[16],向主控制程序发送按键的相关信息。

基于Small RTOS51的营养液输液系统

  3.4 主控制任务

  主控制任务应用SmallRTOS51提供的系统函数OSQPend(KeyTemp,KeyRead Buf,0)来查录按键输入任务提供的信息,一旦发觉KeyReadBuf[16]中有了相关信息,立刻运行输入程序。根据按键的命令,控制电机运行程序、流量控制程序、液晶显示程序的运行及停止,每当有一组按键信息进入消息队列中,本程序就修改一次运行指令。

  3.5 电机运行任务

  电机运行任务一直处于等待的状态,当主控制程序给它发关字相应的指令才开始运行。在运行过程中,电机运行任务受到主控制程序和流量控制程序的控制,一旦有停止运行的命令,或流量有异常,就立刻停止电机的运行。

  3.6 流量控制任务

  液量控制任务主要由CPU来控制输入营养液的流量及流速。正常运行情况下,流量控制程序会向液晶显示程序发送流量及流速的信息,使液晶上显示已经输入营养液的数量、流量及流速。一旦发生异常情况,如流速过快、一段时间营养液没有流动等故障,立刻向电机运行程序发出指令,停止电机的运行,同时将setbaojing置1,使报警程序运行。

  3.7 记时任务

  记时任务主要是为系统提供一个同步时钟,为系统提供同步运行的基准。

  3.8 液晶显示任务

  液晶显示任务主要由主控制程序、报警程序、流量控制程序、电池电量检测程序传递到消息队列中的参数。通过运行显示程序,在液晶上显示相关的汉字和字符,本身不向其它任务发送命令。

  3.9 电池电量检测任务

  一旦发生220VAC市电断电的情况,营养泵会立刻自动切换到内置的锂电池供电,电池可以连续使用12小时以上。电池电量检测程序会自动运行,检测电池的电量。在电量低的情况,电池电量检测程序会发出报警信号,但不会主动停止系统的运行。

  4 试验数据

  用本文所述的智能肠营养液泵对目前市场上常用的几种营养袋进行实验。

  以上实验数据表明,本智能肠营养液泵的输液量精度远远高于目前市场上10%的通用标准,并且对各种品牌的营养液袋都能控制在足够的精度范围内。

  结语

  在肠营养液泵的设计中,使用了Small TROS51,大大简化了程序设计的难度,增强了系统的可靠性和安全性,满足系统实时性要求。本设计达到了国家标准,并且已经在临库中开始使用.


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭