基于ARM的脉象仪系统设计与实现

基于ARM的脉象仪系统设计与实现,第1张

基于ARM脉象仪系统设计与实现

 摘要:本文介绍了一种基于ARM微处理器的脉象仪系统,该系统以S3C2410嵌入式芯片作为硬件平台。并且详细分析了基于uClinux嵌入式 *** 作系统的软件设计方法。实践证明该系统有效地提高了诊断的精度与效率,具有成本低、可靠性高、 *** 作简单等优点。

1 引言

  脉象携带有丰富的人体健康状况的信息。在中医学中,脉诊占有非常重要的位置。由于中医是靠手指获取脉搏信息,在长期的医疗实践中也暴露出一些缺陷。脉诊的定性化和主观性大大影响了其精度与可行性,成为中医脉诊应用和发展中的制约因素。为了促进脉诊的应用和发展,必须与现代科技相结合,实现更科学、客观的诊断。随着嵌入式技术的飞速发展,我们研制出一种基于ARM920T处理器的新型脉象仪。它采用一款ARM920T核的高速处理器S3C2410。该新型脉象仪具有成本低,体积小,可靠性高和 *** 作简单等优点,适用于个人和中小医院的脉象诊断用途。

2 系统总体设计思想

  按照中医脉诊的理论,从左右手腕的寸、关、尺三部按不同的轻重可获知人体五脏六腑的病理变化,模拟中医脉诊过程,设计中医脉象仪。脉象仪原理图如图1所示。


基于ARM的脉象仪系统设计与实现,第2张

图1 脉象仪原理图

  应变式传感器是脉象仪普遍采用的一类传感器。某些固体材料受到外力的作用后,其电阻率要发生变化,这种由于应力的作用而使材料电阻率发生变化的现象称为压阻效应。半导体应变片测量应变的原理是以半导体晶体的压阻效应为基础的。用此应变片制成的传感器称为半导体应变式传感器。传感器结构图如图2所示,上下各一片半导体应变片。

基于ARM的脉象仪系统设计与实现,第3张

图2 传感器结构图

  应变式传感器的基本组成部件包括:应变片、d性元件、测量电桥。本文中选用悬壁梁式压力传感器,应变片采用半导体应变片。

3 系统硬件模块设计

  3.1 嵌入式处理器的选择

  系统采用了ARM920T作为系统与上位机沟通的桥梁。该实验箱如图3所示。

基于ARM的脉象仪系统设计与实现,第4张

图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所示。

基于ARM的脉象仪系统设计与实现,第5张
图4 MAX197

  预处理电路包括了电流电压互感器、隔离电路和同步采样电路,可以将信号转换成MAX197相匹配的量值。图4所示的电路采用了内部时钟。 和 逻辑输入端用于启动变换和从器件读出数据。

4 系统软件设计

  为了满足系统对实时性和安全性的要求,系统采用了嵌入式 *** 作系统uClinux。uClinux是针对微控制领域而设计的linux系统,是在linux的基础上添加了对没有内存管理单元的微处理器的支持。一方面它继承了linux的稳定性优点,另一方面其内核相当精简。因此在嵌入式领域得到广泛应用。

  该脉象仪系统的软件主要由三个部分组成,系统软件结构如图5所示,包括嵌入式linux *** 作系统,A/D驱动程序和应用程序。

基于ARM的脉象仪系统设计与实现,第6张
图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技术应用于脉象仪具有很高的应用价值和良好的市场前景,值得我们深入研究。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2504431.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-05
下一篇 2022-08-05

发表评论

登录后才能评论

评论列表(0条)

保存