- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国地质大学(武汉)
基于FPGA的
专业
班级
小组成员
指导老师
2015.06
目录
一、 实现功能 2
二、 成员及任务分工 2
三、详细设计及原理 3
1.系统硬件结构设计 3
2.程序流程 4
四、 具体实现 5
1.SD卡文件系统的初始化 5
2.按键选歌模式 6
3.自动播放模式 7
4.快进、快退、播放/暂停功能 7
5.LCD显示歌曲名及歌词模块 8
6.LED显示功能 10
7.数码管显示当前曲目、总歌曲数和时间功能 11
五、碰到的问题及解决过程 12
1.问题一 12
2.问题二 12
3. 问题三 13
4. 问题四 13
六、运行效果 13
七、设计小结 22
实现功能
成员及任务分工
姓名 所做任务 熟悉Nios II 系统开发流程,看懂原工程文件。 了解SD卡FAT文件系统大致的读写流程;格式化SD卡为FAT16格式并将.wav和.lrc文件复制到SD卡根目录下。 到实验室去测试原工程文件的硬件设置和软件功能。 测试软件功能,明确各个按键对应的功能。 一起讨论如何更改原来的功能,并添加新功能。 完成实验任务,分工书写课程设计报告。
三、详细设计及原理
1.系统硬件结构设计
根据系统所划分的功能,处理器、音频设备、存储器、输入、输出和交互接口都必须选用硬件设备实现。其中硬件部分如处理器用Altera公司的Nios II软核来实现,MP3音乐文件存储于外部的SD卡中,DE2开发板上有4个为用户预留的按钮可以用来输入,作为MP3播放器的功能键,输出可以使用开发板上的输出口来接音频设备,用户与开发板的交互可以使用开发板上RS-232串行口和JTAG口。整个系统分为四个部分:CPU模块(包括外围配置芯片、扩展芯片等)、存储器(SD卡)模块、LCD显示模块、GPIO接口模块。
图1 mp3播放器硬件整体框图
2.程序流程 图2 程序流程图
对于MP3播放器来说,它应该在板子加电时自动加载到SRAM,然后到一个约定的地方读取音乐数据就可以了。
本系统会播放几个音乐文件,所以MP3播放器就需要通过一个机制来管理或定位这些音乐文件,也就是通过一个文件系统管理功能的程序,让这个文件系统软件和MP3播放器配合使用。
音乐文件的存放应该配合MP3音乐的播放,音乐文件的播放和显示通过文件
系统获得相应的播放音乐文件的地址和相关信息,存储也应该符合系统文件的定
义来存放。也就是说文件系统是存放音乐和播放音乐的一个中间层,是音乐文件
播放和音乐文件存放的一个默认标准,所以文件系统的结构定义是文件读取和存
储的关键。
具体实现
1.SD卡文件系统的初始化
2.按键选歌模式
当swit0为0,即无拨码开关置为‘1’时,LCD提示“Press key3 to choose a song”,按下KEY3 后,LCD先显示歌曲总数和歌词总数,继而显示当前所选歌名。
LCD_Init();
LCD_Show_Text(title[0]);
lcd_write_cmd(LCD_16207_0_BASE,0xC0);
LCD_Show_Text(title[1]);
while(1)//检测进入选歌界面
{
key=IORD(BUTTON_PIO_BASE,0);
key3=~key0x08;
if(key3)
break;
}
(2)歌曲选择功能
上一首 / 下一首功能分别由按键KEY2和按键KEY1实现,播放至最后一首歌时按KEY1按键则将播放第一首歌曲;直接选歌功能由拨码开关SW10~15实现,可选择第1~6首歌曲。a代表当前为第几首歌,num_music为歌曲总数。
key=IORD(BUTTON_PIO_BASE,0);
key=~key0x0e;
key3=key0x08;
key2=key0x04;
key1=key0x02;
swit2=IORD(SWITCH_PIO_BASE,0);
swit2=swi
文档评论(0)