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所示,由嵌入式处理器ARM1136JF-S(主频532 MHz)、SDRAM(128 MB)、Flash ROM(128 MB)、复位电路与晶振、电源管理以及主机接口部分组成。多媒体处理器ARM1136JF-S的主要功能是用于系统中数据传输的控制。
ARM1136JF-S是ARM公司推出的一款高性能、低功耗的多媒体处理器。它最大的优势在于该CPU具有多媒体硬件加速器的特征,多媒体处理采用内嵌的信号处理硬件功能加速和精简指令运算编程来实现,既能实现高速信号处理计算又能大大降低CPU功耗,以较低CPU主频来实现高速的图像/语音编解码处理,不仅实现了高处理性能和低处理功耗的统一,同时保证了系统功能和性能在软件上的可升级和可拓展性。
3.2 电子纸屏幕部分架构
电子纸驱动部分的硬件架构如图3所示。电子纸屏幕显示控制器Apolio根据温度传感器的数据来查询Flash ROM中的查询表,决定是选择从SRAM1或SRAM2中输出数据到电子纸显示屏中。
显示控制器Apollo芯片是一种TFT(Thin FilmTransistor,薄膜晶体管)主动矩阵电脉显示的显示控制器,是电脉显示屏参考系统电子设计的一部分。Apollo芯片适合800×600 像素,支持1位和2位显示。屏幕高宽比(aspect ratio)为4:3,同时驱动源极驱动和栅极驱动,支持8位并行异步数据总线接口,使用外部SRAM来存储显示的数据。它用一个外部查询表(Look- Up-Table)来选择显示的图像,此查询表存储在Flash ROM中。
4 软件设计
系统的软件层如图4所示,主要包括操作系统、驱动程序以及应用程序。系统选用了WinCE5.0操作系统,利用WinCE5.0操作系统提供的驱动框架,开发了显示屏的驱动程序,使得WinCE5.0中的应用程序可以调用开发的驱动程序显示相关的文档数据。为缩短开发周期,本系统使用了Freescale 公司的MX31软件开发包,因此主要的任务就是驱动程序的编写。从软件的架构层次来看,驱动程序直接与硬件层相关,它提供相关的接口供应用程序调用,应用程序通过调用显示屏的驱动接口把相关的文件显示在电子纸屏幕上。