基于ARM设计的多生理参数嵌入式监护系统
1、引言
多生理参数监护系统用来对病人的生理或生化参数进行连续、长时间、自动、实时监测,并经分析、处理后实现多类别自动报警、自动记录,并具有对结果的综合判断能力,便于医护人员及时发现病人的病情变化,随时采取必要的护理与急救措施,从而大幅度减少危重病人的死亡率。
国外的人体生理监护仪发展趋势是采用移动式监护技术。在欧洲,借助现在小巧、价低的嵌入式计算机和无线网络技术,开发各种能穿在身上的监护系统的研究工作已经开展得非常之好,爱立信、诺基亚和飞利浦等公司都在进行相应的研究开发工作。在国内,目前普遍采用的人体生理监护系统中,大致可分为三种:1)基于PC机平台的监护系统,功能强大且完善,但其体积庞大,不便于移动。2)微型和便携式监护仪,大多采用低档单片机实现,功能简单,只能进行信号的采集和显示,不便于医务人员监视。3)采用嵌入式系统的监护系统,其体积小、可靠性高、功耗低,但大多采用工业用PC104主板,普遍成本比较高。
本文研究的多生理参数监护系统包括心电(ECG)、呼吸(REST)、无创血压(NIBP)、血氧饱和度(SPO2)、体温五个参数的实时监护。由这些参数的二次数据还可提取心率、心律失常、呼吸率、收缩压、舒张压、平均压及脉率等参数;可以较全面地评估循环系统和呼吸系统的功能。由于ARM的嵌入式系统设备通常具有体积小、功耗低、功能集中、网络功能强大和稳定性好等优点,因此作者所在课题组利用ARM研制了一种生理参数监护系统,以满足多生理参数监护系统不断发展的要求。
2、嵌入式多生理参数监护系统的构建
为搭建更加理想的嵌入式控制系统,综合考虑了本监护系统的实际应用,采用嵌入式Linux控制系统作为主控系统,图1是系统整体结构图,系统在ARM9的硬件平台上搭建了一个嵌入式Linux系统,其中Linux内核采用的是2.4.18稳定内核。
2.1定制Linux系统
依据所选择的CPU类型即ARM9,以公开的嵌入式Linux源代码为基础,根据设计的嵌入式目标板情况编写相应的Bootloader程序(启动装载程序)。然后根据标准Linux裁剪出适合的内核和文件系统,采用的嵌入式Linux在其内核内部实现了TCP/IP和相应的驱动,并裁剪掉了不需要的模块,在Redhat9.0的宿主机上对Bootloader和2.4.18版本的Linux内核进行交叉编译[5]。再对其文件系统进行精简,将Bootloader程序、内核和文件系统固化到目标板的Flash(闪存)中,便定制好了合适的嵌入式Linux系统。
2.2嵌入式多生理参数监护系统的硬件构成
如图2所示为嵌入式多生理参数监护系统的硬件结构图,主控制模块采用的是ARM体系的处理器,即是Samsung公司的 S3C2410芯片,该芯片采用ARM920T微处理器作为控制器内核。硬件各种接口以及扩展,都是可定制的[1]。本系统是专用于人体生理参数的监护,故接口设计主要考虑各种人体生理参数的传感器。由于系统中的各生理参数监护模块,都采用了OEM模块,这些模块采用单一的串口通讯,通过串口/USB口转换模块,就可以通过USB接口接入主控系统中。
3、核心功能的实现
系统的核心功能是要实现对各心理参数的实时监护,同时能及时计算和分析数据,并能准确快速地发现超标的数据,实现超标报警功能。其中超标报警接口和可扩展的接口还需要编写相应的驱动程序。
3.1驱动程序的编写与调试
超标报警接口以及可扩展的接口,都应编写相应的驱动程序,其中超标报警接口的驱动程序的基本流程如下:
1)定义主设备号; 2)驱动初始化(或者是模块的初始化); 3)实现文件操作,定义file_operations结构; 4)实现中断服务(不是必须的);5)编译该驱动到内核(或用insmod命令加载);6)测试设备。
超标报警接口作为外接的一个设备,先定义以下设备号,
#difine DEVICE_NAME “alarms” /*定义alarm设备的名字*/
#difine ALARM_MAJOR 254 /*定义alarm设备的主设备号*/
在明确I/O方式,alarm设备对应的硬件资源之后,可以采用ioctl控制alarm设备。而编写Linux设备驱动程序的主要工作就是编写子函数填充file_operations的各个字段。下面就是填充之后的file_operations,
struct file_operations test_fops = {read: read_test,
write: write_test,
open: open_test,
release: release_test};
上述各个子函数的功能如下:
open_test函数实现请求I/O内存资源;映射寄存器地址并保存;读取寄存器初始值并重新设置控制寄存器。release_test函数实现 I/O内存资源的释放。read_test函数实现对寄存器当前状态的读取,并将读到的数据传递给应用程序。write_test函数实现将应
嵌入式 监护 系统 参数 生理 ARM 设计 基于 相关文章:
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- 嵌入式系统实时性的问题(06-21)
- 嵌入式实时系统中的优先级反转问题(06-10)
- 嵌入式Linux系统中MMC卡驱动管理技术研究(06-10)
- FPGA的DSP性能揭秘(06-16)