1、 本 科 毕 业 设 计 ADS1.2 环境下的 MP3 播放器设计 所在学院 专业班级 电子与信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 I 摘要 MP3 播放器就是一个可播放 MP3 格式的音乐播放器工具。 MP3 播放器也可以上传、下载其他任何格式的电脑文件, MP3 播放 器具有移动存储功能。 MP3 播放器其实也就是一个功能特定(播放音乐)的小型电脑。在 MP3 播放器小小的机身里,拥有 MP3 播放器存储器、 MP3 播放器显示器、 MP3 播放器中央处理器或 MP3 播放器解码 DSP 等等。本课题的主要内容是在ADS1.2 环境下设计 MP3 播放器,主要是通过
2、 cosii 模块、 cgui 模块等等模块来实现播放器的设计。 MP3 有多种格式音乐,我选择的是 WAV 格式音乐,由于大多数 WAV 格式文件容量比较大,所以我选择了一个容量较小的 WAV 音频文件 ,这个音频文件是一个开机启动的声音。我先通过 cgui 来创建 一个 LCD 图形界面,再调用 FatFS 文件系统来读取 SD 卡中的数据,然后通过 UDA1341 音频解码芯片来解码 WAVA 格式的音乐文件,接着通过 cosii 实时操作系统创建多任务操作环境,最后调用 waveOut 系列函数来实现音乐的播放。 第 1 章节的主要内容是对课题做了一个整体的设计。第 2 章节的内容是对
3、所用到的硬件做了一个介绍,第 3 章节的主要内容是在 ADS1.2 环境下创建一个工程,并进行仿真调试的步骤。然后是 3 个文件系统的移植, cosii 是一个实时的操作的系统, cgui 是一个图形界面操作系统, FatFS 是一个通 用的文件系统模块。还有是多任务启动的设计,人机交互界面的设计, SD 卡数据读取设计,最后是音频解码与播放的设计。第 4 章节主要内容是是对整个程序的调试,包括出现的错误与解决,出现的现象。 关键词: coss; cgui; FatFS; SD 卡; MP3 解码 II Abstract MP3 player can play MP3 format is a
4、music player tool. MP3 players can upload and download computer files in any other format, MP3 player with removable storage capabilities. MP3 player is actually a function of specific (playing music) is a small computer. In a small body in the MP3 player, MP3 player with memory, MP3 player, display
5、, MP3 player, MP3 player, the central processor or DSP decoding and so on. The main content of this project is to design the environment in ADS1.2 MP3 players, mainly through cosii module, cgui module to module, and so the design of the player. A variety of MP3 format music, I chose the WAV format m
6、usic, as most of the WAV format file size is relatively large, so I chose a smaller capacity WAV audio files, the audio file is a boot sound. I first created by cgui a LCD graphical user interface, and then call FatFS file system to read data from SD card, and then the audio decoder chip to decode U
7、DA1341 WAVA format music files, and then real-time operating system created by cosii multitasking operating environment Finally, the function calls to achieve waveOut series of music playback. Section 1 of the main contents of the subject made a whole design. The contents of Section 2 is done by the
8、 hardware used in an introduction to the main content of Section 3 is to create a project ADS1.2 environment and simulation debugging steps. 3 file system and then transplant, cosii is a real-time operating system, cgui is a graphical interface operating system, FatFS is a generic file system module
9、. There is the start of the design of multi-tasking, interactive interface design, SD card data read design, and finally the design of audio decoding and playback. Chapter 4 of the main contents of the whole process of commissioning, including the error and solve phenomenon. Key words: coss; cgui; F
10、atFS; SD card; MP3 decoder III 目录 前言 . 1 第 1 章 总体设计方案 . 2 第 2 章 硬件介绍 . 3 2.1 开发板介绍: . 3 2.2 SD 卡的介绍 . 3 第 3 章 软件设计 . 4 3.1 ADS1.2 环境搭建: . 4 3.1.1 ADS1.2 介绍 . 4 3.1.2 ADS1.2 下建立工程 . 4 3.1.3 ADS1.2 环境下的仿真、调试 . 8 3.2 所用系统的移植 . 9 3.2.1 cosii 的移植 . 9 3.2.2 cgui 的移植 . 14 3.2.3 FatFS 的移植 . 18 3.3 具体设计 . 20
11、 3.3.1 多任务启动 . 20 3.3.2 人机交互界面 . 21 3.3.3 SD 卡读写 . 22 3.3.4 音频解码 . 22 3.3.5 音频播放 . 24 第 4 章 调试过程 . 27 4.1 调试中出现的错误 . 27 4.2 设计现象 . 29 结论 . 30 致谢 . 错误 !未定义书签。 参考文献 . 31 1 前言 MP3 全称是动态影像专家压缩标准音频层面 3( Moving Picture Experts Group Audio Layer )。是当今交流行的一种数字音频编码和有损压缩格 式,它设计用来大幅度地降低音频数据量。 MP3 就是一种音频压缩技术,由于
12、这种压缩方式的全称叫 MPEG Audio Layer3,所以人们把它简称为 MP3。 MP3 是利用 MPEG Audio Layer3 的技术,将音乐以 1:10 甚至 1:12的压缩率,压缩成容量叫小的 file。 MP3 能够在音质丢失较小的情况下把文件压缩到更小的程度 ,而其还非常好的保持了原来的音质。 MP3 产业的未来前景是明朗的,现在的 MP3 功能也越来越多,不仅仅能够播放音乐,而且能够储存信息,看电子书,安装下载一些小游戏在上面,甚至有一部分 MP3 播 放器能够看视频。现在技术发展越来越快, MP3 功能也越来越多了,在人们的生活中将占据很重要的一部分。虽然现在很多行业侵
13、入 MP3(比如手机行业,现在绝大部分的手机都具有 MP3 功能),但是这对 MP3 行业的影响不大,其他行业的入侵必将导致 MP3 与更多行业的融合,使得 MP3的功能越来越多,越来越强大。 2 第 1 章 总体设计方案 本设计要用到的最重要的软件和硬件分别是 ADS1.2 和 S3C2440。 ADS 支持所有 ARM 系统处理器,包括最新的 ARM9E和 ARM10。除了可以在 ARM SDT 支持的操作系统中运行外, ARM ADS还可以在 Windows2000/Me 以及 RedHdt Linux 上运行。 S3C2440 连接可靠,抗震动性强,具有稳定的性能和较好的口碑,更加方便
14、客户二次开发时购买底板用接口。 它涉及到的硬件除了核心的 S3C2440 芯片以外,主要还有一块 LCD 屏幕来显示播放界面以及一张 SD 卡来储存音频文件,一个音频输出接口来实现播放。在软件方面,它需要一个C/OS-II 实时多任务操作系统来完成几个任务之间的调度,一个嵌入式图形用户界面 C/GUI来设计人机交互界面,一个文件系统 FatFs 来完成对文档进行打开、读取等的操作 , UDA1341TS编解码器来实现音频的解码, IIS 音频总线接口来实现音频的播放。总体设计方案的流程图如图 1.1 所示: 图 1.1 总体设计方案流程图 通过 UDA1341TS 解码音频文件,把采集到的音频
15、模拟信号装换成 IIS 格式的数字信号。把 IIS 格式的数字信号送给 S3C2440 芯片的 IIS 控制器,使用 DMA 控制器把的得到的数字信号存在一块内存空间上存完之后, DMA 控制器把已存的数字数据通过 IIS 格式发给 UDA1341TS控制芯片,然后由该芯片转换成音频 模拟信号发出。 音频播放流程图如图 1.2 所示: 图 1.2 音频播放流程图 总结:通过本系统能够发出 MP3 播放器的声音,对于 MP3 播放器界面设计简便,人们更容易操作。 SD 卡存储音频文件 通过 cgui图形支持系统创建人机交互界面 通过 cosii实时操作系统调度任务 通过FatFS 文件系统打开文
16、件 通过UDA1341TS编解码器解码音频文件 通过 IIS音频总线接口实现音频播放 音频文件 UDA1341TS IIS 控制器 DMA 控制器 UDA1341TS 音频输出 3 第 2 章 硬件介绍 2.1 开发板介绍: 本课题的设计是基于以三星公司的 S3C2440 芯片为核心的嵌入式开发板进行的,主频能达到 400MHz, ROM 是 16M bit的 NOR FLASH,具有 16bit 的宽度, RAM是 512M bit的 SDRAM,频率为 133MHz,具有 32bit 的宽度;开发 板上有一个 JTAG 接口,用于系统的在线仿真和烧写,并提供了标配直连串口线,可以通过它将计
17、算机和开发板连接,直接进行交互操作、传输数据;开发板自带一个带有触摸屏的 3.5 寸的 320X240 像素的彩色 LCD 显示屏;此外还有一个 SD 卡接口(接 SD 卡时,接口面朝下插入)。 IIS 音频数据模块和 UDA1341 音频编解码模块已经包含在 S3C2440 芯片内部了,具体电路如图 2.1 所示: 图 2.1 IIS 电路图 IIS 接口与 UDA1341TS 音频数字信号编译码相连接,得到音频输出通道和音频输入通道。UDA1341TS 可把数字信号转换为模拟信号,同样也能把立体声模拟信号转化成数字信号并可用 AGC(自动增益控制)、 PGA(可编程增益控制)对模拟信号进行
18、处理。 2.2 SD 卡的介绍 SD 卡( Secure Digital Memory Card)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地 于便携式装置上使用,例如数码相机、个人数码助理( PDA)和多媒体播放器等。大小犹如一张邮票的 SD 记忆卡,重量只有 2 克,但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。 4 第 3 章 软件设计 3.1 ADS1.2 环境搭建: 3.1.1 ADS1.2介绍 ADS 的英文全称为 ARM Developer Suite,是 ARM 公司推出的 ARM 集成开发工具,目前ARM ADS 的版本
19、为 1.21。 ARM ADS 起源于 ARM SDT,对于一些 SDT 的模块进行了增强并替换了一些 SDT 的组成部分 4。现 代集成开发环境的一些基本特征如源文件编辑器语法高亮、窗口驻留等功能在 ADS 中得以体现 5。 ARM ADS 支持所有 ARM 系列处理器,包括最新的 ARM9E和 ARM10。除了可以在 ARM SDT 支持的操作系统中运行外, ARM ADS 还可以在 Windows 2000/Me以及 RedHat Linux 上运行。 3.1.2 ADS1.2下建立工程 1. 运行 ADS1.2 集成开发环境( CodeWarrior for ARM Developer
20、 Suite),点击 File|New,在 New 对话框中,选择 Project 栏 ,其中共有 7 项, ARM Executable Image 是 ARM 的通用模板。选中它既可以生成 ARM 的执行文件 2。(如图 3.1) 图 3.1 ARM Executable Image 还要在 Project name 栏中输入项目的名称(如 S3C2410 ARM.mcp) ,以及在 Location 中输入其存放的位置。按确定保存项目。 2. 在新建的工程中,选择 Debug 版本,(如图 3.2)使用 Edit|Debug Settings 菜单对 Debug版本进行参数设置。 5 3
21、. 在如图 3.3 中,点击 Debug Setting 按钮,弹出 3.4 图,选中 Target Setting 项,在Post-linker 栏中选中 ARM fromELF 项。按 OK 确定。这是为生成可执行的代码的初始开关。 图 3.2 Debug 图 3.3 Debug Setting 图 3.4 Target Setting 4. 在如图 3.5 中,点击 ARM Assembler,在 Architecture or Processer 栏 中选 ARM920T。这是要编译的 CPU 核。 5. 在如图 3.6 中,点击 ARM C Compliler,在 Architect
22、ure or Processer 栏中选 ARM920T。这是要编译的 CPU 核。 6. 在如图 3.7 中,点击 ARM linker,在 outpur 栏中设定程序的代码段地址以及数据使用的地址。图中的 R0 Base 栏中填写程序代码存放的起始地址, RW Base 栏中填写程序数据存放的其实地址。该地址是属于 SDRAM 的地址。 在 options 栏中,如图 3.8, Image entry point 要填写程序代码的入口地址,其他保6 持不变,如果是在 SDRAM 中运行,则可在 0x30000000-0x33fffff 中选值,这是 64MSDRAM 的地址,但是这里用的是起始地址,所以必须把你的程序空间给留出来,并且还要留出足够的程序使用的数据空间,而且还必须是 4 字节对齐的地址( ARM 状态)。通常入口点 Image entry point 为 0x30000000, ro_base 也为 0x30000000。 图 3.5 ARM Aessembler 图 3.6 ARM C Compiler 在 Layout 栏中,如图 3.9,在 Place at beginning of image 框内,需要填写项目的入口程序的目标文件名,如,整个工程项目的入口程序是 2410init.s,那么应在