基于ARM的嵌入式多参数监护仪设计与实现

发布者:糖三角最新更新时间:2007-06-19 来源: 计算机应用与软件关键字:协议栈  网络  传输 手机看文章 扫描二维码
随时随地手机看文章
1 引 言

多参数监护仪广泛应用于ICU、CCU、病房、手术室等。目前我国也有自主知识产权的产品,如迈瑞、金科威、金脑人等,但与GE、飞利浦世界先进产品比较,在监测和计算、可靠性、实时性、稳定性、信号变异的处理分析、远程传输等方面都较落后[1]。嵌入式系统把计算机直接嵌入到应用系统之中,它融合了通信技术和半导体微电子技术,是信息技术IT的最终产品[2]。因此将嵌入式系统,网络等技术应用于医用监护仪领域,能使多参数监护仪顺应现代医用监护仪市场缩小体积,提高数据处理能力,远程医疗等方面的要求。

本文介绍一种基于ARM的实时监护系统,它将32位RISC结构的ARM内核处理器与实时多任务嵌入式系统相结合,并通过嵌入式TCP/IP协议栈为平台添加网络传输功能,构建一个新型的多参数监护仪系统。

2 系统硬件设计

医用监护仪具有以下几个方面功能:测量功能、分析功能、报警功能、打印功能、网络通信功能等。六参数模块通过导联端、光手指、袖带获得人体的心电、无创血压、血氧、脉率、呼吸、体温六参数信号,通过串口通信方式与以ARM7为内核的嵌入式处理器相连,数据从串口送到ARM7中央处理器,通过多任务调度,进行实时数据处理,并在LCD上实时显示各种信号的图形和数值,还可以由外部键盘控制,进行存储和网络发送,并对各种检测信号设置报警线,对超出报警范围的检测情况进行报警。硬件结构图1所示:

3 开发系统软件设计

3.1 软件开发总体介绍

利用PC机运行的Hitool forARM开发环境下调试程序:首先运行系统、Memory及I/O端口的初始化程序,随后进入主程序,采用外部中断方式,判断是否有键输入,若有则调用键盘控制子程序进行识别所按下的键,根据键盘的控制执行相应的任务;若无就调用串口读入程序,采集心电、血氧、血压等数据,并判别所采集数据的类型,存入不同地址的SDRAM中,并依次分类进行处理,处理完毕,判断是否超越各自的报警限,若是则调用报警程序和显示程序,若否则直接调用显示程序;这样,各种数据就实时地采集进来,并在LCD上显示测试数值和心电、呼吸波形。其中测试数值按每分钟存储,心电、呼吸波形按键存储,按翻页键可以调出相应的存储波形并进行显示;根据打印和网络命令进行打印和网络命令处理等。程序主要用C语言编写。

3.2 串口的处理

硬件接口采用标准RS-232C异步串行接口,选用发送 (TXD)、接收(RXD)和地线的三线方式,其它的握手信号直接悬空。要实现六参数模块与S3C44BO之间的串口通信,必须使两者采用相同的数据传输方式,它们通信的数据格式如下;波特率为9600bps, 8位数据位, 1位停止位,无奇偶校验位。

另外,在I/O端口初始化程序中,定义Uart_Init函数,对串行口各寄存器进行初始化,配置参数时钟和波特率等。在设计中主要进行以下串行口寄存器设置:

  UART线性控制寄存器ULCON1=0x3;

  UART控制寄存器UCON1=0x245;

  UART先进先出控制寄存器UFCON1=0x1;

  UART波特率寄存器UBRDTV,根据公式计算出。

在串口读入程序中,采用了中断方式,来实现双向数据传输,达到实时控制的目的。串口程序数据接收过程为:调用Uart_Getch()函数读入N个字符,以数组的方式放置在SDRAM中,然后进行数据处理。在lib.C程序中部分源代码如下:

  charUart_Getch()

  {…

  while(! (rUTRSTAT1& 0x1)); //Receive data ready

  return rURXH1;

  …}

3. 3 LCD显示

当有新数据需要显示时, LCD显示模块将新的采样数据写入LCD显示存储器中, S3C44BO芯片所支持的LCD控制器在不需要CPU介入的情况下,通过专用DMA自动地将需要显示的数据从显示存储器传送到LCD显示器中。LCD显示器不断地接收数据,就在LCD上显示监测内容。

3. 3. 1 LCD初始化

定义Lcd_MonoInit()函数,在LCD的三个控制寄存器中,设置LCD扫描宽度等与硬件时序有关的量:如:使用160×240的黑白单色显示屏, 4-bit单扫描等。在LCD的三个缓冲初始地址寄存器中,主要配置了帧缓冲寄存器BUFFER的起始地址等。

以上各寄存器基本的配置的源程序如下:

  void Lcd_MonoInit(void) //初始化LCD屏幕

  { //160×240 1bit/1pixelLCD

  #defineMVAL_USED 0

  rLCDCON1=(0) (1<<5) (MVAL_USED<<7) (0x3<<

  8) (0x3<<10) (CLKVAL_MONO<<12);

  //disable, 4B_SNGL_SCAN,WDLY=8clk,WLH=8clk

  rLCDCON2=(LINEVAL) (HOZVAL<<10) (10<<21);

  //LINEBLANK=10(without any calculation)

  rLCDSADDR1= (0x0<<27) (((U32) frameBuffer1>>22)<<

  21 ) M5D((U32)frameBuffer1>>1);

  //monochrome,LCDBANK,LCDBASEU

  rLCDSADDR2=M5D( (((U32)frameBuffer1+(SCR_XSIZE*LCD_

  YSIZE/8))>>1)) (MVAL<<21) (1<<29);

rLCDSADDR3=(LCD_XSIZE/16) ((SCR_XSIZE-LCD_XSIZE) /

  16)<<9);

  }

3. 3. 2 打开LCD

1)在内核中开辟内存空间用于显示内存

可在显示模块中加入:#define frameBuffer1 0xC400000

2)定义帧缓冲器长度,并对其赋初值设置一个行列与LCD

高宽相对应的数组pbuffer, pbuffer用于存放发送至显示屏的每帧像点数据,像点数据的多少取决于显示屏的大小; pbuffer="BitsPerPixe"*l Lines* /8=160* 240/8=4800(字节)。

由于pbuffer被定义为U32,即32位(八个四位)指针,每一个元素对应LCD显示屏上的一个像素点,显示方式采用4-bit单扫描,所以应当循环4800(字节) /4=1200次,实际上对应的单元数为整个160×240的屏幕范围。

  for( i="0", i<1200; i++)

  #(pBuffer[ i])=0x0;

3)数据处理

LCD的数据处理主要对要显示的数据进行处理(4bit到32bit的转换)。

  temp_data=(Buf[ i* 4+3]<<24)+(Buf[ i* 4+2]<< 16)+(Buf[*i 4+1]<<8)+(Buf[*i 4]);

3. 3. 3 清屏

清屏对显存的每个单元置零,使屏幕显示清除。以下为清屏的部分源程序:

  Void clrscreen(void)

  { int ;i

   unsigned int* pbuffer;

   pbuffer=(U32* )frameBuffer1;

   for( i="0"; i<1200; i++)

{

pbuffer[ i]=0;

}

  }

3. 3. 4 编制LCD显示函数并向LCD设备写入数据

定义displayLcd()函数为LCD显示函数,用于往显存中写数据,经过pbuffer送至LCD显示器,并让它循环显示在LCD显示屏上。要在LCD上显示ASCII字符,首先把每个字符转成一个16* 16bit的数组,组成字库(本次实现中使用),然后,选择要显示的字符,从字库中提取字符,经函数调用后,将要显示的字符送至LCD显示器,这样,就在LCD上显示出ASCII字符。

部分源程序如下:

  void displayLCD(void) //LCD显示函数

  {

unsigned int* pbuffer, temp_data;

int ;i

pbuffer=(U32* )frameBuffer1;

for( i="0"; i<1200; i++)

{

temp_data=(Buf[ i* 4+3]<<24)+(Buf[ i* 4+2]<<

  16)+(Buf[*i 4+1]<<8)+(Buf[*i 4];

           //进行4bit到32bit的数据转换处理

pbuffer[ i]=~temp_data;

Delay(10);

}

}

在添加所用的头文件的同时,增加对LCD_Init()函数、dis-playLCD()等函数的调用。

4 网络命令处理

在硬件设计上采用以太网口,软件上通过实现瘦TCP/IP网络通信协议,针对嵌入式系统特点对传统的TCP/IP协议栈进行裁减[4],让嵌入式多参数监护仪支持轻量级TCP/IP协议栈而 直接连入Internet。在设计将无实时要求和费时的TCP/IP协议簇的处理放在主程序顺序循环中。网络程序结构采取顺序执行和硬件中断相配合的方式,这种硬件中断是外部时钟中断,中断级别要比非向量模式的FIQ中断级别低,在系统空闲时进行网络数据交互;对网络接口控制芯片采用查询方式,即在其他中断任务的执行间隙处理瘦TCP/IP协议簇,以牺牲响应速度来换取系统可靠性。

考虑到嵌入式医用监护仪在窄宽带不可靠环境下实现实时监测的要求,决定在网络通信协议的传输层中,选用UDP(用户数据报协议)。

5 结束语

介绍一种基于ARM的嵌入式多参数监护仪的设计与实现,并应用于实际测量,为嵌入式系统在医用监护中的应用提供了一个很有意义的新思路和切实可行的方案。由于该网络监护仪主要面向医院、社区和家庭,具有成本低、功耗小、数据存储量大、数据处理速度快、便于远程医疗、能同时实现实时多任务的操作等各项优势,是现代医疗监护进一步智能化、专业化、小型化、低功耗的发展新方向,困此具有很广阔的市场前景。

参考文献

[1]姜宗义,“医用监护仪的发展”,《常规医疗装备》, 2003, 1.
[2]陈章龙、涂时亮,嵌入式系统Intel StrongARM结构和开发,北航出版社. 2002.
[3]阙建荣,“嵌入式Internet体系结构研究”,《微型机与应用》, 2004. 3
[4] EA6六参数模块使用手册,上海贝瑞电子科技有限公司.
[5] Hitool for ARM User′sManual Hitool SYSTEM INC. Doc. No. 003-000041 Fourth Edition November 26, 2002. Http: //www.hitoolsys. com.
[6] DevelopmentSolutions forEmbedded System Design.MICETEK.
[7] http: //www. up-tech. com.
[8]黄定华、孙炳达,嵌入系统中的软件设计技术———C程序语言设计,北航出版社, 2001.
[9]马忠梅等,AT91系列ARM核微控制器结构与开发,北京航空航天大学出版社, 2003.

关键字:协议栈  网络  传输 引用地址:基于ARM的嵌入式多参数监护仪设计与实现

上一篇:在嵌入FPGA的IP核8051上实现TCP/IP的设计
下一篇:采用软处理器IP规避器件过时的挑战

推荐阅读最新更新时间:2024-05-02 20:36

OTP6126千兆以太网传输性能测试仪的性能及应用分析
OTP6126坚固耐用,小巧轻便,同时电池具备较长供电时间,OTP6126为城域以太网和IP服务的安装和维护提供***的测试解决方案。OTP6126完整的测试能力,为现场技术人员提供端到端的10/100/1000M传输链路,千兆以太网链路和IP网络的误码性能测试,确定链路利用率,吞吐量,时延和IP连通性。 OTP6126具有直观的图形用户界面,配置简单方便并且能够存储配置文件以便技术人员共享,让缺少以太网或者IP测试经验的技术人员来验证千兆以太网网络的性能参数。OTP6126具有多种测试功能,为服务提供商和他们的客户之间提供服务水平协议(SLA)验证测试工具。 主要功能: 两个10/100/1000M Base-T, 10
[测试测量]
新汉工业级Wi-Fi AP保障企业无线网络提供安全
SWF 1210是新汉最新推出一款的工业级Wi-Fi接入点(AP),内置许多安全功能,专为中小型企业的无线网络提供安全保护,防止其受到来自自带设备(BYOD)的安全威胁。SWF 1210提供了企业级加密和认证,以防止未授权访问。SWF 1210可检测并阻止恶意软件的入侵,并对预先定义的应用程序和网站进行过滤,从而确保中小型企业网络可安全地与任何无线设备连接。 SWF 1210专为中小型企业设计,支持802.1x认证和WPA2企业级加密。该功能使用户在接入Wi-Fi之前需提供有效凭证,并防止数据在传输过程中出现拦截和交替。与此同时,该工业级Wi-Fi接入点(AP)提供了DPI防火墙(深度包检测), 可对入站的Wi-Fi进行详
[嵌入式]
Akamai 推出 Prolexic 网络云防火墙
此新功能扩展了 Prolexic 的防护能力,客户可利用它来定义和调整防火墙及访问控制规则 2023年 4月 25日 – 负责支持和保护网络生活的云服务提供商阿卡迈技术公司(Akamai Technologies, Inc.,以下简称:Akamai)宣布推出 Prolexic 网络云防火墙 。这是 Akamai Prolexic 的一项新功能,客户可利用它来定义和管理自己的访问控制列表 (ACL),同时客户可在保护网络边缘安全性方面拥有更大的灵活性。 Prolexic 是 Akamai 的云端 DDoS 防御平台,可及早拦截攻击,避免其影响应用程序、数据中心和面向互联网的基础架构。 DDoS 威胁又出现上升趋势,且随
[物联网]
网络分析仪的工作原理、结构及信号测试的方法
网络分析仪一种能在宽频带内进行扫描测量以确定网络参量的综合性微波测量仪器。可直接测量有源或无源、可逆或不可逆的双口和单口网络的复数散射参数,并以扫频方式给出各散射参数的幅度、相位频率特性。 网络分析仪的原理:它是一个综合激励和接收的闭环测试系统,采用窄带调谐接收机的矢量网络分析仪工作时,信号源产生激励信号,接收机应在相同频率对被测件响应信号进行处理,激励源和接收机工作频率的变化应该是同步变化的。网络分析仪是依靠 锁 相方法来完成该功能。 网络分析仪的内部结构包含: 1.激励信号源:提供被测件激励输入信号 2.信号分离装置:含功分器和定向耦合器件,分别提取被测试件输入和反射信号 3.接收机:对被测件的反射,传输,输入信号
[测试测量]
<font color='red'>网络</font>分析仪的工作原理、结构及信号测试的方法
解决高速网络设备中电线太多的问题
   机架式(ToR)交换机、路由器、服务器和存储器 等各种当今高速通信设备是数据中心最前沿、功能最强大和最精心设计的主角。这些设备包含的电路令人印象深刻,多个端口 实现25Gbps以上的速度,还有复杂的开关专用集成电路(ASIC)和复杂的信号调理设备 。下面就随网络通信小编一起来了解一下相关内容吧。   容易忽视的是,对于每个高速端口(小型可插拔接口(SFP)、四通道 小型可插拔接口(QSFP)、串行连接小型计算机系统接口(SAS)等),有四至九个与该端口相关的低速信号需要管理。这意味着,对于高端口计数系统(例如48端口ToR开关),可能有超过400个低速信号。这会用到很多电线! 为了管理所有这些信号,典型的设计实施涉及
[网络通信]
无线传感器网络——放飞你的测量应用
自人类踏入信息时代,自然界的信息通过传感器源源而来。而随着技术的发展,人们已不满足于原有单一的、独立的传感器系统。很多时候,我们需要将来自不同区域的信息联合汇总,从而实现对现场状况的综合判断。 在农场里,我们需要了解各处作物的灌溉情况,土壤空气质量,以确保农作物健康生长;在矿区,我们需要知道瓦斯浓度,矿工位置以及地下矿场温湿度,粉尘浓度以保证工人人身安全;在大型建筑中,我们又需要了解建筑各个位置受环境湿度,风速的影响以及自身老化程度,以及时维护建筑的结构健康。通常,在这些情况下,用来采集数据的传感器被放置在相距上千米的位置,并且需要在长达几个月甚至几年的时间内进行连续数据检测工作,工作人员无法经常进行维护。这时,长距离布线,数据的汇
[嵌入式]
61398部队军官遭美起诉“网络窃密” 外交部否认
     19日,外交部发言人秦刚就此事发表谈话称,美方捏造事实,以所谓网络窃密为由宣布起诉5名中国军官,此举严重违反国际关系基本准则,损害中美合作与互信。中方已在第一时间向美方提出抗议,敦促美方立即纠正错误、撤销所谓起诉。鉴于美方对通过对话合作解决网络安全问题缺乏诚意,中方决定中止中美网络工作组活动。中方将根据形势发展,对美方所谓起诉作出进一步反应。     【美国司法部起诉5名中国军官网络窃密】     美国《华尔街日报》19日报道称,根据知情人士透露,美国司法部计划于当地时间19日上午宣布起诉5名中国军方人士,指控他们通过网络窃取美国公司的商业机密,这是美国政府首次公开控告外国政府公务人员针对美国公司实施网络黑客犯罪
[安防电子]
Silicon Laboratories推出业界最高集成度的以太网络供电控制器
Si3400 代表公司正式进入成长中的以太网络供电市场 专业电子元器件代理商 益登科技 ( TSE:3048 )所代理的高效能模拟与混合信号 IC 领导厂商 Silicon Laboratories 日前针对以太网络用电装置 (Powered Device , PD) 应用推出业界最高集成度的 IEEE 802.3af 以太网络供电 (Power over Ethernet , PoE) 控制器。 Si3400 是唯一内置二极管桥式电路 (diode bridge) 、瞬时突波抑制电路和开关稳压器 FET 晶体管的 PD 控制器。 Si3400 控制器的高集成度大
[新品]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved