本科论文基于NiosII系统的MP3播放器的.doc

上传人:sccc 文档编号:4821727 上传时间:2023-05-17 格式:DOC 页数:61 大小:7.54MB
返回 下载 相关 举报
本科论文基于NiosII系统的MP3播放器的.doc_第1页
第1页 / 共61页
本科论文基于NiosII系统的MP3播放器的.doc_第2页
第2页 / 共61页
本科论文基于NiosII系统的MP3播放器的.doc_第3页
第3页 / 共61页
本科论文基于NiosII系统的MP3播放器的.doc_第4页
第4页 / 共61页
本科论文基于NiosII系统的MP3播放器的.doc_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《本科论文基于NiosII系统的MP3播放器的.doc》由会员分享,可在线阅读,更多相关《本科论文基于NiosII系统的MP3播放器的.doc(61页珍藏版)》请在三一办公上搜索。

1、xx大学学士学位论文基于Nios II系统的MP3播放器的设计摘要近年来,数码产品更新换代的速度很快,从当初的分立元件到现在的集成芯片,产品体积越来越小,而所展现出来的功能则日益强大。它们极大的丰富了我们的日常生活。SOPC(System on a programmable Chip,片上可编程系统)是Altera公司提出的一种灵活、高效的SOC 解决方案,它将处理器、存储器、I/O 口、LVDS、CDR 等系统设计所需要的模块集成到一个PLD 器件上,具有可裁剪、可扩充、可升级,并具备软硬件在系统可编程等优点。本文提出一种基于Nios II处理器的MP3播放器的具体实现过程,系统基于Alte

2、ra公司的DE2 开发平台进行设计,并利用板上的SD卡作为存储设备,在Nios II处理器上实现MP3的播放、TXT文件的读取以及LCD液晶显示等功能。硬件设计主要利用SOPC Builder,将处理器、存储器和其它所需的外设IP核添加进去,生成一个完整的自己定制的Nios II软核系统。再结合Quartus II中集成的EDA工具,将其下载到FPGA芯片中,获得恰好满足需求的定制系统。软件设计在Nios II的IDE环境中进行,用C语言编程实现SD卡中存储的MP3和TXT文件的读取,以及LCD 显示、MP3音乐的播放以及按键的控制。整体设计对SOPC系统软硬件协同的相关技术进行了初步研究。软

3、硬件协同设计协调软硬件开发过程并行开展,一方面可以缩短设计周期,极大地提高设计效率;另一方面可以根据系统各个部分的特点和设计约束,选择软件或者硬件实现方式,得到高性能,低成本的优化设计方案。运用SOPC设计理念来设计数码产品,能在较短的时间内完成开发过程,还能满足技术不断更新换代的需要。将当前先进的Nios 软核技术应用于电子电路设计当中去,对于了解和掌握这种工具有重要的意义。关键词SOPC(片上可编程系统);Nios II;MP3;软硬件协同设计;Nios II System Based on the Design of MP3 PlayersAbstractIn recent years,

4、 digital electronic products renew very fast. From the original discrete components to the current integrated chips, these products showing us with much powerful functions while decreasing their sizes. They provides us a great help for daily life.Sopc(System on a programmable Chip)is a flexible and

5、efficient SOC solution proposed by Altera Corporation. It put modules that are necessary like processor,memory,input/output interface,LVDS and CDR together into a PLD device. As a result, the system can be cut、expand、upgraded at our will, hardware and software are programmable in-system at the same

6、time.This paper presents a Nios II processor-based MP3 Players, the system is based on Alteras DE2 development platform using the SD card on the board as store equipment to achieve functions like MP3 playing,txt file reading and LCD displaying.Hardware design is completed in Sopc Builder, Through ad

7、ding the processor、memory and other IP cores of the peripherals to their own customized SOPC control system , generating a Nios II soft-core systems of customized completely. Combined with Quartus II EDA tools, we can precisely meet the demand of the customized system after download the core into th

8、e FPGA chips.The design of the software part was completed in the Nios II IDE environment, and functions like reading the TXT and MP3 files stored in the SD card,LCD displaying,MP3 music playing and buttons controlling can be achieved. All of this can be programmed by C.This thesis Emphasize on the

9、following key techniques in hardware/software co-design, it is the integration of specification, synthesis and simulation of hardware and software with unified design tools. By using hardware/software co-design, the design cycle can be shortened and design efficiency can be improved. On the other ha

10、nd, designers can choose hardware or software implication method for system functions according the characteristic of function and the design constraints, in order to achieve high performance, low cost design.Through applying the SOPC design concept into the process of designing digital products, pe

11、riod of the development process can be shortened. Needs of the upgrading technology can be met at the same time. Its very important to apply the advanced NIOS soft-core into electronic circuit design, which can help us to understand and master this kind of technology.KeywordsSOPC(System on a Program

12、mable Chip) ; Nios II ; MP3 ; Hardware/software Co-design不要删除行尾的分节符,此行不会被打印- II -目录摘要IAbstractII第1章 绪论11.1 课题背景11.1.1 可编程片上系统11.1.2 软硬件协同设计21.1.3 嵌入式系统21.1.4 MPEG Layer 331.2 国内外文献综述41.3 论文研究内容5第2章 SOPC技术及软硬件协同方案62.1 FPGA器件基本原理62.2 Sopc设计技术62.3 软硬件协同技术92.4 本章小结10第3章 MP3播放器硬件系统设计方案113.1 MP3原理113.2 MP

13、3播放器的系统需求113.3 MP3播放器的软硬件划分及组成模块介绍123.3.1 MP3解码硬件电路方案设计及实现123.3.2 I2C总线协议及应用143.3.3 SD卡简介及FAT16文件系统构成介绍163.4 系统硬件结构设计213.5 基于Nios II的软硬件协同设计策略213.6 本章小结23第4章 系统软件设计及实现244.1 系统整体程序流程图244.2 各功能模块设计方案244.2.1 读取SD卡方案244.2.2 LCD16027液晶模块显示254.2.3 播放MP3音乐方案264.2.4 通过I2C总线与STA013通讯284.3 本章小结28第5章 系统设计的实现及调

14、试295.1 SOPC Builder下定制系统模块295.1.1 DE2资源295.1.2 系统的定制及生成305.1.3 硬件系统编译315.1.4 FPGA的配置375.2 Nios II下的程序开发375.3 本章小结40结论41致谢42参考文献43附录A44附录B49附录C53附录D54千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域”,然后“更新整个目录”。打印前,不要忘记把上面“Abstract”这一行后加一空行- IV -第1章 绪论1.1 课题背景随着时代的发展、科技的进步,各种电子产品已经成为人们日常生活中不可或缺的一部分,我们的日常生活、工作及学习方式也因

15、此发生了极大的改变。各式各样的数码产品,它们不仅体积小巧,而且功能强大,这些产品在我们的生活中扮演着重要的角色,因为它们丰富并改善着我们的生活。由于核心器件及一些知识产权的成本居高不下,一些电子产品的售价让消费者望而生畏。由于目前各种技术更新很快,开发商唯有跟上时代,不断更新自己的产品,才能满足消费者更高的需求,在竞争中求得生存。传统器件及设计中的诸多缺陷很难适应当前的需要,如何在短时间内开发出满足需求的产品,是当前亟待解决的难题。1.1.1 可编程片上系统当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发

16、展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。现场可编程门阵列(FPGA)是一种半导体器件,可以在制造完成后进行编程。FPGA硬件功能不是预先确定好的,而是支持您对产品特性和功能进行编程,以适

17、应新标准,即使产品已经在现场使用了,也可以针对某些应用重新配置硬件。可以使用FPGA来实现专用集成电路(ASIC)完成的任何逻辑功能,而且在产品发售后也能够对功能进行更新,在很多应用中都具有一定优势。FPGA是一类高集成度的可编程逻辑器件,起源于美国的Xilinx公司,该公司于1985年推出了世界上第一块FPGA芯片。在这二十多年的发展过程中,FPGA的硬件体系结构和软件开发工具都在不断的完善,日趋成熟。从最初的1200个可用门,90年代时几十万个可用门,发展到目前数百万门至上千万门的单片FPGA芯片,Xilinx、Altera等世界顶级厂商已经将FPGA器件的集成度提高到一个新的水平。IP(

18、Intellectual Property)是指可用来生成ASIC(Application Specific Integrated Circuit)和PLD(Programmable Logic Device)的逻辑功能块,又称为IP核(IP Core)及虚拟器件VC。根据IP核描述的所在集成电路的设计层次,或者说根据核优化的程度,IP可分为硬IP、软IP和固核IP。硬IP所有的验证和仿真工作都已完成,用它可以直接产生硅片,系统设计者不能再对它进行修改。而软IP,是以行为级或RTL级的Verilog或VHDL代码的形式存在,它要经过逻辑综合及版图综合才能最终实现在硅片上。固IP是指在结构和拓扑

19、方面针对性能和面积通过版图规划,它们以综合好的代码或通用库元件的网表形式存在,介于软核和硬核之间。SOPC(System On a Programmable Chip)是Altera公司于2000年提出的一种灵活高效的SOC解决方案,SOPC利用可编程逻辑技术把整个电子系统集成在一个单片上,是一种特殊的嵌入式系统:首先它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。1.1.2 软硬件协同设计SOPC的设计过程是一项非常复杂且极具挑战性的工作,没有一套有效的设计方法很难保证芯片的正确

20、、高效。在SOPC的设计中,设计工艺的发展使得越来越多的功能集成到一个芯片成为可能。为实现这一目标,有两种可能的SOPC设计方法。第一种方法称为基于核的设计(Core-based design),它将系统的功能划分为不同的核,采用IP (Intellectual Property)核以完成特定的设计功能。第二种方法是在超大规模的集成处理器核上使用软件的方法实现设计功能。专用的IP核通常有较好的性能,此外对系统的功耗能有很好的控制:而采用软件的方法使得系统芯片有更大的灵活性,因为目前存在多种不兼容的通信和处理协议,使用软件实现便于二次开发。软硬件协同设计综合以上两种设计方法。在系统设计的初期考虑

21、软硬件划分,根据特定的标准,将一部分系统功能采用IP核实现,而另一些功能采用软件实现。软硬件协同设计强调在整个设计过程中,以最优化设计为目标,可以调整软/硬件之间的界限。软硬件协同设计的结果是:一个或多个系统任务或系统模块是采用软件实现。这些任务可能会有互相同步和通信的需要,会有时限的要求,或者要求访问系统芯片的专用硬件的接口。1.1.3 嵌入式系统嵌入式系统本身是一个相对模糊的定义。目前嵌入式系统已经渗透到我们生活中的每个角落,工业、服务业、消费电子等领域,而恰恰由于这种范围的扩大,使得“嵌入式系统”更加难于明确定义。根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助

22、装置、机器和设备运行的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。这主要是从应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。不过上述定义并不能充分体现出嵌入式系统的精髓,目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 在这个定义上,可从以下几方面来理解嵌入式系统: 1. 嵌入式系统是面向用户、面向

23、产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。 2. 嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如Palm之所以在PDA领域占有70以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而风河的Vxworks之所以在火星车上得以应用,则是因为其高实时性

24、和高可靠性。 3. 嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几K到几十K微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利的进行。一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件(由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里我们对其不加区分,这也是嵌入式系统和Windows系统的最大区别)。嵌入式片上系统(System

25、 On Chip) 是目前嵌入式应用领域的热门话题之一。SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。而且SOC具有极高的综合性,在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统。用户不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点的连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。由于绝大部分系统构件都是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性,提高了设计生产效率。1.1.4 MPEG Layer 3MP3全称

26、是动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III)。是当今较流行的一种数字音频编码和有损压缩格式,它设计用来大幅度地降低音频数据量,而对于大多数用户来说重放的音质与最初的不压缩音频相比没有明显的下降。它是在1991年由位于德国埃尔朗根的研究组织Fraunhofer-Gesellschaft的一组工程师发明和标准化的。简单的说,MP3就是一种音频压缩技术,由于这种压缩方式的全称叫MPEG Audio Layer3,所以人们把它简称为MP3。MP3是利用MPEG Audio Layer 3 的技术,将音乐以1:10 甚至1:

27、12的压缩率,压缩成容量较小的file,换句话说,能够在音质丢失很小的情况下把文件压缩到更小的程度。而且还非常好的保持了原来的音质。正是因为MP3体积小,音质高的特点使得MP3格式几乎成为网上音乐的代名词。每分钟音乐的MP3格式只有1MB左右大小,这样每首歌的大小只有34兆字节。使用MP3播放器对MP3文件进行实时的解压缩(解码),这样,高品质的MP3音乐就播放出来了。MP3是一个数据压缩格式。MP3音频可以按照不同的位速进行压缩,提供了在数据大小和声音质量之间进行权衡的一个范围。它丢弃掉脉冲编码调制(PCM)音频数据中对人类听觉不重要的数据(类似于JPEG是一个有损图像压缩),从而达到了小得

28、多的文件大小。在MP3中使用了许多技术其中包括心理声学以确定音频的哪一部分可以丢弃。1.2 国内外文献综述目前软硬件协同设计领域的研究十分活跃,Berkeley, Princeton等著名大学有专门的研究小组进行相关研究,在电子设计领域权威的学术会议,DAC (Design Automation Conference)和ICCAD上每年都有相当篇幅的论文涉及软硬件协同设计,每年ACM还召开软硬件协同设计的专门会议CODES。主要EDA厂家(Candence, ALTERA)目前已经推出部分支持软硬件协同设计的工具,并将软硬件协同设计作为下一代的系统级EDA工具的关键技术。嵌入式产品开发中已经有

29、许多软硬件协同设计技术的成功应用实例。国外相关研究:CASTLE(Code sign and Synthesis Tool Environment)由德国信息技术国家研究中心系统设计研究所开发。该环境支持软硬件协同设计流程和嵌入式系统的快速模板制作,系统描述采用细粒度的程序设计语言C,同时也支持硬件描述语言Verilog和VHDL,这些描述可进行仿真和性能分析,以支持系统综合的决策。有关协同仿真的研究项目中,Berkeley大学的Ptolemy是最有影响的。Ptolemy系统的特色在于它是一个异构的模拟环境,提供对于多种模型(数据流、离散事件、有限状态机等)的描述和模拟手段,并可以在一个仿真应

30、用中采用不同的仿真模型。Ptolemy的扩展性很好,在Ptolemy中有许多C+语言开发的域(Domain)和节点(Star)作为仿真的构件,用户可以编写新的域和节点,并构造自己的仿真模型。软硬件协同仿真可看作异构仿真的一种,Ptolemy己经应用于嵌入式系统的算法层和体系结构层描述和验证。早期的软硬件协同设计工具仅仅支持协同验证,大多数工具都只有在体系结构层设计基本完成后才能仿真硬件和软件模块的相互作用。目前的发展趋势是采用SBE(Simulation Based Design)的思想,用仿真技术支持划分和协同调试、分析,以便加快设计进程。微处理器是嵌入式系统的核心,可仿真的微处理器模型是这

31、些仿真工具的重要组成部分,但大部分工具将微处理器模型看作是不可变的。国内的研究状况:软硬件协同设计作为系统级设计的支持技术,理论上和技术上还在不断地发展和完善中。研究研发功能强大的软硬件协同设计平台,是这一技术逐渐走向成熟的标志,而基于FPGA实现的Sopc技术,比基于ASIC实现的SoC技术提供了一种更灵活而成本低廉的系统级芯片设计方式。国内外都在研发支持Sopc技术的软硬件协同设计平台。在国内,这方面的研究研发已展开并取得了初步的成果。北京大学计算机系杨芙清院士和程旭教授等人,已研发成功国内第一个微处理器软硬件协同设计平台;上海嵌入式系统研究所研发的基于FPGA实现处理器的ECNUX研发平

32、台,1.0版本已完成,功能强大的2.0版本正在研发过程中。在不久的将来,随着软硬件协同设计技术研究的深入,支持FPGA设计实现的功能强大的软硬件协同设计平台将会出现,并加速推进嵌入式系统的设计研发进程。1.3 论文研究内容本文研究的主要内容是基于Nios II的MP3 播放器的设计与实现。本文对软硬件协同的相关技术进行了研究,并体现于设计中。设计中具体研究了软硬件的系统描述、软硬件划分、软硬件综合等方面的技术,并在此基础上设计了一个MP3播放器方案。在研究的基础上提出了基于Nios II(SOPC)的软硬件协同设计、软硬件协同划分的方法和基于Nios II的软硬件协同的开发流程。第2章 SOP

33、C技术及软硬件协同方案2.1 FPGA器件基本原理PLD(Programmable Logic Device)是可编程逻辑器件的总称,早期多采用EEPROM工艺,基于乘积项(Product Term)结构。FPGA(Field Programmable Gate Array)是指现场可编程门阵列,多为SRAM工艺,基于查找表(Look Up Table)结构,FPGA在掉电后信息即丢失,所以每次上电后需对FPGA进行重新加载,要外挂配置用的EEPROM。在上电的时候,由EEPROM内自行启动的加载时序把数据流加入FPGA中,对其内部逻辑进行配置。而对基于EEPROM工艺的CPLD来说,则不存在

34、这样的问题,在数据下载芯片后,掉电后也不会丢失,唯一的缺点是CPLD芯片数据擦写次数往往有限,对产品开发阶段的技术设计人员要求较高。FPGA的特点有:1. 采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合适的芯片。2. FPGA可做其它全定制或半定制ASIC电路的中试样片。3. FPGA内部有丰富的触发器I/O引脚。4. FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5.FPGA采用高速CHMOS工艺,功耗低,可以与CMOS,TTL电平兼容。查找表(Look-up-table)简称LUT,它本质上是一个RAM,目前FPGA中多使用4输入的LUT,所以每一个

35、LUT可以看成一个有4位地址线的16*1的RAM。当用户通过原理图或HDL语言描述一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算相当于输入一个地址进行查表,找出相应地址,然后输出即可。现在PLD中已经广泛嵌入RAM/ROM,FIFO等存储模块,有的PLD里还内嵌了DSP模块,如Xilinx的Vertex-II器件系列中就嵌入了DSP,将来的PLD还要嵌入多种功能模块,可以实现各种复杂的操作和运算。2.2 Sopc设计技术现代集成电路制造工艺的改进,使得在一个芯片上集成几十万甚至上百万个逻辑门成为可能。但如此大规模的电路设

36、计是不可能由一个或几个设计工程师来完成而不出错。利用结构化,层次化的设计方法,一个大型的数字电路设计首先根据设计的目标和规范划分为若干个较小的功能模块,分别交由不同的设计工程师进行设计。这就允许多个设计者同时设计一个系统中的不同模块,且底层的设计可以用其上一层的行为级设计进行仿真验证。这称为自顶向下(TOP-DOWN)的设计方法如图 2-1所示。图2-1 TOP-DOWN设计方法自顶向下是一种逐步求精的设计程序的过程和方法。对要完成的任务进行分解,先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。这样逐层、逐个地进行定义、设计、编程和测试,

37、直到所有层次上的问题均由实用程序来解决,就能设计出具有层次结构的程序。按照自顶向下的方法设计时,设计师首先要对所设计的系统有一个全面的理解。然后从顶层开始,连续地逐层向下分解,直到系统的所有模块都小到便于掌握为止。“自顶向下”的正向设计步骤:首先需要进行行为设计,要确定该VLSI芯片的功能、性能及允许的芯片面积和成本等。接着进行结构设计,根据芯片的特点,将其分解为接口清晰,相互关系明确,尽可能简单的子系统,得到一总体结构。这结构可能包括有算术运算单元,控制单元,数据通道,各种算法状态机等。下一步是把结构转换成逻辑图,即进行逻辑设计。显然,同一功能块可以由多种逻辑设计加以实现。在这一步中,尽可能

38、采用规则结构来实现和利用已经过考验的逻辑单元或模块。接着进行电路设计,逻辑图将进一步转换成电路图。在很多情况下,这是需进行硬件仿真的,以最终确定逻辑设计的正确性。最后是将电路图转换成版图,进行所谓的版图设计。自顶向下的设计从系统级开始,将整个数字系统划分为几个较小模块,然后这些模块又分别细分为更小的模块,直到可以用基本元件来实现为止。这种设计方法的优点在于每一层的分解全都经过优化,优化的目标可能是工作速度、芯片面积、芯片成本或它们的组合,但每次划分并不考虑分解后得到什么样的单元,以及得到的单元是否是已存在的单元。“自底向上”的正向设计:是在系统划分和分解的基础上先进行单元设计,在单元精心设计后

39、逐步向上进行功能块,子系统设计以至到最终的系统总成。自底向上的设计在某种意义上讲可以看作上述从顶向下设计的逆过程。在正向设计时,也往往有把“自顶向下”和“自底向上”两者结合起来完成一个芯片设计的。对于逆向设计,无论是“自顶向下”或是“自底向上”,开始版图解剖,电路图提取和功能分析这几步都是必需的,在这以后才分成不同的处理。Sopc的设计过程是一项非常复杂且极具挑战性的工作,没有一套有效的设计方法很难保证芯片的正确、高效。Sopc设计方法的研究所影响的不仅仅是集成电路领域,它还会对集成电路以外的领域产生深远的影响,这是由集成电路的基础作用决定的。SOPC设计有3个大的研究领域:IP核生成与复用技

40、术、软硬件协同设计技术(Hardware software Co-Design),超深亚微米(Very Deep Sub-Micron)集成电路设计技术。每个研究领域包含一系列的子课题。SOPC技术研究的主要内容如图2-2所示。 图2-2 SOPC技术研究的主演内容2.3 软硬件协同技术在Sopc中,尤其是面向特定应用的Sopc,软件和硬件的结合更加紧密,软硬件之间的功能划分,以及软件和硬件的实现都没有固定的模式,而是随着应用的不同而变化。软硬件协同设计的目标是在设计过程中把软件、硬件结合起来,作为一个系统综合考虑,实现整个系统设计的最优化,以及设计工作的自动化。自20世纪90年代初兴起以来,

41、一直是一个非常活跃的研究领域,受到包括产品设计者和工具开发者在内的多方重视。典型的软硬件协同设计流程如图 2-3所示。 图2-3 典型的软硬件协同设计流程目前,软硬件协同设计的研究工作主要包括系统描述、软硬件划分、软硬件协同综合和软硬件协同模拟几个方面。Sopc中的部件大多都由软件和硬件两种基本的实现方式。用软件或硬件实现系统功能,在性能和成本上差别显著。软硬件混合实现方式往往能够达到系统设计目标的最佳平衡点,软硬件划分(Hardware/Software Partition)的任务是把系统功能划分为软件实现的部分和硬件实现的部分,并使得整个系统的性能、成本指标达到最佳平衡点,是软硬件协同设计

42、中的一个重要课题,划分结果力求保证速度、减小成本、降低功耗,如图2-4所示。软硬件混合实现硬件实现软件实现约束系统成本系统性能图2-4 软硬件划分及实现方式比较 软硬件综合(Synthesis)的任务是把高层次的描述自动转化为低层次的实现。软件综合又称为代码生成(Code Generation),硬件综合通常分为高层次综合和逻辑综合两种层次。目前,硬件的逻辑综合已经发展的比较成熟,但是软件综合以及硬件的高层次综合都还没有进入实用阶段。因此,现在还难以从软硬件划分所得的高层描述自动综合出在功能和性能上满足要求的软硬件。2.4 本章小结本章主要介绍了此研究的相关领域和技术,这是本课题应用技术背景的

43、概要性部分,包括Sopc的研究领域及相关技术,FPGA器件原理,介绍了MPEG- Layer3 的相关技术,并研究了Sopc领域的软硬件协同技术。第3章 MP3播放器硬件系统设计方案3.1 MP3原理MP3是MPEG标准中的音频标准中的一部分。1987年,IIS开始进行有关实用的音频解码方面的工作。它们同Erlanger大学合作开展了一个项目,最后IIS提出了一个非常优秀的算法,也就是ISO-MPEG-I音频的第三层,同时通过的ISO11172-3标准也就成为了MPEG标准中的一部分。后来,在MPEG-I的基础上,又提出了MPEG-II的编码标准,该标准的音频部分与MPEG-I的音频部分在 算

44、法上基本一致,但提供了与CCITT的G-722相类似的16KHz,22.05 KHz和24 KHz的采样速率,这样就使得MP3也可以用于低比特率(64Kbps)语音通信中。同时,为了适应多通道语音通信的需要,新标准又提出了多语言通信的压缩算法,并且可以提供一个额外的LFE通道(low frequency enhancement channel),该标准后来被名为ISO13818-3标准。MP3标准用尽可能低的码流位率实现CD音质的声音而不会产生数据损失。如果对于一段声音不进行压缩的话,那么每存储一分钟的立体声CD音质音乐必须用10Mbit,这是一个十分大的开销。通过运用MPED音频标准的压缩技

45、术,我们可以把存储空间压缩到原来的十二分之一而不会降低声音的音质。即使使用二十四分之一的压缩因子,仍然比单纯降低采样率的音质要好。MP3之所以能够实现主要是因为人的听觉的特性以及编码技术的发展。人耳的听觉并不是线性的,而且人耳对于不同的声音的感觉是不同的,强的声音往往可以淹没弱的声音。所以在编码的时候就没有必要将所有的声音进行编码,这样就减小了数据量。MP3使用了非常经典的Huffman算法,Huffman算法产生一个可变码长的位流,并且可以根据一个相应的表格解决码流不等长的问题,而且解码速度非常快,同时压缩比也较高,平均可节省20%的空间,MP3一个显著的缺点就是延迟时间长,它的最小理论延时

46、是59ms,而实际上的值要比这要大许多,而且同系统的实现方法有关,很难给出一个精确的值。对于一些特定的应用,比如全双工语音通信,这么长的延时将影响通话效果。3.2 MP3播放器的系统需求MP3播放器最主要的功能便是实现音乐的播放。在此基础上改进其控制功能(例如:播放、暂停、快进、下一曲等),设计出人性化的交互界面,使消费者体验到无处不在的音乐的魅力。根据功能需要划分系统模块,对需求进行分析如下:1.首先考虑开发与调试,需要一个开发板与PC交互的接口。2.需要一个处理器来处理数据,这对于开发板来说,就要选取相应的软核。3.需要输入设备:控制MP3播放等功能的按钮。4.需要输出设备:放出音乐和显示

47、歌曲状态。5.外部存储设备:存放MP3歌曲和MP3解码程序。6.内存:用来运行解码程序等。7.能够对MP3解码的解码器。3.3 MP3播放器的软硬件划分及组成模块介绍根据系统所划分的功能,处理器、音频设备、存储器、输入、输出和交互接口都必须选用硬件设备实现。其中硬件部分如处理器用Altera公司的Nios II软核来实现,MP3音乐文件存储于外部的SD卡中,DE2开发板上有4个为用户预留的按钮可以用来输入,作为MP3播放器的功能键,输出可以使用开发板上的输出口来接音频设备,用户与开发板的交互可以使用开发板上RS-232串行口和JTAG口。MP3解码器可以由软件实现,也可以由硬件实现。硬件实现M

48、P3解码,可以购买专门的MP3解码芯片,比较如下:1.优点:l 减少工作量,加快开发进度。l 这样减轻CPU运算的负担:处理器用来参与控制和传输数据,而音频的解码由专用ASIC来处理大量的数据流解码,并把数据传给音频器件。2.缺点:购买硬件解码设备将会增加本播放器的成本。软件实现MP3解码,可以保证芯片对MP3流解码的灵活性,对于软件解码过程中如果有错误的地方,很容易对软件进行改正。由于解码过程中需要执行大量的算法,这将会增加处理器的负荷,降低处理器性能。 鉴于以上软硬件实现方式的优缺点以及各方案的可行性,综合考虑后选用硬件来实现MP3解码。3.3.1 MP3解码硬件电路方案设计及实现1.解码电路芯片选择以及与开发板连线电路中的解码芯片选择的是ST(意法半导体)公司的一款集成度较高、灵活性较强的解码芯片STA013。STA013可以自动侦测到MP3的编码速率,支持数字音量、低音和高音控制。STA013支持多种不同的采样频率,有8、11.025、12、16、22.05、24、32、44.1和48KHz等,且该解码芯片可以直接完成各种格

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号