嵌入式系统课程设计报告-数码相框设计.doc_第1页
嵌入式系统课程设计报告-数码相框设计.doc_第2页
嵌入式系统课程设计报告-数码相框设计.doc_第3页
嵌入式系统课程设计报告-数码相框设计.doc_第4页
嵌入式系统课程设计报告-数码相框设计.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统课程设计报告数码相框设计姓 名: 班 级: 学 号: 指导老师: 日期: 摘 要随着数码相机的普及,人们对图片等多媒体的播放需求越来越高,从而促进了数码相框的发展。随着嵌入式系统技术的不断发展,已经呈现出传统的数码相框被嵌入式数码相框代替的趋势。虽然目前嵌入式数码相框技术在图片播放浏览上呈现出很多优点,但相对来说价格还不算十分优惠,一起相关的一些技术也有待提高。所以在这里设计一款性价比相对来说比较高的数码相框:它是采用ARM Cortex M3内核的微控制器STM32平台,价格实惠的SD卡存储器存储图片和数据;选择TFT显示屏移以保证图片的显示效果和美观;移植FATFS文件系统,从而以文件的方式进行快速SD卡数据读取,减少硬件设备需求,让系统运行更流畅。整个设计实现了有定时和手动切换图片功能的数码相框。【关键字】数码相框设计 微控制器STM32平台 SD卡存储 TFT液晶 FATFS文件系统目录1 数码相框简介11.1 数码相框的概念11.2 数码相框的原理.11.3 数码相框的特点12 设计方案比较22.1 采用ARM920T内核22.2 采用ARMCortex M3内核22.3 方案比较分析总结.23 系统设计整体思路及流程图34 系统硬件设计44.1 硬件连接图44.2 STM32f103RBT6平台外扩存储器的选择44.3 液晶显示屏的选择45 系统软件设计55.1 开发编程环境选择55.2 FAT文件系统66 结束语87 课程设计心得体会88 参考文献9 1. 数码相框的简介1.1数码相框的概念数码相框是展示数码照片而非纸质照片的相框。数码摄影必然推动数码相框的发展,因为全世界打印的数码相片不到35%。数码相框通常直接插上相机的存储卡展示照片,当然更多的数码相框会提供内部存储空间以接外接存储卡功能。数码相框就是一个相框,不过它不再用放进相片的方式来展示,而是通过一个液晶的屏幕显示,它可以通过读卡器的接口从SD卡获取相片,并设置循环显示的方式,比普通的相框更灵活多变,也给现在日益使用的数码相片一个新的展示空间。1.2数码相框的原理数字相框,也称为数码相框,其基本原理:外观采用普通相框的造型,把原来相框中间的照片部分换成液晶显示屏,配上电源,存储介质等,可以直接播放数码照片,使得同一个相框内可以循环播放照片,比普通相框的单一功能更有优势。1.3数码相框的特点(1)数码相框是可以直接展示数码照片不用将照片冲印出来再展示的新型相框。 (2)它采用传统普通相框的外框(外观)造型,把传统普通相框的中间照片部分换成液晶显示屏,配上电源,存储介质等部件,可以直接展示(播放)数码照片,同时,可以在同一个相框内循环展示(播放)不同照片,给日益增多的数码照片和喜好照片的人们提供一个更好的照片展示平台和空间。 (3)数码相框的外观造型与传统普通相框一样(当然在尺寸和款式方面也与传统普通相框一样可以多样选择),不过数码相框不像传统普通相框那样需要将数码照片冲印出来再装到相框里展示,而是通过直接插上相机的存储卡或者直接将数码相片拷到数码相框的存储器就可以马上在相框里展示出来,而且它可以存储和展示(播放)几百张甚至上千张的照片。 2.设计方案比较2.1 采用ARM920T内核采用ARM920T内核的S3C2410X作为数码相框设计平台。S3C2410X微处理器时一款由samsung公司为手持设备设计的低功耗、高集成度的基于ARM920T核的微处理器,为了降低系统总成本和减少外围器件,这款芯片还集成了以下部件:16KB指令Cache、16KB数据Cache、MMU、外部存储器控制器、LCD控制器、NAND FLASH控制器、4个DMA通道、3个UART通道、1个IIC总线控制器、1个IIS总线控制器、4个PWM定时器、1个内部定时器、通用IO口、实时时钟、8通道10位ADC和触摸屏接口、USB主、USB从、SD/MMC卡接口等,所以,从整体的系统结构上可适用于数码相框的设计。2.2采用ARMCortex M3内核 采用ARMCortex M3内核的STM32f103RBT6作为数码相框的设计平台。STM32f103RBT6系列使用了ARM最新的、先进架构的Cortex-M3内核,采用哈佛结构,能够达到1.25DMIPS/MHz和0.19mW/MHz ,有单周期乘法指令和硬件除法指令。STM32拥有杰出的功耗控制,并经过特殊的处理,在运行模式和待机模式及电池模式都进行了优化,待机电流仅为2A 。STM32还有性能出众的片上外设,如USB 、USART、SPI、I2C、GPIO、PWM等。STM32最大限度地实现集成,尽可能地减少对外部器件的要求,内嵌电源控制器,带有上电复位、低电压检测、掉电检测、自带始终的看门狗定时器,一个主晶振可以驱动整个系统,内嵌PLL可产生多种频率,可以为内部实时时钟选择32kHz 的晶振。完全能满足数码相框的设计。2.3方案比较分析总结从性能、价格、实用性等方面对两种方案进行比较,可以发现STM32在符合数码相框的设计要求同时,也是一款性价比极更高,相对来说更容易上手和操作的芯片。此外,我们小组成员对STM32也有一定的学习基础和了解,可以说选择它作为设计平台能有效的缩短设计时间。最后,经过小组讨论,决定采用ARMCortex M3内核的STM32f103RBT6作为数码相框的设计平台。3.系统设计整体思路及流程图设计中使用ARMCortex M3内核的STM32f103RBT6的设计平台,SD卡存储,TFT液晶作为显示屏,图片数据以文件方式存储,能够实现图像文件格式到液晶显示格式的转换。开始运行系统时,首先进入开机界面,同时会显示日历、时钟。当有按下播放键后,进入图片播放模式,此时液晶旁边的LED灯会闪烁提示正常工作。播放模式分为自动播放模式和手动播放模式。自动播放模式的工作方式为每隔一段时间,自动播放图片。手动播放模式即使用按键,来上或下一张快速选择自己所需查看的图片。系统流程图如下:开始进入开机显示界面按下播放键键否是是否自动播放循环播放图片判断是上一张还是下一张图片播放相应的图片是否结束4.系统硬件设计4.1硬件连接图SD存储卡ARMCortexM3内核的STM32F103RBt6系统开发平台外围硬件设备TFT液晶显示4.2 STM32f103RBT6平台外扩存储器的选择本数码相框的设计,选取SD存储卡作为STM32f103RBT6平台的外扩存储器。SD卡(Secure Digital Memory Card)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(PDA)和多媒体播放器等。它在24mm32mm2.1mm的体积内结合了SanDisk快闪记忆卡控制与MLC技术和Toshiba(东芝)0.16u及0.13u的NAND技术,通过9针的接口界面与专门的驱动器相连接,不需要额外的电源来保持其上记忆的信息。而且它是一体化固体介质,没有任何移动部分,所以不用担心机械运动的损坏。SD卡共支持三种传输模式:SPI模式(独立序列输入和序列输出),1位SD模式 (独立指令和数据通道,独有的传输格式), 4位SD模式 (使用额外的针脚以及某些重新设置的针脚。支持四位宽的并行传输)鉴于SD卡的以上优点,所以在此设计中采用。 4.3液晶显示屏的选择本设计选取TFT液晶屏,作为数码相框的图像显示部分。TFT(Thin Film Transistor)LCD即薄膜场效应晶体管LCD,是有源矩阵类型液晶显示器(AM-LCD)中的一种。通常的a-Si TFT主要由玻璃基板、栅电极、栅绝缘层、半导体活性层a-Si,欧姆接触层n+a-Si、源漏电极及保护膜等组成,其中栅绝缘层和保护膜一般采用SiN。液晶平板显示器,特别TFT-LCD,是目前唯一在亮度、对比度、功耗、寿命、体积和重量等综合性能上全面赶上和超过CRT的显示器件,它的性能优良、大规模生产特性好,自动化程度高,原材料成本低廉,发展空间广阔。与TN技术相比,TFT-LCD具有比TN-LCD更高的对比度和更丰富的色彩,荧屏更新频率也更快,故TFT俗称“真彩”。在本设计中,采用TFT作为液晶显示屏,能够展现出图片更丰富的色彩,给人一种更绚丽的视觉享受。5.系统软件设计5.1 开发编程环境选择本系统的软件设计采用Keil 4.0作为开发编程环境。如下图所示。 图1 Keil 4.0开发编程环境5.2 FAT文件系统FatFS是一个通用的文件系统模块,用于在小型嵌入式系统中实现FAT文件系统。 FatFs 的编写遵循ANSI C,因此不依赖于硬件平台。它可以嵌入到便宜的微控制器中,如 8051, PIC, AVR, SH, Z80, H8, ARM 等等,不需要做任何修改。FatFs 提供下面的函数: f_mount - 注册/注销一个工作区域(Work Area) f_open - 打开/创建一个文件f_close - 关闭一个文件 f_read - 读文件f_write - 写文件 f_lseek - 移动文件读/写指针 f_truncate - 截断文件 f_sync - 冲洗缓冲数据 Flush Cached Data f_opendir - 打开一个目录 f_readdir - 读取目录条目 f_getfree - 获取空闲簇 Get Free Clusters f_stat - 获取文件状态 f_mkdir - 创建一个目录 f_unlink - 删除一个文件或目录 f_chmod - 改变属性(Attribute) f_utime - 改变时间戳(Timestamp) f_rename - 重命名/移动一个文件或文件夹 f_mkfs - 在驱动器上创建一个文件系统 f_forward - 直接转移文件数据到一个数据流 Forward file data to the stream directly f_gets - 读一个字符串 f_putc - 写一个字符 f_puts - 写一个字符传 f_printf - 写一个格式化的字符磁盘I/O接口 Since the FatFs module is completely separated from disk I/O layer, it requires following functions to lower layer to read/write physical disk and to get current time. The low level disk I/O module is not a part of FatFs module and it must be provided by user. The sample drivers are also available in the resources. 因为FatFs模块完全与磁盘I/O层分开,因此需要下面的函数来实现底层物理磁盘的读写与获取当前时间。底层磁盘I/O模块并不是FatFs的一部分,并且必须由用户提供。资源文件中也包含有范例驱动。 disk_initialize - Initialize disk drive 初始化磁盘驱动器 disk_status - Get disk status 获取磁盘状态 disk_read - Read sector(s) 读扇区 disk_write - Write sector(s) 写扇区 disk_ioctl - Control device dependent features 设备相关的控制特性 get_fattime - Get current time 获取当前时间FATFS的移植五步骤:1、使用SD卡的SPI通信模式。SD卡的DI接MOSI,DO接MISO,CS接SS。这就需要STM32提供SPI读写接口代码,主要包括初始化、读和写。SPI初始化包括SPI相关寄存器的初始化和相关IO口的初始化。将STM32的SPI配置成主机模式、数据高位先传、时钟速率为二分之一系统时钟等。2、接着配置IO口的输入输出。MOSI脚和Ss脚配置成输出,MISO脚配置成输入。然后,就可以进行读写了。3、定义数据类型,修改integer.h ,使其中定义的数据类型与相应的MCU相匹配。4、是 配 置 ff.h,用户可以对应于不同的文件系统的配置,在相应的地方进行修改,ff.h文件中有详细注释,用户可以根据具体情况进行修改。5、最关键的一步,底层函数的修改。本系统有6个底层函数需要用户根据具体情况进行修改:DSTATUS disk_initialize磁盘初始化,如果SD卡设置正常,直接返回0或者其他状态。DSTATUS disk_status磁盘状态监测,可以返回0或者其他状态。DRESULT disk_read磁盘读函数,调用SPI读单个或多个区块的函数。 DRESULT disk_write磁盘写函数,调用SPI写单个或多个区块的函数。 DRESULT disk_ioctl仅在磁盘格式化时需要,如不需要可返回0。 DWORD get_fattime RCT时间获得,具体格式可以参考具体的文献说明。此外还需要配置4个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论