1、 单片机技术课程设计说明书 基于 AMR9 的 电子相册 系 、 部: 电气与信息工程系 学生姓名: 陈金辉 指导教师: 王韧 职称 副教授 专 业: 自动化 班 级: 自本 0801 完成时间: 2010-12-30 摘 要 是指可以在电脑上观赏的区别于 CD VCD 的静止图片 的特殊文 档 ,其内容不局限于摄影照片,也可以包括各种艺术创作图片。电子相册具有传统相册无法比拟的优越性:图、文、声、像并茂的表现手法,随意修改编辑的功能,快速的检索方式,永不褪色的恒久保存特性,以及廉价复制分发的优越手段。 关键词 电子相册 ; C/GUI; C/OS -II; zn_FAT; ARM9 ABST
2、RACT Electronic albums means you can watch the difference on computers in CD/VCD still picture of special document, its content is not limited to photograph, may also include a variety of art creation pictures. Electronic albums with traditional albums incomparable advantages: drawing, text, voice,
3、like articals expressional gimmick, revise editing functions, quick retrieval methods, the unfailing permanent preservation characteristics, and cheap copy distribution of the superior means. Key words electronic albums; C/GUI; C/OS -II; zn_FAT; ARM9 1 目 录 1 设计任务及总体方案 . 1 1.1 设计任务 . 1 1.2 功能要求说明 . 1
4、 2 电子相册的硬件系统的设计 . 2 2.1 TFT 液晶及触摸屏电路 . 2 2.2 SD 卡电路 . 3 3 电子相册软件系统的设计 . 4 3.1 使用单片机资源的情况 . 4 3.2 软件系统各模块功能介绍 . 5 3.3 软件系统程序流程框图 . 8 4 仿真结果、使用说明及教学建议 . 9 4.1 使用说明 . 9 4.2 仿真结果 . 9 4.3 设计体会 . 10 4.4 教学建议 . 10 参考文献 . 11 致 谢 . 12 1 1 设计任务 及总体方案 1.1 设计任务 将 SD 卡中的图片解码并 在 TFT 彩屏上显示。 1.2 功能要求说明 ( 1) 读取 SD 卡
5、中的 JPEG 和 BMP 格式的图片 。 ( 2) 列表显示 图片信息 , 包括文件名、文件大小、文件修改日期。且支持中文 字体。 ( 3) 通过 触屏选择 需要显示的图片 ,并且具备丄翻、下翻、返回功能 键 。 1.3 设计 总体方案及工作原理说明 本设计 采用 S3C2440A 处理器 , 通过 zn_FAT32 文件系统读取 SD 卡 中的 图片 文件 ,应用 C/GUI 提供的 图片显示 API(Application Program Interface)进行解码 ,最终以 26 万色模式在 LCD 彩屏 上 显示 。方案框图如图 1.1 所示 。 C / G U IS 3 C 2
6、4 4 0 AZ n _ F A TJ P E G / B M P 文 件触 摸 屏S D 存 储 卡L C D C / O S - I I图 1.1 系统总体框图 2 2 电子相册的 硬件系统的设计 2.1 TFT 液晶 及触 摸屏 电路 ( 1) TFT 液晶电路 TFT 彩色显示器通过利用三种原色混合的原理显示不同的色彩:彩色面板中,每个像素都是由 3个液晶单元格构成,其中每个单元格前面都分别有红色、绿色、蓝色的过滤片;光线经过过滤片的处理变成红色、绿色、蓝色,利用三原色的原理组合出不同的色彩。 本次设计中 TFT 是主要的显示设备, 液晶屏显示分辨率为 320 240,物理尺寸为 3.
7、5 寸, 主要显示 16 位色色彩。 TFT 接口如图 2.1 所示。 VD0VD23:为数据总线,直接连接到 2440 的 LCD 控制器上。 LCD_PWREN:为背光使能。 VSYNC:帧(垂直)同步。 HSYNC:帧(水平)同步。 VCLK: LCD 时钟。 VDEN:数据有效使能。 图 2.1 液晶及触摸屏接口 ( 2) 触摸屏电路 电阻触摸屏是由两层复合膜构成,一层为导电玻璃,另一层为导 电薄膜 ,在两层导电层之间有 许多细小的透明隔离点把他们绝缘。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,控制器侦测到这一接触点, ADC 后计算出( X, Y)的坐标。 本系统中触摸屏是
8、主要的人机交互媒介。本次设计采用四线制电阻式触摸。接口如图 2.1 所示。 3 2.2 SD 卡电路 SD 卡是可靠数字存储卡,由 MMC 发展而来,他是为满足最新的视听类消费电子产品对安全、容量、性能等有特殊要求的环境而设计的。本系统中 SD 卡作为外储设备,通过 PC 机上下载的图片后,插入开发板 SD 卡插槽后由 ARM 读取。 SD 卡基于 9 针接口,最大可工作在 25MHz。其中定义了两种可选择的总线协议,分别是 SD 和 SPI。 ( 1) SD 总线: CLK:主机与卡之间的同步时钟。 CMD:双向的命令 /反馈信号。 DAT0DAT3: 4 位双向的数据传输线。 ( 2) S
9、PI 总线: CS:主机到卡芯片之间的片选信号。 CLK:主机到卡芯片之间的同步信号。 DataIn:主机到卡芯片之间的数据输入信号。 DataOut:主机到卡芯片之间的数据输出信号。 本系统采用了高速的 SD 总线方式,硬件接口如图 2.2 所示。 图 2.2 SD 卡接口 4 3 电子相册 软件系统的设计 3.1 使用单 片机资源的情况 本次设计采用了 三星公司推出的 16/32 位 RISC 微处理器 S3C2440A 采用了ARM920T 的内核, 0.13um 的 CMOS 标准宏单元和存储器单元。其 功耗 极低 ,ARM920T 实现了 MMU, AMBA BUS 和 Harvar
10、d 高速缓冲体系结构构。 Fclk 最高达 400MHz。 本次使用了 以下片上功能: 16KB 的 I-Cache 和 16KBDCache/MMU 外部存储控制器 (SDRAM 控制和片选逻辑 ) LCD 控制器 1 通道 LCD 专用 DMA 通道 UART(IrDA1.0, 64 字节 Tx FIFO,和 64 字节 Rx FIFO) SD 卡接口: 兼容 SD 主接口协议 1.0 版和 MMC 卡协议 2.11 兼容版。 定时器 0 2 通道 ADC 触摸屏接口 PLL 片上时钟发生器 5 3.2 软件系统各模块功能介绍 3.2.1 C/GUI(emGUI)简介 C/GUI 是一种嵌
11、入式应用中的图形支持系统。它设计用于为任何使用 LCD图形显示的应用提供高效的独立于处理器及 LCD 控制器的图形用户接口,它适用单任务或是多任务系统环境 , 并适用于任意 LCD 控制器和 CPU 下任何尺寸的真实显示或虚拟显示。它的设计架构是模块化的,由不同的模块中的不同层组成,由一个 LCD 驱动层来包含所有对 LCD 的具体图形操作。 C/GUI 可以在任何的 CPU 上运行,因为它是 100%的标准 C 代码编写的。 UCGUI 能够适应大多数的使用黑白或彩色 LCD 的应用,它提供非常好的允许处理灰度的颜管理。还提供一个可扩展的 2D 图形库及占用极少 RAM 的窗口管理体系。 典
12、型 C/GUI 框架图如 图 3.1 所示。 输 入 设 备 :. 触 摸 屏. 鼠 标. 摇 杆. 键 盘应 用 程 序L C D 驱 动位 图字 体位 图 转 换 器字 体 转 换 器L C DL C D 控 制 器窗 口 管 理控 件 / 对 话 框存 储 设 备抗 锯 齿资 源基 本 G U I图 3.1 C/GUI 框架图 本系统中 C/GUI 作为不仅提供人机交互的界面包括按钮、滚动条、窗口同时也用来解码 JPEG、 BMP 文件显示 。 6 3.2.2 C/OS -II 简介 C/OS -II 是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统 , 是专门为计算机的
13、嵌入式应用设计的 。其源码 绝大部分代码是用C 编 写 , CPU 硬件相关部分是用汇编语言编写的 。具有很强的移植性 。用户只要有标准的 ANSI 的 C 交叉编译器,有汇编器、连接器等软件工具,就可以将C/OS -II 嵌人到开发的产品中。 C/OS -II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至 2KB 。 C/OS -II 已经移植到了几乎所有知名的 CPU 上。 严格地说 uC/OS-II 只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务
14、。 uC/OS-II 目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS-II 任务状态之间的切换如图 3.2 所示 。 图 3.2 uC/OS-II 任务状态 挂起睡眠就绪运行中断OSMBoxPost()OSQPost()OSQPostFront()OSSemPost()OSTaskResume()OSTimeDlyResume()OSTimeTick()OSMBoxPend()OSQPend()OSSemPend()OSTaskSuspend()OSTimeDly()OSTimeDlyHMSM(
15、)OSStart()OSIintExit()OS_TASK_SW()中断OSIintExit()任务占先OSTaskDel()OSTaskDel()OSTaskCreat()OSTaskCreatExt()OSTaskDel()7 3.2.3 zn_Fat 文件系统 简介 Zn-FAT 是由我国年轻的电子工程于振南于两年前开始研发,目前已基本成熟的 8 位机 FS。 修改后可移植到 AVR、 STM32、 DSP、 NIOSII 等不同类型的处理器上,本系统将其移植到了 32 位的 ARM9 处理器上运行良好。 zn-FAT 提供了 如 图 3.3 所示的软件接口。 图 3.3 zn_FAT 文件系统功能示意 复制文件文件重命名读取数据打开文件获取总容量获取剩余容量关闭文件删除文件创建目录追加数据创建文件扇区读取接口 扇区写入接口Zn_FAT驱动层接口层