片上系统设计课程_第1页
片上系统设计课程_第2页
片上系统设计课程_第3页
片上系统设计课程_第4页
片上系统设计课程_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、中国地质大学(武汉)课 程:片上系统设计课程实验报告姓 号:学 号:班 级:指导老师:王家豪目录 TOC o 1-5 h z HYPERLINK l bookmark23 o Current Document 一、题目及要求:3 HYPERLINK l bookmark26 o Current Document 题目:3功能要求:3二、实验原理4 HYPERLINK l bookmark45 o Current Document 设计构思:4三、实验操作6 HYPERLINK l bookmark57 o Current Document 打开工程6 HYPERLINK l bookmark6

2、1 o Current Document 启动 Tools SOPC Builder6 HYPERLINK l bookmark67 o Current Document 去掉程序中不用的模块7 HYPERLINK l bookmark70 o Current Document 成功生成软核7 HYPERLINK l bookmark73 o Current Document 编译工程8 HYPERLINK l bookmark77 o Current Document 烧入板子8打开 Nios II【。,建立 Nios c/c+ Application9 HYPERLINK l bookma

3、rk88 o Current Document 转移代码9 HYPERLINK l bookmark92 o Current Document 编译工程后运行11 HYPERLINK l bookmark96 o Current Document 四、实验结果11实验其他操作描述:13 HYPERLINK l bookmark102 o Current Document 五、实验代码(附加)14 HYPERLINK l bookmark106 o Current Document 六、设计小结14 HYPERLINK l bookmark113 o Current Document 七、实验分

4、工14、题目及要求:题目:基于FPGA的音乐播放器设计,要求:FPGA开发板上从SD卡读取音频文件并播放音乐, 支持WAV格式或MP3格式或其他格式音频文件,所有数字电路设计均采用Verilog HDL语言, 软件程序设计采用C语言。功能要求:(可实现某几项或全部)支持SD卡文件读取;支持WAV或MP3或其他格式音频,如为压缩格式则需解压缩;歌曲名称LCD显示;支持“播放/暂停”控制功能;支持“前一首”功能;支持“下一首”功能;支持LED灯显示音量功能;支持复位功能;支持硬启动,FPGA码流文件和软件二进制文件写入ROM,从ROM启动;支持总歌曲数和第几首歌曲显示功能,通过LCD或数码管显示。

5、实验原理实验目的:实现了一个全功能的音乐播放器,打通过Altera DE2开发板上的音乐文件的能 力,可播放实时的SD卡上WAV格式音乐文件,同时为用户提供互动的音乐,如暂停,快进 等等。熟悉片上系统开发的流程。设计构思:按要求看,已给的工程中在播放音乐的时候不可以切换下一首歌曲,只能在选择歌曲的界 面选择下一首上一首,这不像我们平时使用的音乐播放器,所以我们试图将音乐播放过程中切 换歌曲此功能加到四个key上去。这里使用的基本内存是SD卡。板子上有一个SD卡插槽,将其插入SD卡。SD卡控 制器的设计提供的SD记忆的相互作用。为了找到最佳的方法,界面与DE2开发板的SD卡, 我们遇到了各种现有

6、的IP可用于控制在HAL的抽象级别或物理实现SD卡的核心。SD卡的文件系统必须符合下列要求:-FAT16文件格式,意味着最小的数据单元是16位长。-此外,在FAT16格式的分区将整个内存的数据块,每块512个字节组成。其中文件系统的FAT16为FAT16系统需要由SD卡控制器侦测到该卡。该系统分区成块,其中分区进行。在按键的控制上面:具体实现了 SW4,SW5和 SW 6用于快进,暂停去扭转和歌曲分 别。此外,SW3选择随机模式KEY和KEY3用于通过播放列表进行浏览以选择一个特定 的歌曲。dp成河回Avalon BusPIOSEG7Audio Codec ChipSDCardSEG7LED/

7、SW/KEYSDRAM 64MBSDRAM ControllerAUDIO ControllerPIO ControllerI2CPIO Controller Controller Controller系统框架NIOSII,SD卡以及其他外设都是通过Avalon总线相连接的。Avalon总线是一种协议 较为简单的片内总线,Nios通过Avalon总线与外界进行数据交换。实验主要的工作就是通过NiosII来控制各个设备的工作。其中外设有VGA (视频图形阵列)控制器、内存、LCD显示控制器、LED灯、按键和开关控制。音频数据通过总线存入输入输出缓存器中,然后经过音频编解码器,通过扬声器输出。1.

8、检测插入的SD卡,如果SD卡不存在就继续检测,如果存在就跳到2找到根目录下的所有波形文件然后设置SD卡第一个文件作为当前的文件读取文件头找到采样率。设置音频芯片的采样率。然后读取512字节的数据,如果读取发生错误则跳到1如果没有读取错误,就播放读 取的512字节的数据并且更新LED随后就更新播放时间并检测文件是否读完。如果不是就再次回到6,并重复以上步骤; 如果读取完毕,就把下一个文件设置为当前文件,然后再继续设置音频芯片的采样率并回到4。实验操作实验代码和基本工程文件已经从老师那里得到。打开工程启动 Tools SOPC Builder由于我使用的较高版本软件,这里选择“open in Cl

9、assi欧旧版本打开。Upgrade Project Filet- You must upgrade the project fileto 呼stprogrammer, add .sof files 后,添加硬件开始。打开Nios II IDE,建立Nios c/c+ ApplicationBlank ProjectBoard Diagnostics Count Binary Hello Freestanding Hello MicroC/OS-ll Hello WorldHello World SmallMemory TestSimple Sock&t Server Web ServerNe

10、w ProjectNios II C/C+ ApplicationClick Fini&h to create application with a default system library as E:wav_player wav playerDescriptionCreates a blank projectDetailsBlank Project creates an empty project to which you can add your code.This software example runs on the following Nios II hardware desi

11、gns:u Eack Next FinishCancel转移代码将已给工程中 hello_led_0文件夹下的.h.c代码考到刚建立的wav_player目录下的wav_player内,在回到软件右键点击refresh。 wav player wav player v 0|wav. PZU名称修改日期类型,settings8,19 周四 0:46划犊,i .cdtbuild6.19 周四 0:46CDTBUILD.cdtprqject6,19 周四 0:46CDTPROJEC-.project8.19 周四 0:46PROJECT 如_ application.stf&19 周四 0:46ST

12、F文件0 G) basicjo.h3.14 周五 21:54C/C+ + Heac叵| filejist.c3卫。周四14:54C文件回 find_cluster.c3,19 周三 23:40C丈件0 回 head.h3.2。周四 132C/C+ + Heac0 hellojed.c6,1B 周三 21:09C文件LCD.c3.20 周四 0:44C文件四 L宴 readjyric&.c3.20 周四 2:30C文件readme.txt6,19 周四 0:46叵| sd_card.c3.15 周六 2:17C文件回show_name.c3,2。周四 0:01C丈件0k.Tj time.c3.1

13、9 周三 22:42C文件国(+国|由国|由国| 国|向国国|国|国:由国Ia:B Nios IE C/C + + Projects= o今日农p田法 a Itera .com pon ents 句砂s1s1_syslib systemjDwav_playerbasicjo.h head.h filejistc findluster-c hellojed.c LCD.c readjyrics.c sd_cand.c show_name.c time.c application.stf readme.txt宙西 wav_p I ayer_sysi i b systerri_O编译工程后运行成功后

14、 Run as NIOS IlhardwareCreating generated_app.sh.Post-processing to create cfi_flash_O.flashHardware simulation is not enabled for the rarger SOPC Builder sysrem. Skipping creation of hardware simulation model contents and simulation symbol files. (Note: This does not affect the instruction set simu

15、lator.)Build conmleted in 21.053 seconds一、实验结果此图为提示选歌界面SRAM512KB2.第二幅图为播放第一首歌曲,歌名为dawn。3.此图为播放第2首歌,歌名为Counting Stars,刚开始播放第00秒。4.此图为加载歌曲的界面,显示loading。选歌界面:key2为移动下一首,key3为移到上一首,keyl确认播放。播放歌曲的时候:key0复位退回到选歌,keyl为播放下一首,key2为播放上一首, 长按key3暂停。其他:前两个数码管先当前播放第几首歌,接下来两个显示总曲目,最后四个显示歌 曲的时间进度swi4开关快进,swi5开关快退,

16、swi6开关暂停。只保留顺序播放swi0 开关。其他的随机循环播放功能删除了,显示歌词也删除了。五、实验代码(附加)简单说明,老师提供的工程hello_led.c中是一个主函数,我在里面添加了一个子函数用于 自身嵌套实现在播放歌曲时切换歌曲,退出播放等操作。hello_led.c文件中调用各个子函数, 具体实现办法要看分散在各个.c源文件中的子函数,比如LCD显示控制,数码管显示控制,LED 等显示控制。下载地址:六、设计小结在本次实验的过程中,主要是进行了 Quartus II与NIOS II IDE的软件操作过程,并对 所提供的代码进行运行之后对所出现的问题进行相关的调试。遇到的问题:使用

17、老师所提供的工程文件和代码进行修改,对工程进行编译和运行会遇到各种错误, 经过上网查询是自己笔记本的软件版本太新的原因,通过重新编译或者新建工程解决 问题。在想要规则的显示音量的问题上。我们在网上找到了另外一个人自己设计的方案。重 现他的实验过程 时,但是在把程序下载 的板子中去的时候出现 Error: Cant configure device. Expected JTAG ID code 0X020820DD for device 1, but found JTAG ID code 0X020830DD。编译是通过的。后来上网查找才发现是开发 板的型号不对。最后无奈还是回到了老师提供的工程方案之中。其他一些零碎的软件操作小问题,向他人请教解决。这个实验让我们熟练的使用quartus2与nios2,受益匪浅。软核设计提供了例子,所以其 中代码的理解占这个实验很大的一块:hello_led.c中包含主函数,再调用其它源文件

温馨提示

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

评论

0/150

提交评论