在具体实现相关信息的显示时采用了Framebuffer技术。首先预分配一块缓冲区并声明为二维数组,数组的一维长度和二维长度分别与液晶的宽和高相对应,这样数组的每个元素都代表液晶中的一个点。在系统运行中若要刷新液晶显示,则首先要更新Framebuffer缓冲区,再从Framebuffer更新液晶显示。MOBI2006列向基于点寻址;横向基于页寻址,每一页由8个点组成。基于液晶的特点,如果不采用Framebuffer技术,刷新屏幕中的一小块,则会导致整个屏幕的变动,给上层应用的开发带来很大困难。因此,虽说采用Framebuffer技术将占用一部分内存和刷新时间,但会为后续的开发带来很大方便:在上层具体应用中不再受页寻址的限制,在上层开发者看来列向、横向均为点寻址,可以方便灵活地操纵液晶。另外,为了保证Framebuffer与液晶的同步,采用基于事件的方法刷新液晶屏并且是局部刷新,这样既节省了液晶的刷新时间又减小了屏幕的抖动。
例如,应用层要显示一张图片,只须给出图片的显示位置,即对应于二维数组的行列值、图
片的宽和高,以及相应的点阵数据。首先将图片的点阵数据刷新到Framebuffer缓冲区,然后再根据显示位置确定液晶的刷新区域,其中缓冲的列值对应于液晶的列值,而行值要转换为液晶的页面值,可通过如下公式转换:
Page_start=row/8
Page_end=(row+high-1)/8
其中:Page_start和Page_end分别对应于液晶的起始、终止页面值;row对应于图片显示位置的横坐标;high对应于图片的高度。计算出相应的页面值之后便可通过如下过程刷新液晶的指定区域,完成预期图片的显示。

2.5 数据存储管理
在S3C2410 的BANK0中扩展了1片4M×16位的NOR FLASH;在BANK6中扩展了一片8M×16位的SDRAM,并且利用S3C2410的NAND FLASH控制器扩展了一片64M×8位的NAND FLASH。NOR FLASH主要用来存储程序代码;NAND FLASH主要用来存储采集的心电数据以及部分程序代码。S3C2410支持从NOR和NAND两种方式启动,可以通过配置S3C2410的OM[1:0]来选择CPU的启动方式。 系统可以实现全天24小时无间断心电数据采集,这样必将产生大量数据。为了将大量心电数据传输到PC机中供医护人员分析、诊断,系统采用了通用的USB端口。S3C2410内部集成了USB Device控制器,因此只须设计简单的外围电路,即可实现此功能。该USB Device控制器完全兼容USB1.1协议规范,集成了USB传输器,支持控制传输、中断传输和批量传输;5个具有FIFO的端点,为批量传输的端点提供DMA接口并且支持挂起和远程唤醒功能。
3 结束语
本系统具有很强的实用性,可以对心脏病患者进行实时监护。由于本系统具有无线传输功能,因而患者可以不受时间和空间的限制使用本系统,无论在家中还是在野外都能对心脏进行实时监护。系统的24小时无间断心电图记录功能,足以捕捉突发性的异常心电数据,为医护人员提供有力的诊断依据。本系统研制成功后受到医疗界专家的高度评价,在临床测试过程中也受到患者和医护人员的一致好评。