基于ARM的脉象仪系统设计与实现
摘要:本文介绍了一种基于ARM微处理器的脉象仪系统,该系统以S3C2410嵌入式芯片作为硬件平台。并且详细分析了基于uClinux嵌入式 *** 作系统的软件设计方法。实践证明该系统有效地提高了诊断的精度与效率,具有成本低、可靠性高、 *** 作简单等优点。
1 引言
脉象携带有丰富的人体健康状况的信息。在中医学中,脉诊占有非常重要的位置。由于中医是靠手指获取脉搏信息,在长期的医疗实践中也暴露出一些缺陷。脉诊的定性化和主观性大大影响了其精度与可行性,成为中医脉诊应用和发展中的制约因素。为了促进脉诊的应用和发展,必须与现代科技相结合,实现更科学、客观的诊断。随着嵌入式技术的飞速发展,我们研制出一种基于ARM920T处理器的新型脉象仪。它采用一款ARM920T核的高速处理器S3C2410。该新型脉象仪具有成本低,体积小,可靠性高和 *** 作简单等优点,适用于个人和中小医院的脉象诊断用途。
2 系统总体设计思想
按照中医脉诊的理论,从左右手腕的寸、关、尺三部按不同的轻重可获知人体五脏六腑的病理变化,模拟中医脉诊过程,设计中医脉象仪。脉象仪原理图如图1所示。
图1 脉象仪原理图
应变式传感器是脉象仪普遍采用的一类传感器。某些固体材料受到外力的作用后,其电阻率要发生变化,这种由于应力的作用而使材料电阻率发生变化的现象称为压阻效应。半导体应变片测量应变的原理是以半导体晶体的压阻效应为基础的。用此应变片制成的传感器称为半导体应变式传感器。传感器结构图如图2所示,上下各一片半导体应变片。
图2 传感器结构图
应变式传感器的基本组成部件包括:应变片、d性元件、测量电桥。本文中选用悬壁梁式压力传感器,应变片采用半导体应变片。
3 系统硬件模块设计
3.1 嵌入式处理器的选择
系统采用了ARM920T作为系统与上位机沟通的桥梁。该实验箱如图3所示。
图3 ARM920T实验箱图
ARM920T有如下几个主要特点:处理器有高性能的RISC构架;大量的内部寄存器让它的执行效率非常高,使它成为实时控制设备的理想选择。片上的Flash可在线编程。
处理器采用芯片S3C2410。S3C2410有出色的内核性能,丰富的外部接口和低功耗。在系统中我们用到2种内存,一种SDRAM,一种Flash。
SDRAM具有运行速度快的优点,但是掉电后不能保存数据。所以在系统主要是用来运行 *** 作系统、应用程序和各类数据的缓存。
Flash内存较SDRAM运行速度慢.但掉电后能保存数据。在该系统设计中选用一种通用的Flash (SST39VF1601),容量为2MB,主要用于固化启动代码和控制应用程序,并保存一些系统数据。
3.2 A/D转换
A/D转换电路采用MAXIM公司的MAX197,MAX197采用逐次逼近技术以达到快速变换和低功耗。如图4所示。
图4 MAX197
预处理电路包括了电流电压互感器、隔离电路和同步采样电路,可以将信号转换成MAX197相匹配的量值。图4所示的电路采用了内部时钟。 和 逻辑输入端用于启动变换和从器件读出数据。
4 系统软件设计
为了满足系统对实时性和安全性的要求,系统采用了嵌入式 *** 作系统uClinux。uClinux是针对微控制领域而设计的linux系统,是在linux的基础上添加了对没有内存管理单元的微处理器的支持。一方面它继承了linux的稳定性优点,另一方面其内核相当精简。因此在嵌入式领域得到广泛应用。
该脉象仪系统的软件主要由三个部分组成,系统软件结构如图5所示,包括嵌入式linux *** 作系统,A/D驱动程序和应用程序。
图5 系统软件结构
4.1 嵌入式uClinux的构建
将嵌入式uClinux系统移植到特定的硬件平台上,大致需要完成建立叉编译环境,配置编译uClinux内核,制作根文件系统,下载和调试内核四部分的工作。
4.2 A/D驱动程序的设计
在uClinux系统下,驱动程序可以看成uClinux内核与外部设备之间的接口。驱动程序向应用程序屏蔽了硬件实现上的细节。可以使用和 *** 作文件中相同的系统调用接口函数来完成对硬件设备的打开,关闭,读,写以及I/O控制 *** 作。
本系统中的A/D驱动程序主要结构包括:
(1)数据类型定义文件
#define U32 unsigned int
#define U16 unsigned short
#define S32 int
#define S16 short int
#define U8 unsigned char
#define S8 char
#define TRUE 1
#define FALSE 0
#define ERROR 0
(2)启动A/D转换文件
void INT_ADC_Enable(int flag)
{
int temp;//定义临时变量
if(flag == FALSE)
{
temp = rINTSUBMSK;
temp |=(1<<10);
rINTSUBMSK = temp;
temp = rINTMSK;
temp |=0x80000000;
rINTMSK = temp;
}
else
{
temp = rINTSUBMSK;
temp = 0x5ff;
rINTSUBMSK = temp;
temp = rINTMSK;
temp &= ~(0x80000000) ;
rINTMSK = temp;
}
}
(3)主程序文件
#include "2410addr.h"//调用S3C2410地址头文件
#include "def.h"//调用数据类型头文件
main()
{
clrsrc();//刷新 *** 作
INT_ADC_Enable(int flag);//启动A/D转换
… …
}
4.3 应用程序的设计
应用程序是实现系统所需功能的核心部分,主要是A/D采样分析。该部分主要负责对采集到的脉象模拟信号进行数模转换,并根据脉象的时域和频域特征进行分析脉象图的结构。
5 结束语
本文作者创新点是,与传统的中医脉象仪相比,基于ARM的脉象仪具有高性能,低成本,电路简洁可靠和扩展性好等优点。嵌入式uClinux的引入保证了系统稳定和运行的可靠。ARM技术将计算机硬件和软件有机的融为一体,它使测试设备简单化,软件设计变得更加灵活,具有无比的优越性。ARM技术应用于脉象仪具有很高的应用价值和良好的市场前景,值得我们深入研究。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)