片上系统设计课程教案分析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国地质大学(武汉) 课 程: 片上系统设计课程实验报告 姓 号: 学 号: 班 级: 指导老师: 王家豪 目录 一、题目及要求: 3 题目: 3 功能要求: 3 二、实验原理 4 设计构思: 4 三、实验操作 6 1.打开工程 6 2.启动Tools SOPC Builder 6 3. 去掉程序中不用的模块 7 4. 成功生成软核 7 5.编译工程 8 6.烧入板子 8 7.打开 Nios II IDE,建立 Nios c/c++ Application 9 8.转移代码 9 9.编译工程后运行 11 四、实验结果 11 实验其他操作描述: 13 五、实验代码(附加) 14 六、设计小结 14 七、实验分工 14 一、题目及要求: 题目: FPGA的音乐播放器设计,要求:FPGA开发板上从SD卡读取音频文件并播放音乐,支持WAV格式或MP3格式或其他格式音频文件,所有数字电路设计均采用Verilog HDL语言,软件程序设计采用C语言。 功能要求:(可实现某几项或全部) 1. 支持SD卡文件读取; 2. 支持WAV或MP3或其他格式音频,如为压缩格式则需解压缩; 3. 歌曲名称LCD显示; 4. 支持“播放/暂停”控制功能; 5. 支持“前一首”功能; 6. 支持“下一首”功能; 7. 支持LED灯显示音量功能; 8. 支持复位功能; 9. 支持硬启动,FPGA码流文件和软件二进制文件写入ROM,从ROM启动; 10. 支持总歌曲数和第几首歌曲显示功能,通过LCD或数码管显示。 二、实验原理 实验目的:实现了一个全功能的音乐播放器,打通过 Altera DE2 开发板上的音乐文件的能力,可播放实时的 SD 卡上 WAV 格式音乐文件,同时为用户提供互动的音乐,如暂停,快进等等。 熟悉片上系统开发的流程。 设计构思: 按要求看,已给的工程中在播放音乐的时候不可以切换下一首歌曲,只能在选择歌曲的界面选择下一首上一首,这不像我们平时使用的音乐播放器,所以我们试图将音乐播放过程中切换歌曲此功能加到四个key上去。 系统框架NIOSII ,SD 卡以及其他外设都是通过 Avalon 总线相连接的。Avalon 总线是一种协议较为简单的片内总线,Nios 通过 Avalon 总线与外界进行数据交换。 实验主要的工作就是通过 NiosII 来控制各个设备的工作。其中外设有 VGA(视频图形阵列)控制器、内存、LCD 显示控制器、LED 灯、按键和开关控制。 音频数据通过总线存入输入输出缓存器中,然后经过音频编解码器,通过扬声器输出。 软件控制的框架 。 三实验操作 实验代码和基本工程文件已经从老师那里得到。 1.打开工程 由于我使用的较高版本软件,这里选择“open in Classic”,以旧版本打开。 3. 去掉程序中不用的模块 也可不去,这样也不影响,只是浪费资源。 4. 成功生成软核 选择退出 5.编译工程 6.烧入板子 打开Toolsprogrammer,add .sof files后,添加硬件开始。 7.打开 Nios II IDE,建立 Nios c/c++ Application 8.转移代码 将已给工程中hello_led_0文件夹下的.h.c代码考到刚建立的 wav_player目录下的wav_player内,在回到软件右键点击 refresh。 9.编译工程后运行 成功后Run as NIOS Ⅱhardware 四、实验结果 1 此图为提示选歌界面 2.第二幅图为播放第一首歌曲,歌名为dawn。 3.此图为播放第2首歌,歌名为 Counting Stars,刚开始播放第 00 秒。 4.此图为加载歌曲的界面,显示loading。 实验其他操作描述: 1选歌界面:key2为移动下一首,key3为移到上一首,key1确认播放。 播放歌曲的时候:key0复位退回到选歌,key1为播放下一首,key2为播放上一首,长按key3暂停。3.其他: 前两个数码管先当前播放第几首歌,接下来两个显示总曲目,最后四个显示歌曲的时间进度。swi[4]开关快进,swi[5]开关快退,swi[6]开关暂停。只保留顺序播放swi[0]开关。其他的随机循环播放功能删除了,显示歌词也删除了。 五实验代码(附加) _led.c中是一个主函数,我在里面添加了一个子函数用于自身嵌套实现在_led.c文件中

文档评论(0)

a336661148 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档