Profile - CN357


CN357

基于FPGA的音乐多媒体平台的设计

兰州交通大学
电子与信息工程学院


Finals


[print]


Project

Name of Project:基于FPGA的音乐多媒体平台的设计

Contact Information

Name:王宏斌
E-Mail:whb851122@163.com
Telephone:0931-4910747
Mobile Phone:13919387945
Mailing Address:兰州市安宁区安宁西路88号 邮编:730070

Contest Advisor

Name:王紫婷
E-Mail:diangongdianzi@sina.com
Telephone:13893374232

Members

No.NameE-MailEnglish Name
1王宏斌whb851122@163.comwanghongbin
2李征jvfeng8496@163.comlizheng
3耿文波jvfeng8496@163.comgengwenbo

Project Paper - view as Preliminary(2009/06/15), Final(2009/09/14), Draft, Latest

1. 设计概述 (Preliminary Paper)

 

 1设计意图

消费电子是嵌入式系统重要的应用场合之一。本文就是基于此设计一款功能全面的消费电子类产品--音乐多媒体播放平台。多媒体技术作为当今信息技术领域发展最快的、最活跃的技术,其发展的方向也是极其多样化,所以在人们的日常生活中,几乎随处可见其身影。本文通过在DE2开发平台上开发一个功能全面的音频播放器,该播放器集音乐播放,卡拉OK,电子琴,电子钟等功能与一身。使播放更加简单,功能比较强大,播放器的存储空间更大。本设计计划以CycloneII FPGA为核心,设计一套基于FPGA的音乐多媒体播放平台。系统围绕FPGA开发板(DE2)进行开发,本作品具有实用性强,安全性高,升级灵活等特点。且具有很大的开发空间。

 

2适用范围及针对用户群

 

本作品主要适用于运用音乐播放、电子琴、KTV点歌、电子钟系统等。本产品是普及型的电子产品,主要用户群是普通的电子产品消费者、汽车、娱乐设备、智能家居生产商等。比如KTV的点歌系统,我们就可提前把所要点的歌拷贝到SD卡中,到时候只需要将SD卡插到SD 卡插槽上,就可以尽情的享受了。

 

3利用Altera器件进行设计的意义:

1)利用Altera器件设计SOPC系统,使系统成本更低,使用和配置更加方便,也突破了传统的MCU+DSP芯片的数字信号处理系统的设计方法,将微处理器,DSP模块整合到一片FPGA中去,使得整个系统更加稳定。

 

2Altera公司向开发者提供的丰富的软件开发资源。SOPC Builder是我们可以方便的定制NiosII处理器、外设、存储器和I/OMatlab SimulinkDSP Builder可以帮助我们更加有效地进行数字信号处理部分的开发。

 

3Altera公司提供的DE2开发板上提供了我们设计需要的许多硬件资源如高性能FPGASDRAMFlashSD卡读卡器、VGA D/A转换器,24位音频CODEC,这使我们专注于核心模块的开发,加速开发进程。

(Revision: 4 / 2009-09-14 08:25:53)

2. 功能描述 (Final Project Paper)

 

        本设计采用DE2多媒体开发平台,充分利用了NiosII软核的特性,结合自定义用户指令、自定义用户外设。软件设计架构打破了嵌入式系统常规的面向过程的开发,而使用 C++语言完全使用面向对象的设计思想和程序开发。本作品充分利用了DE2开发板上的硬件资源,其中音频编解码器 (Audio CODEC)是系统的核心,它是由Wolfson公司的低功耗立体声24位音频编解码芯片WM8731来完成的。具有24 位元CD品质立体音输入 (Line In)、输出 (Line Out)及麦克风输入 (MIC In)。利用这些硬件资源,设计实现了一个基于FPGA的音乐多媒体平台。其功能如下图1:
 
 
1音乐多媒体平台的系统框图
由图1 的框图可以看出,该音乐多媒体平台包括四个大的功能模块:分别是音乐播放器,卡拉OK,电子琴,以及录音系统。通过引用多媒体平台,把这几个功能有机的结合起来,达到语音娱乐的目的。下面分别描述各模块的功能:
1)音乐播放器:音乐播放器是该音乐多媒体平台最基本的功能。根据声源的不同,主要分两种播放模式:一种是外接声源,如MP3等,通过音频输入(Line In)后,通过音频编解码器对音质进行相关处理后输出,进行音乐的播放。另一种是SD卡音乐播放器,即通过DE2开发板上的SD卡插槽,读取SD卡上的音频数据后,送到音频编解码器,对音质进行相关处理后输出,进行音乐的播放。
2)卡拉OK:卡拉OK功能是在音乐播放器的基础上实现的,它通过DE2上音频编解码器的麦克风输入进行人声的输入,通过耳机输出。伴音的来源也有两种选择。一种是通过外接双声道声源,滤除人声,取其伴音,作为卡拉OK的伴音 。另一种是读取SD卡上的音频数据后,滤除人声,取其伴音,送到音频编解码器,作为卡拉OK的伴音 。
3)电子琴:电子琴的实现是根据各个音调的频率的差异,来实现按下不同的音键而发出不同的声音。除此之外还实现了随机存储并读出一段音乐的附加功能。电子琴大体分为电子琴发声模块、选择控制模块和存储器模块构成。电子琴发声模块负责发出音键相应的音符;选择控制模块负责由外部控制电子琴的各项功能的实现;而存储器模块是对随机写入的乐谱进行存储,并在需要时读出。用键盘模拟琴键,通过PS/2鼠标/键盘连接器与DE2开发板相连,通过耳机输出。必要的话做出显示界面。
4)数字钟:数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到广泛的使用。
(Revision: 4 / 2009-09-14 15:28:25)

3. 性能参数 (Final Project Paper)

 

    1、 DE2开发板资源使用情况
1)Altera Cylcone II EP2C35F672C6N FPGA (含有20,000逻辑单元)
     2)   动态存储器: 8MB SDRAM
              3)   静态存储器: 512KB SRAM
              4)   闪存: 4MB FLASH
              5)   50MHz、27MHz 晶振
              6)   开关、按键、 LED、LCD
              7)  SD卡插槽
8)PS/2 连接器
              9)  VGA 视频端口和立体声音频编解码器
2、FPGA资源使用情况
                我们此次设计利用FPGA内部资源的情况如下图所示:
         
3、基本的性能指标参数
           1) 系统时钟 50Mhz
           2)音频CODEC参数       采样率       8Khz
                                                       比特率      16bits
 
(Revision: 4 / 2009-09-14 17:23:23)

4. 设计结构 (Preliminary Paper)

 1、系统框图

 2、硬件结构框图

(Revision: 3 / 2009-09-14 09:08:31)

5. 设计方法 (Final Project Paper)

1、系统硬件设计

以NiosII软核处理器为核心,采用DE2开发平台,DE2开发板上集成了多种外设接口,并且易于扩展,为我们的设计提 供 了便利的条件。本系统硬件设计包括的主要功能模块有:SD卡模块、VGA显示控制模块、FLASH访问控制模块。
SOPC Builder建立的SOPC硬件系统如下图所示:

 

2、硬件实现步骤及实现方法
        整个设计采用自上而下的设计方法,在SOPC Builder中搭建系统硬件模块。将所需的各功能模块通过Avalon总线集成,这样系统的稳定性更高。SOPC Builder所具有强大的系统集成特性,大大缩短了我们的设计周期,在很短的时间内就可以构建一个稳定的系统,进而基于硬件完成系统的软件设计,最后集成为一个完整的系统。
 
3、如何体现SOPC概念:
        SOPC概念就是片上可编程系统,系统的外设与CPU都是利用IP核来搭建的,这个系统是可剪裁的,同时也可以加入自主设计的模块。我们的参赛作品里面根据系统的需要,添加了ALTERA公司提供给我们的IP核,如NIOSII、Timer、SDRAM Controller等,同时还需要完成自定义外设与IP核的设计,如果完成自定义外设与IP核的设计后,整个系统就搭建好了,剩下的任务就是根据系统的功能要求使用NIOS IDE设计工具编写用户程序了,这样大大缩减了产品的开发周期。
(Revision: 4 / 2009-09-14 17:37:35)

6. 设计特点 (Preliminary Paper)

 

        本设计是完全基于Altera的FPGA/NiosⅡ的全新开发概念。充分采用了软核的开发思想以及Altera的DE2开发平台,使系统具有开发周期短、易于维护、功能模块化等特点。通过设计控制模块,减少了硬件电路的复杂性,即兼顾功能,又降低了设计成本。载入更新的软核系统就能够实现硬件升级。这款Altera内嵌的硬的功能模块能大大提高运算速度,满足了快速处理的要求。DE2平台提供了SDRAM、SRAM、FLASH、SD卡四类存储器和易于存储扩展的I/O接口,能有效的实现大量数据的存储与传输。
        本作品可以依据不同的需求,选取不同的功能,并利用NiosII体积小,可裁剪性,可重配置性来实现,完全做到了系统体系的精简化和作品的低成本。使其在目前的音乐多媒体市场上具有很高的竞争力,并且应用前景广泛。用基于FPGA的SOPC技术,提高系统稳定性,使用NiosII提供的多种硬件加速方式如自定义用户指令,自定义用户外设等大大提高运算速度,并且使用uc/osII实时操作系统,使算法和控制的实时性得到了有效的保证。
 
 
(Revision: 2 / 2009-09-14 17:39:02)

7. 总结 (Final Project Paper)

 

通过Altera公司提供的这次竞赛机会,使我们对FPGA有了更好的认识,锻炼了我们的动手能力。通过这次机会,使我们对Altera的设计概念有了根本的认识:可裁剪的软核,SOPC硬件搭建系统,基于软核的NiosII开发环境等。
SOPC Builder硬件搭建系统采用图形化可编程的概念极大地方便了硬件系统的构建,而且能够自动生成各个模块对应的功能代码并能有序的连接起来,极大地缩减了开发周期。SOPC Builder能自动地对资源进行分配,争取以最少的资源,最合理的分配来完成系统硬件设计。SOPC与Quartus II和Nios II IDE的高密度集成性,极为有利的促进了工程编译和调试。
通过这次竞赛,使我们认识到团队工作的重要性,正是因为我们一起努力才能从开始对FPGA的陌生走到现在的这一步。其中我们一起无奈、一起探讨、一起开心,这一切都将成为我们美好的回忆,也会为我们以后的团队工作提供宝贵的财富。虽然这次竞赛我们并未完全达到我们的既定目标,但却激起了我们对Altera FPGA的浓厚兴趣,如果有机会,我们会在之后的学习中接着完成我们的设计,继续关注FPGA的新发展。
非常感谢Altera向我们提供的这次机会。最后感谢我们的指导老师和帮助我们的同学!
 
(Draft / 2009-06-13 21:37:41)