新闻中心

EEPW首页>医疗电子>设计应用> 一种基于AVR单片机的便携式无线医疗点滴监控系统

一种基于AVR单片机的便携式无线医疗点滴监控系统

作者: 时间:2014-09-11 来源:网络 收藏

  3 系统软件结构

本文引用地址://m.amcfsurvey.com/article/262821.htm

  (1) 数据帧结构

  定义一个通信数据帧结构来管理控制端与设备间的通信,通过对数据帧的解析,主/从设备可以高效率地完成数据处理。按照通信传输的先后顺序,数据帧的格式为:命令(1字节)+设备ID(1字节)+事件类型(1字节)+数据域长度(1字节)+数据域(n字节)+校验和(2字节)。

  (2) μC/OSII的移植

  μC/OSII是一种开源、结构可裁剪的可剥夺实时内核的RTOS,其大部分代码都是C语言,可移植性较强,已在多种系列的CPU上进行了移植。Studio 5内部集成了Software Framework软件包,包含MCU接口驱动函数,在Studio 5环境下,移植μC/OSII到AT32UC3A0512 MCU上,需要在Micrium官方移植实例中进行以下修改:

  ① 修改exception.S文件中的内容,修改如下:

  _handle_Supervisor_Call:

  lddpcpc,__OSCtxSw

  __OSCtxSw:。

  longOSCtxSw

  ② 修改cpu.h内容如下:

  #define CPU_CRITICAL_ENTER()

  {cpu_sr = CPU_SR_Save();}

  #define CPU_CRITICAL_EXIT()

  {CPU_SR_Restore(cpu_sr);}

  #define CPU_SR_Save()cpu_irq_save()

  #define CPU_SR_Restore(cpu_sr)

  cpu_irq_restore(cpu_sr)

  #define CPU_IntDis()Enable_global_interrupt()

  #define CPU_IntEn()Disable_global_interrupt()

  #define CPU_ExceptDis()Disable_global_exception()

  #define CPU_ExceptEn()Enable_global_exception()

  #define CPU_Reset()Reset_CPU()

  图6 主控制端的软件结构图

  (3) 控制器部分软件设计

  在μC/OSII系统下的软件结构如图6所示。

  主控制端主要通过LCD界面来完成用户的操作,5个触摸键为界面操作按键,数字键盘用软件实现。通过数字键盘输入要查询的病房号,确认后即可查询到该病房中点滴的速度、余量等状态。

  界面菜单的切换关系通过定义一个结构体来实现,结构体定义为:

  typedef struct MenuItem{

  U8 MenuNum;//当层菜单项目数

  U8 *DispStr; //显示字符串

  struct MenuItem *ChildrenMenus;//子菜单节点

  struct MenuItem *ParentMenus; //父菜单节点

  } Menu;

  (4) 终端监控部分软件设计

  终端接收到控制端发来的命令数据包,解析出命令,实施相应的处理,并将数据处理后打包发送给控制端。终端控制部分的软件流程如图7所示。

  图7 终端主程序

  结语

  基于32MCU和μC/OSII的嵌入式系统,利用无线通信方式实现远程在线监控,无线网络的组建增强了系统的可移动性。本文提出的一种基于AVR32的便携式点滴监控系统的设计,将医疗点滴监控装置小型化,近距离范围内系统稳定。由于资源有限,关于远距离控制的网络组建还在进一步探索。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭