单慧琳,张银胜,唐慧强
(南京信息工程大学 电子与信息工程学院,江苏南京210044)
随着电子书、电子图书馆和电子报刊的出现带来的无纸化办公将给打印、复印等办公设备市场造成冲击。在国内市场,汉王科技、联想及大唐等企业相继进入电子书市场,而国际市场亚马逊则占据第一位置。目前电子书阅读器的发展也存在一定的问题,主要有两点:①成本高,性价比极低,产业链不完全;②过分的版权设定,通用性差。因此,研制一种结构简单、性价比高、功能专一、通用性强的电子书阅读器,具有很强的发展潜力[1]。电子书阅读器控制芯片有DSP、单片机和ARM 等几种方案,DSP 处理器功能强大,而电子书对处理功能要求较低,只做电子书阅读器会导致其功能浪费,单片机对扩展功能的实现不灵活,选择合适的芯片尤为关键,笔者基于LPC1114 芯片实现了电子书阅读等功能。
该系统主要由核心控制模块、MP3 解码模块、存储模块、显示模块和电源模块等组成。核心控制模块采用LPC1114 芯片,MP3 解码模块采用VS1003 芯片,存储模块采用外置闪存SD 卡,显示模块采用2.4 寸TFT 屏,电源模块采用AMS1117-3.3 集成稳压器[2]。其他外围电路包括按键控制、音响、晶振和复位等。系统总体框图如图1 所示。
图1 系统总体框图
电子书文件存放在SD 卡上,LPC1114 读取SD 卡里面的信息,然后显示在TFT屏上,可显示TXT 格式的文字和PNG 格式的图像。对于以MP3 格式存储于SD 卡中的有声电子文本而言,利用VS1003 芯片对MP3 文件进行解码,由LPC1114 协同控制MP3 解码模块和SD 卡模块,使得MP3 文件在音响中播放。
TFT 屏采用触摸方式来控制目录的显示与选择,在阅读的过程中通过机械按键来控制上下翻页与返回目录的功能。SD 卡采用SPI 通信模式与LPC1114 通信,SD 卡的通信引脚与LPC1114的PIO1 引脚相连,TFT 液晶显示屏的引脚与LPC1114 的PIO2 引脚相连,系统将LPC1114 芯片的引脚全部引出以便于连接。显示模块电路可以根据需求更换不同尺寸的TFT 屏。
LPC1114 是基于ARM Cortex-M0 的控制芯片,具有3 级流水线和哈佛结构,工作频率可达50 MHz。基于该芯片的最小系统辅以时钟电路、复位电路和电源电路等。时钟电路提供芯片内各种操作的时间基准,复位电路确保控制电路初始化,使控制芯片从某种确定的初态开始运行。
LPC1114 最小系统具备集成的功率管理单元,通过BOOT ROM 的功率优化功能,调用函数实现性能的优化和功耗的最小化,系统有睡眠、深度睡眠和深度掉电3 种节能模式,处理器通过专用启动逻辑从深度睡眠模式中唤醒,上电复位和掉电检测支持4 个独立的阈值,可产生中断和强制复位。在引脚XTAL1 和XTAL2 外接晶体振荡器,芯片内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
复位引脚RST 出现2 个机器周期以上的高电平时,控制芯片执行复位操作。如果RST 持续为高电平,控制芯片处于循环复位状态。上电复位要求接通电源后,自动实现复位操作。
MP3 解码电路所用的VS1003 芯片为一个单片音频解码器和ADPCM 编码器。芯片包含高性能低功耗处理器核VS_DSP4,提供高品质可变采样率的ADC、立体声DAC、耳机放大器和地线缓冲器等接口;能解码MP1、MP2、MP3 和WMA 多格式的所有流文件;内嵌PLL 锁相环时钟倍频器;数据接口可作为微处理器的从机,特殊应用的SPI Flash 引导,供调试用途的UART 接口[3]。
VS1003 作为系统的从机,通过一个串行接口来接收输入的比特流,输入的比特流解码通过一个数字音量控制器到达一个18 位过采样多位DAC。除了解码功能外,在用户RAM 中可实现其他特殊应用,如DSP 音效处理[4-7]。
系统使用SD 卡作为外置存储,SD 卡容量大,其数据传输速率也快,具有移动灵活性和安全性。SD 卡有SD 和SPI 两种读写模式。SD 模式需要加入SD 卡控制单元以支持SD 卡的读写。SPI 模式为独立序列输入和序列输出,而在SPI 模式下,通过4 条线就可以完成所有的数据交换,采用SPI 模式对SD 卡进行读写操作能简化硬件电路的设计,通用软件模拟出SPI 总线时序。LPC1114 芯片通过SPI 接口与SD 卡座接口相连接,图2 为SD 卡与控制芯片的连接示意图。
图2 SD 卡与控制芯片连接示意图
显示模块采用TFT 真彩LCD 模块,其接口丰富、编程方便和易于扩展。内置专用驱动和控制电路SPFD5408,无需外部显示缓存。显示模块采用奕力的ILI9325 芯片,能够支持320 ×240 以上分辨率,同时内置173 kB 的RAM,显示达26 万种颜色。总线式接口电路方式能充分发挥控制模块的总线读写功能,便于升级和扩展[8]。TFT 屏与控制芯片的连接如图3 所示。
图3 TFT 屏连接图
电源模块采用AMS1117-3.3 集成稳压器,它将5 V 电压转换为3.3 V,为系统中各个模块供电。电源模块电路如图4 所示。
图4 电源模块原理图
电子书阅读器系统的软件设计主要由SD 卡读取、TFT-LCD 驱动与显示、键盘输入与控制,以及用户界面4 个部分组成,其中SD 卡读取是整个软件系统的核心,主程序流程图如图5 所示。系统在初始化之后,会出现用户导航界面,通过键盘输入,系统会选择上下翻页操作以及选择进入文本页面。进入文本页面之后,用户可以阅读文本,在阅读文本过程中可以选择上下翻页以及返回用户导航页面的操作。
图5 主程序流程图
SD 卡读取分为3 个部分:SD 卡驱动,SD 卡与控制芯片通信,SD 卡内部文件系统读写。在硬件设计阶段已经确定SD 卡使用SPI 模式与控制芯片通信。同时,采用FatFS 文件系统管理文件,确保电子书阅读器的通用性[9]。图6 为SD 卡初始化流程图,图7 为SD 卡读操作流程图。
图6 SD 卡初始化流程图
图7 SD 卡读操作流程图
SD 卡读取的3 个部分的协同作用可实现创建、读取和删除文件,读取文件列表,读取磁盘空间大小等控制器对外部存储器操作的基本功能。
显示TFT 屏是以ILI9325 为核心,显示器模块内部集成了汉字库,GBK 汉字符可以直接输入显示。TFT-LCD 驱动程序主要包括屏幕初始化、显示位设置、字符串显示、图像显示和屏幕清除等函数。
用户界面直接影响到阅读器的实用性。系统的用户界面设计包括目录上翻和目录下翻。在开机时显示SD 卡内所有的文本,指引用户选择阅读文本,实现目录翻页功能。用户操作可以直接点击TFT 屏上的小说进入阅读。
键盘输入检测采用查询式,该方式虽然占用较大的处理器资源,但由于在显示电子书的过程中,控制芯片不进行除定时器计时外的其他工作,处理器基本空闲,因此查询式键盘检测无疑是最简单、最快捷的方法。
VS1003 解码芯片通过SPI 实现数据通信,与SD 卡公用一个SPI 接口,通过片选信号实现分时复用[10]。VS1003 通过7 根线与控制芯片通信。在默认情况下,数据将在SCLK 的上升沿有效(被读入VS1003),一次需要在SCLK 的下降沿更新数据,并且字节发送以MSB 为先。
VS1003 初始化流程如图8 所示,在开始播放彩色媒体文本之前,先对VS1003 进行一系列的初始化,完成对VS1003 的基本设置,然后才能正确地播放音频文件。
图8 VS1003 初始化流程图
依照上面的设计方案,对设计的实物进行测试,音质流畅,图文清楚,各项技术指标均正常,达到了设计要求。
笔者以LPC1114 芯片为控制核心,以SD 卡为整个系统的外置存储,将电子书的TXT 文档显示在TFT 屏上,支持中英文,支持长文件名显示,还可显示PNG 格式的图像,并可以播放MP3 格式的有声电子文本,以实现多功能阅读。该系统采用模块化设计,功耗低,性价比高,便于携带,具有良好的可扩展性。
[1] 刘攀,秦凯泽,郑日荣. 基于STC90C516AD 单片机和CH376 的简易电子书阅读器设计[J].工业控制计算机,2011,24(12):98-99.
[2] NAKAJIMA Y. Ultra-low-power LTPS TFT-LCD technology using a multi-bit pixel memory circuit[J].Journal of the SID,2006,14(12):1071-1075.
[3] 王宾,杨岸.基于DSP 的触摸式MP3 的设计[J].电子技术应用,2010(7):81-83.
[4] 李国辉.基于ARM 的MP3 播放器设计与实现[J].现代电子技术,2011,34(16):1-2.
[5] 任雁鹏,梁利平.MP3 音频解码速度优化[J]. 微电子学与计算机,2010(4):43-45.
[6] 王道乾,刘定智,文俊浩.基于ARM 处理器的MP3播放器分析与实现[J]. 计算机工程与设计,2007,28(7):1595-1597.
[7] 李宁,熊刚,徐良平.基于Cortex-M3 的MP3 播放器设计[J].单片机与嵌入式系统应用,2009(2):48-60.
[8] 王元庆. TFT-LCD 中高效率背光模块驱动电路[J].仪表技术与传感器,2004(11):32-34.
[9] 邹胜武,吕云飞,孙大军.数据存储系统FAT32 文件格式软件设计[J].应用科技,2010,37(5):46-48.
[10]陈博,刘天宏,刘锦高.基于CH 375 的USB-HOST MP3 播放器[J].华东师范大学学报:自然科学版,2009 (2):136-140.