基于ARM架构的监护系统的研究与设计
时间:01-16
来源:互联网
点击:
1 引言
随着我国经济的快速发展、城市化进程的日益加速、人们生活节奏的不断加快,越来越多的人们开始感到自己的健康每况愈下,很多人直至病情突发才明白。据报道,我国绝大多数人都处于亚健康状态。随着现代电子技术的发展,16/32位CPU的广泛应用,传统的生理信号监护仪的CPU系统也在逐渐的由8位 CPU向更高位数的处理器发展。随着监护仪功能的强大,对数据处理速度的要求越来越高,使得8位CPU的发展受到了限制,16/32位CPU可以在远高于 8位CPU的时钟频率下正常工作,数据一次性吞吐量大,处理器的价格却在下降,16/32位CPU开始被广泛应用于生理信号监护仪中。
该监护系统采用了ARM7系列芯片中的LPC2292嵌入式微处理器,主要用来测量人体的生理参数,如:心电图、血压、血氧饱和度、体温等。因为系统需要采集、处理大量的数据信息,而在CPU上用单任务的软件来处理这些数据信息是很难的,甚至是不可能的。因此在设计中选用可同时处理多任务的 μC/OS-Ⅱ操作系统。其提供了安全可靠的操作系统平台,缩短了开发周期。
2 系统硬件设计
ARM 7系列芯片LPC2292最小系统如图1所示:
系统的总体结构框图如图2所示:
由图2可看出整个系统以ARM 7系列芯片LPC2292为核心,在其外围扩展一些外围电路,从而实现了对人体生理参数:心电、血压、血氧饱和度、体温的安全检查。系统通过心电模块、血压模块、血氧饱和度模块、体温模块采集人体的生理参数、调理电路对这些信号进行滤波和放大,LPC2292自带的A/D转换器将传输过来的模拟信号转换为数字信号,最后人体的各参数指标通过LCD显示。
2.1 ARM系统模块
ARM系统是这个系统的控制中心,主要完成运算、控制、管理等工作,是系统工作的核心模块。该系统采用的ARM 7系列芯片LPC2292,他是基于一个支持实时仿真和跟踪的16/32位CPU,并带有256 kb嵌入的高速FLASH存储器。128位宽度的存储器接口和独特的加速结构使2位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16 位Thumb模式将代码规模降低超过30%,而性能的损失却很小。由于LPC2292的144脚封装、极低的功耗、多个32位定时器、8路10位ADC、 2路PWM通道以及多达9个外部中断使他们特别适用于医疗系统、汽车、工业控制应用以及容错维护总线。
2.2 LCD显示模块
LCD显示模块主要完成数据显示、输出数据与显示数据的同步等功能。由于LPC2292中没有液晶控制器的功能模块,如果所选择的液晶屏内部也没有液晶控制器,那么,要使CPU可以对液晶进行控制,就必须加设计一个液晶驱动控制电路。因此本系统中选择自带控制器的液晶屏HLM6323。他是5英寸伪彩液晶屏,像素是320×240点阵,每个点需要RGB三色数据,每种色需要1个字节数据表示。而设计要求需要连续观看图图像,根据标准需要每秒钟25帧图像,那么每秒至少需要传输数据为25×8×320×240=15 360 000位数据,若选用串行传输,则需要4.6 Mb/s的串行传输速度,但是遗憾的是,没有任何一种串行标准传输大于这个速度,因此,势必需要选择并行的数据传输。
2.3 报警模块
当测得的生理参数,如心电、血压、血氧饱和度、体温超过预设的正常值,则产生报警,提醒患者赶紧进行治疗或医护人员需进行抢救措施。
2.4 FLASH数据存储器以及USB接口
为了能够确保实时数据的保存,以及提取,从而设计此模块。本系统中选择NAND08GW3D2系列的存储器芯片。由于该芯片不同存储密度器件引脚一致,因此系统可以在电路不做改动的情况下升级为高容量存储器件。通过USB设备接口芯片ISP1161A1扩展出一个USB的设备接口。通过该USB接口,可以实现将监护系统记录的数据上传到PC机,PC机也可以通过该接口下载程序到LPC2292处理器的存储器中。
2.5 系统电源
电源设计是一个系统设计中的关键部分,对于整个系统,一个稳定的、具有一定功率的电源和合理的电源管理是必不可少的。本系统有以下几种电源:CPU 的内核数字和模拟电源电压+1.8 V,CPU的I/O口数字和模拟电源电压+3.3 V、总线的隔离电源、LCD的驱动电源、LCD的背光逆变电源、其他外围设备电源电压+5 V等电源。
3 软件设计
本系统的软件设计主要包括ARM的应用程序的开发和μC/OS-Ⅱ操作系统的移植2个基本部分。ARM的应用程序主要包括LCD显示程序、 FLASH存储程序、USB通信程序、键盘扫描程序、A/D程序和报警程序等。μC/OS-Ⅱ操作系统是协调LPC2292对程序的任务管理和调度。整个系统的软件流程图如图3所示。
3.1 LCD驱动软件的设计思想
LCD驱动软件的功能是完成数据最终输出显示,其主要软件流程有数据的收发、LCD上按键的读取、LCD扫描等。数据收发是为了完成数据与CPU、 LCD液晶显示器进行数据的传输,CPU通过驱动芯片向LCD输送数据,而LCD要向CPU返回响应数据等。为了增强人机界面的可读性,在LCD上设置了几个按键,当有按键反应时,应当向CPU发出相应的响应,并且可以通过按键对LCD的显示界面设置和对其他系统参数进行设置。LCD的扫描是为了保证显示不出现明显间断、不出现花屏现象,在出现花屏现象时能够进行准确的错误响应。其中的按键设计没有给每个按键使用硬件中断,因为在本系统中,LCD显示驱动的任务优先级在应用程序中是最高的,按键统一使用一个硬件外部中断,然后用软件对按键进行软件中断安排,确定软件优先级;另一个原因由于按键较多,没有足够的硬件中断设置为按键中断,如果设置为中断扩 展,除了要进行硬件的扩展,还要进行软件扩展,将浪费很多资源。
本设计中,LCD的驱动需要编写2个文件,其中一个是C语言文件,另一个是C语言头文件。C语言文件是通信接口协议文件,需要与其他模块进行数据的交换。而头文件是设计一些LCD基本参数,在系统运行中,这些参数基本不变。
随着我国经济的快速发展、城市化进程的日益加速、人们生活节奏的不断加快,越来越多的人们开始感到自己的健康每况愈下,很多人直至病情突发才明白。据报道,我国绝大多数人都处于亚健康状态。随着现代电子技术的发展,16/32位CPU的广泛应用,传统的生理信号监护仪的CPU系统也在逐渐的由8位 CPU向更高位数的处理器发展。随着监护仪功能的强大,对数据处理速度的要求越来越高,使得8位CPU的发展受到了限制,16/32位CPU可以在远高于 8位CPU的时钟频率下正常工作,数据一次性吞吐量大,处理器的价格却在下降,16/32位CPU开始被广泛应用于生理信号监护仪中。
该监护系统采用了ARM7系列芯片中的LPC2292嵌入式微处理器,主要用来测量人体的生理参数,如:心电图、血压、血氧饱和度、体温等。因为系统需要采集、处理大量的数据信息,而在CPU上用单任务的软件来处理这些数据信息是很难的,甚至是不可能的。因此在设计中选用可同时处理多任务的 μC/OS-Ⅱ操作系统。其提供了安全可靠的操作系统平台,缩短了开发周期。
2 系统硬件设计
ARM 7系列芯片LPC2292最小系统如图1所示:
系统的总体结构框图如图2所示:
由图2可看出整个系统以ARM 7系列芯片LPC2292为核心,在其外围扩展一些外围电路,从而实现了对人体生理参数:心电、血压、血氧饱和度、体温的安全检查。系统通过心电模块、血压模块、血氧饱和度模块、体温模块采集人体的生理参数、调理电路对这些信号进行滤波和放大,LPC2292自带的A/D转换器将传输过来的模拟信号转换为数字信号,最后人体的各参数指标通过LCD显示。
2.1 ARM系统模块
ARM系统是这个系统的控制中心,主要完成运算、控制、管理等工作,是系统工作的核心模块。该系统采用的ARM 7系列芯片LPC2292,他是基于一个支持实时仿真和跟踪的16/32位CPU,并带有256 kb嵌入的高速FLASH存储器。128位宽度的存储器接口和独特的加速结构使2位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16 位Thumb模式将代码规模降低超过30%,而性能的损失却很小。由于LPC2292的144脚封装、极低的功耗、多个32位定时器、8路10位ADC、 2路PWM通道以及多达9个外部中断使他们特别适用于医疗系统、汽车、工业控制应用以及容错维护总线。
2.2 LCD显示模块
LCD显示模块主要完成数据显示、输出数据与显示数据的同步等功能。由于LPC2292中没有液晶控制器的功能模块,如果所选择的液晶屏内部也没有液晶控制器,那么,要使CPU可以对液晶进行控制,就必须加设计一个液晶驱动控制电路。因此本系统中选择自带控制器的液晶屏HLM6323。他是5英寸伪彩液晶屏,像素是320×240点阵,每个点需要RGB三色数据,每种色需要1个字节数据表示。而设计要求需要连续观看图图像,根据标准需要每秒钟25帧图像,那么每秒至少需要传输数据为25×8×320×240=15 360 000位数据,若选用串行传输,则需要4.6 Mb/s的串行传输速度,但是遗憾的是,没有任何一种串行标准传输大于这个速度,因此,势必需要选择并行的数据传输。
2.3 报警模块
当测得的生理参数,如心电、血压、血氧饱和度、体温超过预设的正常值,则产生报警,提醒患者赶紧进行治疗或医护人员需进行抢救措施。
2.4 FLASH数据存储器以及USB接口
为了能够确保实时数据的保存,以及提取,从而设计此模块。本系统中选择NAND08GW3D2系列的存储器芯片。由于该芯片不同存储密度器件引脚一致,因此系统可以在电路不做改动的情况下升级为高容量存储器件。通过USB设备接口芯片ISP1161A1扩展出一个USB的设备接口。通过该USB接口,可以实现将监护系统记录的数据上传到PC机,PC机也可以通过该接口下载程序到LPC2292处理器的存储器中。
2.5 系统电源
电源设计是一个系统设计中的关键部分,对于整个系统,一个稳定的、具有一定功率的电源和合理的电源管理是必不可少的。本系统有以下几种电源:CPU 的内核数字和模拟电源电压+1.8 V,CPU的I/O口数字和模拟电源电压+3.3 V、总线的隔离电源、LCD的驱动电源、LCD的背光逆变电源、其他外围设备电源电压+5 V等电源。
3 软件设计
本系统的软件设计主要包括ARM的应用程序的开发和μC/OS-Ⅱ操作系统的移植2个基本部分。ARM的应用程序主要包括LCD显示程序、 FLASH存储程序、USB通信程序、键盘扫描程序、A/D程序和报警程序等。μC/OS-Ⅱ操作系统是协调LPC2292对程序的任务管理和调度。整个系统的软件流程图如图3所示。
3.1 LCD驱动软件的设计思想
LCD驱动软件的功能是完成数据最终输出显示,其主要软件流程有数据的收发、LCD上按键的读取、LCD扫描等。数据收发是为了完成数据与CPU、 LCD液晶显示器进行数据的传输,CPU通过驱动芯片向LCD输送数据,而LCD要向CPU返回响应数据等。为了增强人机界面的可读性,在LCD上设置了几个按键,当有按键反应时,应当向CPU发出相应的响应,并且可以通过按键对LCD的显示界面设置和对其他系统参数进行设置。LCD的扫描是为了保证显示不出现明显间断、不出现花屏现象,在出现花屏现象时能够进行准确的错误响应。其中的按键设计没有给每个按键使用硬件中断,因为在本系统中,LCD显示驱动的任务优先级在应用程序中是最高的,按键统一使用一个硬件外部中断,然后用软件对按键进行软件中断安排,确定软件优先级;另一个原因由于按键较多,没有足够的硬件中断设置为按键中断,如果设置为中断扩 展,除了要进行硬件的扩展,还要进行软件扩展,将浪费很多资源。
本设计中,LCD的驱动需要编写2个文件,其中一个是C语言文件,另一个是C语言头文件。C语言文件是通信接口协议文件,需要与其他模块进行数据的交换。而头文件是设计一些LCD基本参数,在系统运行中,这些参数基本不变。