电子书阅读器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

电子书阅读器项目成员:仝可施迪夫刘正文背景介绍图书电子化已成为主流趋势。近日美国加州州长施瓦辛格宣布加州取消课本,今年秋季起成为全球第一个教材全部电子化的地区。可以想象,如果未来电子书技术稳定,成本低廉,便于携带和交流,肯定会取代纸质图书,成为人们阅读的主要媒介。目前,便携式的电子书阅读设备已经比较普遍,智能手机,PDA,MID和各种笔记本电脑都可以很好的支持多种格式的电子书籍。但是上述设备的机能强大,如果仅作为电子书阅读器来使用有些大材小用,而且价格不菲。前年上市的AmazonKindle是一台专注于电子书阅读的设备,可是其推广和销售都没有较大成功,原因有两点:1.采用不成熟的E-ink技术,成本高,性价比极低。2.与Amazon捆绑,过分的版权设定,通用性差。而这,正是我们想要解决的问题。我们的目标是研制一种结构简洁,性价比高,功能专一,通用性强的电子书阅读器。下面我们详细介绍一下我们的项目制作。一.硬件设计硬件选取电子书阅读器的硬件设计可以大体分为三部分:存储部分,显示部分和控制部分。当前移动设备的存储介质种类非常丰富。小型设备(如手机mp3GPS设备等)上闪存式存储占据上风,而对存储容量要求较大的移动设备上,传统机械式硬盘仍占据主导地位。固态硬盘(SSD)近年来发展迅速,未来很可能取代两者成为兼顾性能,稳定性,移动性和性价比的主导存储设备。显示设备当前市场上的技术主要有以下三种:1.LCD液晶显示特别适合作为移动设备的显示模块。相关技术比较成熟,成本较低,是市场上的绝对主流。2.LED发光二极管显示近年来得到了突破性的进展,其超低能耗,超长寿命的特点决定其将取代液晶显示成为下一代主流。不过目前制作成本仍然较高,并且发展存在很多不确定性,短期内不会取代LCD的主流地位。3.E-INK作为一种创新型的显示技术,“电子墨”技术被人们寄予厚望,并在SONYreader,AmazonKindle等产品上得到了效果不凡的实际应用,不过受困于过高的成本和显示的稳定性,该技术成熟还需要较长的发展时间。控制技术的发展丰富多样,触控技术随着微软,苹果等巨头的引导成为新主流,不过传统的机械键盘仍占据绝大市场份额。同时,手势,语音,甚至意识控制等新型传感控制也在蓬勃发展中。权衡成本,通用性,技术成熟性和制作的复杂程度之后,我们决定选用闪存技术的SD卡作为存储媒介,点阵式LCD作为显示器,用三枚机械按键来进行操作控制。SD卡SD卡是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用。SD卡共支持三种传输模式:SPI模式(独立序列输入和序列输出),1位SD模式(独立指令和数据通道,独有的传输格式),4位SD模式(使用额外的针脚以及某些重新设置的针脚。支持四位宽的并行传输),在此我们选用SPI串行模式。SD卡端口示意图如下连接如下SDCARDMega32外部电路1.CSPB4(SS)2.DATAINPB5(MOSI)3.GND--GND4.3.3V--LM317OUTPUT5.CLKPB7(SCK)6.GND--GND7.DATAOUTPB6(MISO)SD卡的工作电压为3.3V,直接用单片机的5V供电会烧坏SD卡,所以必须使用转压芯片。我们选用德州仪器TI生产的LM317芯片为SD卡供电,连线图如下LCD我们选用的是金鹏公司生产的4X8点阵液晶OMCJ4x8c。该液晶基于ST7920控制模块,通用性强,功能完善。该显示模块支持字母、数字符号、中文字型及图形的显示,这满足了电子书阅读器的显示需求。模块支持串口连接,可节省单片机的引脚资源。连接如下OMCJ4x8cMega32外部电路1.VSS--GND2.VDD--VCC3.V0--对比度调节(未连接)4.RS--VCC5.RW(SID)PA7--6.E(SCLK)PA6--7~14.DB0~DB7----15.PSBPA5--16.NC----17.RST--VCC18.NC----19.BLA--VCC20.BLK--GND键盘我们直接使用开发板上的三个按键,连线为Key1PA0Key2PA1Key3PA2UART为了方便项目制作中SD卡操作的调试,我们搭建了UART串口与PC连接。使用MAX232作为电平转换芯片,连线如下Mega32MAX232DB9MPD0(RXD)R1OUT---PD1(TXD)T1IN------T1OUTPIN2-RD---R1INPIN3-TD电路图二.软件程序电子书阅读器采用模块化软件系统,各个部分分块编写,既大大增强了程序的可读性,也使各个模块的单独移植更加方便。程序采用WinAVR编写。软件系统可以分为四个部分:SD卡读取,LCD驱动与显示,键盘输入与控制,用户界面。其中SD卡的读取为整个软件系统的核心部分。在SD卡读取部分的软件开发过程中,没有使用LCD与键盘,单片机采用UART串行接口与PC通信,从而能够更加方便直观地对软件进行调试和改进。SD卡读取作为电子书阅读器软件的最核心组成,SD卡读取由可分为三个部分:SD卡驱动,SD卡与单片机的通信,SD卡内部文件系统的读写。在硬件设计阶段已经确定SD卡使用SPI模式与单片机通信。同时,SD卡采用目前最主流的FAT32格式文件系统,确保电子书阅读器的通用性。三部分的协同作用实现了创建文件,读取文件,删除文件,读取文件列表,读取磁盘空间大小等控制器对外部储存器操作的基本功能。三部分的源代码分别位于:SD_routines.cSD_routines.hSPI_routines.cSPI_routines.hFAT32.cFAT32.hUART串行通信UART串行通信的设计是为了软件测试服务的,因而其主要用途是在PC端显示程序进程和向单片机发送操作指令。在最终的作品中,UART部分并没有对用户开放,在操作过程中没有体现,仅作为后期调试接口保留。在PC端,利用Windows自带的“超级终端”调试软件与单片机进行通信。使以上对SD卡操作的所有功能在PC显示器上实现可视化。并由PC键盘输入对单片机进行操作,十分方便、明了,大大提高开发效率。UART源代码位于:UART_routines.cUART_routines.hLCD驱动金鹏OMCJ4x8c点阵液晶以ST7920控制模块为核心,驱动程序依据产品说明书编写。由于显示器模块内部已经集成了汉字库,GBK汉字符可以直接输入显示。LCD驱动程序主要包括屏幕初始化、显示位设置、字符串显示、图片显示和屏幕清除等函数。LCD驱动源代码位于:12864Drive.h用户界面电子书阅读器作为产品类的作品,面向用户的可视化操作界面也是一个十分重要的环节。这一部分直接影响到阅读器的实用性。用户界面软件设计可分为三个部分:用户导航,键盘输入,屏幕保护。用户导航在开机时显示欢迎及导航页面,指引用户选择阅读文本,并实现翻页、返回功能。目前阶段设计有文件1、文件2和产品说明三个文本可供选择。所以用户操作由LCD屏幕和三个机械按键完成。键盘输入键盘输入检测采用查询式。此方式虽然占用较大的CPU资源,但由于在显示电子书的过程中,单片机不进行除定时器计时外的其他工作,CPU基本空闲,所以查询式键盘检测无疑是最简单、最快捷的方法。三个按键功能如下:Key1读文件1/上翻页Key2读文件2/下翻页Key3显示说明/返回主菜单定时器计时屏保在阅读电子书的过程中,采用单片机T/C0计时器对键盘输入间隔进行计时,一旦超过规定时长没有检测到键盘输入,即用户长时间没有对阅读器进行操作,则LCD将显示屏保画面。用户界面源代码位于:SD_main.c软件流程图键盘输入key1key2key3key1key2key3设备初始化显示导航页面60s内是否有输入显示文本1显示文本2显示说明文档显示下一页显示上一页检测键盘输入T/C0计时显示屏保判断键值NY三.测试与制作成果图1使用超级终端与PC连接测试SD卡读取正常图2中英文电子书读取正常图3完整系统实物图四.资源统计硬件Easy-AVR实验板AVRATmega32LM317SD卡槽SD卡OCMJ4x8c液晶MAX232DB9M串口电阻、电容、导线一块一枚一枚一枚一张一块一枚一个若干软件WinAVR超级终端AVRsduio五.成员分工和工作情况整个项目由团队通力协作完成,组员贡献度基本相当。仝可34%施迪夫34%刘正文32%六.参考资料1.SDCardInterfacingwithATmega8(ATmega16/ATmega32)-MMC(MultiMediaCard)FlashMemoryExtension

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功