基于PXA270的电子纸显示系统
SDRAM部分由2片16位的SDRAM芯片HY57V561620FTP-H组成32位接口,作为系统动态存储器。HY57V561620FTP-H是4 Banks X 4M X 16Bit Synchronous DRAM,故采用数据线MD<31:0>、地址线MD<24:10>、SDRAM数据屏蔽线DQM<3:0>SDRAM部分由2片16位的SDRAM芯片HY57V561620FTP-H组成32位接口,作为系统动态存储器。HY57V561620FTP-H是4 Banks X 4M X 16Bit Synchronous DRAM,故采用数据线MD<31:0>、地址线MD<24:10>、SDRAM数据屏蔽线DQM<3:0>、片选信号nSDCS0、SDRAM行地址使能nSDRAS、SDRAM列地址使能nSDCAS、写使能nWE、SDRAM时钟信号SDCLK1、SDRAM时钟使能SDCKE等。
Nor Flash静态存储部分采用2片16M容量的Nor Flash E28F320J3A-110构成,主要存储启动引导bootloader、操作系统以及用户的应用程序。采用数据线MD<31:0>、地址线MD<24:2>、片选信号nCS0、写使能nWE、读使能nOE,RP#引脚(RESET/POWER-DOWN)接PXA270的nRESET_OUT引脚等。
PXA270的电源管理部分比较复杂,所需要的电压值比较多,本系统设计采用MAXIM公司的MAX1586CETM电源管理芯片,其是一款高效、低IQ、具有动态内核的电源管理IC(PMIC),针对XScale处理器进行了优化的电源管理IC,尤其适用于XScale微处理器设备,包括第三代智能手机、PDA、互联网设备及其他需要超强计算和多媒体处理能力的低功耗移动设备。MAX1586CETM芯片采用+5V电压输入,集成了7路高性能、低工作电流的电源以及监测和动态电压管理功能。稳压器输出包括3个降压型DC-DC输出、3个线性稳压器和一个常开电源输出。DC-DC转换器输出可为I/O、DRAM、CPU内核供电。I/O电源预置为3.3V,DRAM电源预置为2.5V,可通过外部电阻进行调节。CPU内核电源可通过串口编程,可输出0.9A电流。线性稳压输出为SRAM、PLL、USIM供电。
PXA270的上电复位过程需要特定的时序,详细可参照参考文献1。
电子纸驱动部分设计
显示控制器Apollo芯片是NXP公司开发的一种TFT(thin film transistor,薄膜晶体管)主动矩阵(active matrix)电泳(Electrophoretic)显示的显示控制器,是电泳显示参考系统电子设计的一部分。Apollo芯片适合800 X 600像素,支持1-bit和2-bit显示。屏幕高宽比(aspect ratio)为4:3,同时驱动源极驱动(source driver)和栅极驱动(gate driver);支持握手协议的8位并行双向异步数据总线接口,主接口最大通信速率是10Mbytes/s。
外部SRAM存储器存储显示数据,查询外部查询表(Look-Up-Table)组成需要显示的波形产生显示的图片,查询表存储在外部flash ROM存储器中。该芯片的主要特点还包括:使用双时钟频率降低功耗(33MHz和70kHz)、两种低功耗模式(Sleep和Standby)、内嵌方向旋转缓冲器、黑色和白色或者4级灰度模式、支持两顶点表示的矩形区域的局部写操作、温度传感器使用I2C主接口。电子纸驱动部分的硬件组成如图3所示。
图3 电子纸驱动部分硬件结构图
APOLLO驱动电子纸显示的操作流程如图4所示。电子纸的显示依据是要显示的图片与当前显示图片相比较,得出其差值,再根据当前温度查询对应的数据表格,依相应数据输出驱动。因此在上电后需对电子纸进行显示初始化,这样后续的图片显示就有较好的基准值。显示初始化后RAM1数据全置为1,第一幅图片数据存于RAM2,显示第一幅图片时将RAM2与RAM1进行比对,查表显示输出;第二幅图片数据存于RAM1,显示第二幅图片时将RAM1与RAM2(存储当前图片)进行比对,查表显示输出,RAM1即存储当前图片;下一幅要显示的图片存储于RAM2中,依次类推,循环执行即可输出要显示的画面。
图4 APOLLO芯片驱动电子纸显示流程
电子纸显示的显著特点之一是其省电模式,当其显示一幅画面后,由于电子纸的特殊技术因素,此幅画面在无供电或不刷新的情况下可长时间保持。APOLLO芯片驱动部分也同样具有两种省电模式:Sleep和Standby,能够很好的实现低功耗的工作方式。Sleep模式使用低时钟(70kHz),能够接收主CPU的指令;Standby模式不使用时钟,利用主CPU的唤醒信号使APOLLO恢复有效。这两种模式与Normal模式的转换如图5所示。
图5 APOLLO工作模式转换图
系统软件设计
嵌入式系统软件设计部分主要包括操作系统、驱动程序及应用程序。本系统设计了操作系统和驱动程序,应用程序的开发需根据实际系统需求设计。PXA270的开发平台选择Linux嵌入操作系统,采用linux2.6.9内核,编译工具包选用cross-3.3.2.tar.bz2,编译工具选用arm-linux-gcc。系统工作的执行过程为:首先通过供电单元提供的电源进行系统上电,接着启动Bootloader,然后开始加载嵌入式Linux系统内核,接下来进行外设模块的初始化进程。将电子纸驱动显示部分作为外设模块加载,加载成功后即可运行用户应用程序。
实际的显示效果图截图如图6及图7所示,图6为4级灰度显示,图7增加局部显示功能显示。
图6 4级灰度显示
- 基于Xscale的移动数字电视方案实现(11-27)
- 基于PXA270的LCD显示系统的设计与实现(01-18)