引言
在当今的桌面和嵌入式两个系统中,阴极射线管(CRT)技术和液晶显示(LCD)技术是屏幕印刷的两大主流技术。这两大技术有一个共同的特点——需要动态刷新整个屏幕来维持显示,即光栅动态扫描[1]。这种技术使得阴极射线管和液晶显示需要不断地消耗电能维持显示,因此,它们并不适合移动嵌入式阅读应用。
电子纸的出现改变了这种状况。电子纸,也可以称为“像纸一样薄、可擦写的显示器”,是专门用于阅读的电子装置;其对比度较高、文字清晰、支持屏幕手写、耗电量极小,并且能够轻轻弯曲,也被业内人士称为“电子纸手写平板电脑”[2]。目前,拥有电子纸技术的公司主要有Eink、东芝、摩托罗拉、IBM等公司。其中Eink公司的电子纸技术比较成熟,已实现产品化,主要有Sony公司的电子书阅览器PRS500和iRex公司的便携式电子纸手写电脑iLiad等。
最近,Freescale公司推出的MX31平台下的多媒体应用处理器,最高主频可以达到532 MHz[3],提供了高性能的多媒体处理技术,它具有高性能、低功耗、丰富的外设等特点。基于以上特点,本文提出了基于MX31的电子纸显示系统解决方案,配合WinCE5.0操作系统使得系统反应速度更快,功耗更低、系统扩展性更强,采用6 in四级灰度显示,使得显示更加逼真,达到了阅读效果和舒适程度与传统的打印纸一样的效果。
1电子纸显示原理
电子油墨是一种加工成薄膜状的专用材料,与电子显示设备结合在一起使用,是化学、物理学和电子技术的综合应用。电子油墨由数百万个尺寸极小的微胶囊构成,直径与头发丝相当。每一个微胶囊中含有白色和黑色颗粒,分别带有正电荷和负电荷,它们悬浮在清洁的液体中。如图1所示,电子油墨薄膜的顶部是一层透明材料,作为电极端使用;底部是电子油墨的另一个电极,微胶囊夹在这两个电极间。微胶囊受负电场作用时,白色颗粒带正电荷而移动到微胶囊顶部,相应位置显示为白色;黑色颗粒由于带负电荷而在电场力作用下到达微胶囊底部,使用者不能看到黑色。如果电场的作用方向相反,则显示效果也相反,即黑色显示,白色隐藏。可见,只要改变电场作用方向就能在显示黑色和白色间切换,白色部位对应于纸张的未着墨部分,而黑色则对应着纸张上的印刷图文部分。
图1电子纸剖面图
2整体方案
电子纸显示系统目前已经有成熟的产品,比如电子阅览器。目前市场上的所有电子纸产品几乎都是基于Linux操作系统的,因为Linux操作系统的界面可以很容易地实现界面定制化。但是,可以预见的是,基于WinCE操作系统的电子纸屏幕系统的产品很快会问世,并且相对于Linux平台,WinCE具有更人性化的界面和更多样化的功能。通过使用WinCE操作系统,可以方便地在电子纸系统中扩展Microsoft的应用程序,比如,可以在电子纸系统中看Word、PPT等文档,甚至可以上网浏览新闻,收发邮件,使用即时通信软件等等。相信,在不久的一天,电子阅览器不仅仅可以进行书籍的阅读,而且可以进行简单的办公。因此,本系统在Freescale公司的MX31硬件平台上,采用WinCE5.0操作系统,使得电子纸系统不仅仅可以阅读多种格式的文档,同时大大地提高了电子纸系统功能的可扩展性。
3系统设计
本系统的硬件由核心处理器部分和电子纸屏幕部分组成,整个系统基于Freescale公司的MX31平台,操作系统使用WinCE5.0。将电子纸驱动部分作为整个系统的一个部件,利用WinCE5.0提供的驱动框架把显示屏的驱动程序加载在WinCE5.0操作系统中,在系统启动初始化过程中加载此驱动模块,应用层通过驱动程序接口调用此模块实现画面显示。
3.1核心处理器部分架构
处理器部分的硬件架构如图2所示,由嵌入式处理器ARM1136JFS(主频532 MHz)、SDRAM(128 MB)、Flash ROM(128 MB)、复位电路与晶振、电源管理以及主机接口部分组成。多媒体处理器ARM1136JFS的主要功能是用于系统中数据传输的控制。
图2处理器部分硬件架构
ARM1136JFS是ARM公司推出的一款高性能、低功耗的多媒体处理器。它最大的优势在于该CPU具有多媒体硬件加速器的特征,多媒体处理采用内嵌的信号处理硬件功能加速和精简指令运算编程来实现,既能实现高速信号处理计算又能大大降低CPU功耗,以较低CPU主频来实现高速的图像/语音编解码处理,不仅实现了高处理性能和低处理功耗的统一,同时保证了系统功能和性能在软件上的可升级和可拓展性。
3.2电子纸屏幕部分架构
电子纸驱动部分的硬件架构如图3所示。电子纸屏幕显示控制器Apollo根据温度传感器的数据来查询Flash ROM中的查询表,决定是选择从SRAM1或SRAM2中输出数据到电子纸显示屏中。
图3电子纸屏幕部分架构
显示控制器Apollo芯片是一种TFT(Thin Film Transistor,薄膜晶体管)主动矩阵电脉显示的显示控制器,是电脉显示屏参考系统电子设计的一部分。Apollo芯片适合800×600像素,支持1位和2位显示。屏幕高宽比(aspect ratio)为4∶3,同时驱动源极驱动和栅极驱动,支持8位并行异步数据总线接口,使用外部SRAM来存储显示的数据。它用一个外部查询表(LookUpTable)来选择显示的图像,此查询表存储在Flash ROM中[5]。
4软件设计
系统的软件层如图4所示,主要包括操作系统、驱动程序以及应用程序。系统选用了WinCE5.0操作系统,利用WinCE5.0操作系统提供的驱动框架,开发了显示屏的驱动程序,使得WinCE5.0中的应用程序可以调用开发的驱动程序显示相关的文档数据。为缩短开发周期,本系统使用了Freescale公司的MX31软件开发包,因此主要的任务就是驱动程序的编写。从软件的架构层次来看,驱动程序直接与硬件层相关,它提供相关的接口供应用程序调用,应用程序通过调用显示屏的驱动接口把相关的文件显示在电子纸屏幕上。
图4系统软件层
电子纸屏幕驱动的软件架构如图5所示,WinCE5.0的显示驱动由GWES.exe加载管理,应用程序通过GDI(Graphic Device Interface)接口来访问显示驱动程序。在WinCE5.0中,显示驱动包括MDD (Model Device Driver)和PDD (Platform Dependent Driver)层,其中MDD层是微软的GPE (Graphics Primitive Engine)库,它向上层提供了相应DDI接口[6]。因此,对于驱动部分的主要工作是编写PDD层,在WinCE5.0提供的显示驱动框架下,编写相应的驱动程序。
图5电子屏驱动架构
5结果分析
基于以上的设计方案,在MX31的硬件平台上编写了驱动程序,成功运行了系统。电子纸的效果如图6所示。
图6系统显示效果
从系统效果来看,本系统可以正常工作。系统可以显示任何WinCE5.0支持的文件格式,而且字体清晰,跟传统打印的纸张显示的字迹几乎没有区别。
从测试结果看来,本系统完全可以实现电子纸屏幕显示系统的产品化,它使得电子纸系统使用WinCE5.0操作系统,可以正常阅读各种WinCE5.0支持的文档。
结语
本系统在Freescale公司的MX31的硬件平台上采用WinCE5.0的操作系统,实现了电子纸显示系统。从最后的结果来看,系统能较好地显示WinCE5.0支持的各种文档。此外,系统具有功耗低、扩展性强等特点。另外,如果系统能增加网络功能,那么就能很容易地扩展系统的其他功能,如网络浏览新闻、收发邮件、即时通信功能等。这些功能的增加可以极大地丰富电子纸产品的运用。