您的位置 首页 培训

根据ARM嵌入式多参数监护仪规划与完成

多参数监护仪广泛应用于ICU、CCU、病房、手术室等。目前我国也有自主知识产权的产品,如迈瑞、金科威、金脑人等,但与GE、飞利浦世界先进产品比较,在监测和计算、可靠性、实时性、稳定性、信号变异的处

  多参数监护仪广泛运用于ICU、CCU、病房、手术室等。目前我国也有自主知识产权的产品,如迈瑞、金科威、金脑人等,但与GE、飞利浦国际先进产品比较,在监测和核算、可靠性、实时性、稳定性、信号变异的处理剖析、长途传输等方面都较落后[1]。嵌入式体系把核算机直接嵌入到运用体系之中,它交融了通讯技能和半导体微电子技能,是信息技能IT的终究产品[2]。因而将嵌入式体系,网络等技能运用于医用监护仪范畴,能使多参数监护仪适应现代医用监护仪商场缩小体积,进步数据处理才能,长途医疗等方面的要求。

  本文介绍一种依据ARM的实时监护体系,它将32位RISC结构的ARM内核处理器与实时多使命嵌入式体系相结合,并经过嵌入式TCP/IP协议栈为渠道增加网络传输功用,构建一个新式的多参数监护仪体系。

  2 体系硬件规划

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

  多参数监护仪硬件结构

  图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的嵌入式多参数监护仪的规划与完成,并运用于实践丈量,为嵌入式体系在医用监护中的运用供给了一个很有含义的新思路和切实可行的计划。因为该网络监护仪首要面向医院、社区和家庭,具有成本低、功耗小、数据存储量大、数据处理速度快、便于长途医疗、能一起完成实时多使命的操作等各项优势, 是现代医疗监护进一步智能化、专业化、小型化、低功耗的开展新方向,困此具有很宽广的商场前景。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/285377.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部