找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于ARM处理器的便携式心电血压检测仪

[复制链接]
admin 发表于 2013-3-27 09:12:17 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  摘 要: 介绍了基于ARM嵌入式微处理器S3C44B0X的心电血压检测系统的结构及主要特点,给出了其软硬件设计方法。该系统人机接口简单、使用方便,实现了对人体心电、血压信号的采集、显示、打印和传输。使用结果表明,该方案稳定可靠、测量结果准确。
  关键词: 嵌入式系统 模数转换 PS2键盘 通用串行总线
   
  近年来,心脏病和高血压的患病率逐年增高,动态心电图和血压监测为心血管疾病的预测、诊断和评估提供了极有价值的信息。随着嵌入式系统在医用仪表中的广泛应用,本文介绍了一种以Samsung公司的S3C44B0X为核心的集血压和心电检测功能于一体的便携式家庭健康监护系统,该系统充分利用ARM的片内资源,实现了人体心电、血压信号的采集、显示、打印和传输。仪器硬件主要由S3C44B0X主控芯片、心电放大电路、血压检测模块、存储系统及外围接口电路组成,系统结构框图如图1所示。S3C44B0X内置的A/D转换器用于采集心电信号和血压信号,LCD用于显示数据,微型打印机用于输出心电图波形,用户可通过外接PS2键盘控制系统的工作状态,包括选择检测血压或心电、数据的显示和打印等。此外,USB接口可将采集数据传送至计算机以便通过Internet进行专家会诊。
   
   
1 信号调理电路
1.1 血压检测模块

  人的心脏在射血过程中,主动脉的输出能加速整个存在于血管中的血液的流动,而血液的惯性则阻碍这个过程,即加速作用只影响到主动脉起始段中的血液,并在此处使压力升高,引起压力脉搏,这就是测量血压时所需要的两个信息:压力与脉搏。由这两种信号可以测定人体最高血压(收缩压)和最低血压(舒张压),并计算出脉搏数,因此要获取这两种信息,就是利用心脏搏动时对血管壁的压力,将脉搏信号和压力信号转换为电信号输出。血压测量模块如图2所示。压力传感器选用Motorola公司的压力传感器MPX53GP02,它具有精确度高、线性度好、成本低等特点,使压力/电信号转换公式和系统血压测量的定标操作都得以简化,节约了软硬件资源。MPX53GP将袖套内的压力信号经过放大、滤波处理后送入A/D转换器。脉搏信号经放大器、鉴别电路、箝位整形后送S3C44B0X外部中断计数。
    20121107045103919783457.gif
   
1.2 心电采集模块
  心电信号是从人体体表拾取的微弱电信号,一般只有0.05~5mV,信号频率比较低,频谱范围在0.05~100Hz之间,具有微弱和易受干扰等特点。心电放大电路包括前置放大、RC高通滤波网络、100倍的后级放大、RC低通滤波网络及右腿驱动等模块。心电采集模块如图3所示。前置放大电路采用了低功耗、高精度仪表放大器AD623。它具有高输入电阻、低输入偏置电流、低噪声和高共模抑制比等特点,可通过1脚和8脚间的外接电阻Rg来设置增益(1~1000)。由于体表液体与电极之间可能形成原电池,致使电极之间存在固定的电位差,为避免饱和差分放大的增益不能太高,设定AD623增益为10。后级采用TL084等通用运放构成同相主放大电路,增益可以高达100倍,这样整个电路放大倍数可以达到1000倍。两级放大电路之间必须进行直流隔离。
    20121107045103951033458.gif
   
  心电检测过程中,存在很多干扰。主要有电极移动引起的基线漂移(一般小于1Hz)、工频干扰、肌电干扰(几百Hz以上)。因此将滤波器的通频带设置为0.15~100Hz,这样的带宽基本上保留了心电中大部分有用成份,能满足一般临床需要。0.15Hz高通采用RC微分实现,100Hz低通采用三阶巴特沃思滤波器。用有源双T网络滤除50Hz工频,Q值不能太大,否则电路不稳定。一般情况下,硬件电路不能完全滤除干扰,可借助软件进行数字滤波。此外,右腿驱动电路和屏蔽驱动电路是心电放大系统前端的两个附属电路,右腿驱动电路是为了防止外界电磁干扰在人体内产生位移电流,而屏蔽驱动电路则是为了增加共模信号的抑制。
2 S3C44B0X外围接口电路
  S3C44B0X是Samsung公司推出的基于ARM7TDMI的精简指令系统的32位高速处理器,它的工作电压为3.3V,片内带有8个Memory Banks,用于管理外部存储器,最大存储容量达256M;两路UART口,最高传输速率为115200bps;71个I/O口,包括8个外部中断源,可用于键盘、LCD背光、照明控制等;LCD控制器,支持单色,4、16级灰度的LCD模块;内置PLL锁相环,可以设置系统工作频率,最高为75MHz;一路多主机I2C总线、一路SIO总线;四种系统工作模式;一个8路复用10位A/D转换器[2]。片内功能部件齐全,能很好地满足系统设计的需求。系统硬件电路如图4所示。
    20121107045103982283459.gif
   
2.1 存储器接口电路
  S3C44B0X自身不具有ROM,系统中选用Flash ROM SST39VF160来作为代码存储器,其映射在处理器的BANK0地址空间,系统上电复位时处理器就自动从0x00000000地址处开始取指令运行程序。考虑到S3C44B0X是按照字节编址,而Flash ROM 是以16位为一个存储单元,故Flash ROM的A19~0对应连接S3C44B0X的ADDR20~1,偏移了1位,其片选信号与处理器的nGCS0相连,将BANK0的数据总线宽度设定为16位,即OM1~0=01,在BANKCON0寄存器中设置tacc=0x6, tacp=0x0。
  采集、存储大量数据需要的内存较大,本系统选择了SDRAM-HY57V 161610D[3]。它的数据宽度为16位,由两个BANK组成,共2MB的存储容量。由于S3C44B0X的BANK6、7支持SDRAM,本身提供了和SDRAM进行直接接口的解决方案,所以只要对与存储器控制器相关的寄存器进行适当配置即可。在BWSCON寄存器中设置BANK6的数据宽度为16位,在BANKCON6寄存器中设置MT=0x3,tred=0x0, SCAN=0x0。
2.2 A/D接口电路
  S3C44B0X内置8路10位A/D转换器,系统用两路A/D转换通道(AIN0~AIN1)分别获得心电、血压信号的采样数据。由于不带采样保持电路,仅在较窄频带(0~100Hz)范围内的信号才可能获得正确的采样结果,若设置ADCPSR寄存器为20,则10位A/D转换的时间置为10μs。编程时要注意避免通道间切换延迟所引起的错误。
2.3 USB接口电路
  由于心电数据量大,系统采用USB通信接口芯片USB9603实现采集数据的快速传输。USB9603是9602的改进型,使得对USB通讯的编程相对简单些,它支持USB1.1协议的节点控制器,内置7个FIFO端点,其中包括1个双向控制端点、3个发送端点和3个接收端点。该芯片没有专用的USB通信命令集,要通过对芯片内的各寄存器的操作实现USB通信的控制功能。具体措施:USB控制器与S3C44B0X的BANK3连接,即nGCS3作为USB9603的片选线,S3C44B0X的低8位数据线D0~D7与USB9603并行数据线相连,USB9603的引脚MODE0和MODE1接地,配置为非复用方式工作;引脚A0作为USB9603片内寄存器的选择线,寻址访问各寄存器对USB9603的读写操作时,分两个周期:首先把A0置为高电平,将待访问的寄存器的地址从数据线D0~D7写入USB9603,然后在第二周期把A0置为低电平,由数据线实现相应寄存器的读写操作。将USB9603的INTR引脚连接到S3C44B0X的外部中断EXINT1上,设置USB为中断请求模式。这样,整个USB通信过程主要是处理包括接收数据、发送数据在内的各种中断事件。
2.4 电路键盘接口及LCD显示
  键盘显示以PS2键盘配合LCD液晶显示模块代替传统的矩阵按键和数码管显示,无需键盘显示驱动芯片而与S3C44B0X直接连接,接口简单方便。PS2键盘接口为mini-DIN6引脚连接器,通过DATA、CLK与S3C44B0X的PC4、EXINT0引脚连接。这里只涉及PS2键盘向S3C44B0X发送数据的单向通信,S3C44B0X作为主机对总线有控制权。PS2键盘在时钟作用下向S3C44B0X发送键值数据,S3C44B0X在时钟下降沿接收数据,时钟信号由PS2键盘内部产生。PS2键盘发送时序及数据格式如图5所示。目前使用的PS2键盘都默认采用第二套扫描码集。扫描码分为通码和断码两种类型,当一个键被按下时,键盘将该键的通码发送给S3C44B0X,而该键被释放时键盘会将其断码发送给S3C44B0X。S3C44B0X通过外部中断EXINT0串行读取键值的通码与断码来确定按键,从而选择系统的工作状态。第二套扫描码集可见参考文献[4]。
  S3C44B0X内置LCD控制器,可以通过编程控制相应的寄存器值,以适应不同的LCD显示板。本系统选用EPSON公司的TCM-A0902单色、320×200LCD模块,可直接通过S3C44B0X的BANK2来控制。为保证显示正常,对LCD操作时应加入适当的延时。
    20121107045104013533460.gif
   
3 软件设计
  编程调试、软件仿真是在SDT2.5的调试平台上用标准C语言完成的,系统软件由初始化、PS2键盘处理、A/D转换、LCD显示及USB通信几部分构成。初始化是通过Bootloader完成对S3C44B0X外部中断、内置A/D转换器、I/O口及LCD控制器的设置;键盘处理是通过外部中断EINT0读取键值,按预定键值设置系统的工作模式,完成数据的采集、显示、打印及传输等功能;信号的显示则是从S3C44B0X的A/D转换数据寄存器中读取数据送LCD显示;USB接口部分主要是固件程序的开发,完成与计算机的通信,可根据芯片厂商提供的固件开发包来完成。系统控制流程如图6所示。
    20121107045104044783461.gif
   
  本文介绍了利用S3C44B0X微处理器作为核心控制器件,充分利用其片内外设资源实现了对血压、心电信号的采集、显示、打印与传输。系统实用性强,人机接口简单可靠,体积小、功耗低、便于携带,可以方便地在家庭中和社区内使用,是一种经济实用的健康监护系统。
参考文献
1 Samsung Electronics. S3C44B0X User Manual. http://www.samsung.com.2000
2 胥 静.嵌入式系统设计与开发实例详解[M].北京:北京航空航天大学出版社,2005
3 萧世文. USB2.0硬件设计[M]. 北京:清华大学出版社,2002
4 Chapweske A着, Roy S译. PS/2技术参考.2002
5 汪叶斌,赵继敏. ARM CPU S3 C44B0X在水表智能抄表系统中的应用.电子技术应用,2001;(9):28~30
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-30 04:21 , Processed in 0.062019 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表