大学学士学位论文_基于nios_ii系统的mp3播放器的设计(编辑修改稿)内容摘要:

一般而言,嵌入式系 统的构架可以分成四个部分:处理器、存储器、输入输出( I/O)和软件(由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里我们对其不加区分,这也是嵌入式系统和 Windows 系统的最大区别)。 嵌入式片上系统 ( System On Chip) 是目前嵌入式应用领域的热门话题之一。 SOC 最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。 而且 SOC 具有极高的综合性,在一个硅片内部运用 VHDL等硬件描述语言,实现一个复杂的系统。 用户不需要再像传统的系统设计一样,绘制庞大复杂的电路板, 一点点的连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。 由于绝大部分系统构件都是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性,提高了设计生产效率。 MPEG Layer 3 MP3 全称是 动态影像专家压缩标准音频层面 3( Moving Picture Experts Group Audio Layer III)。 是当今较流行的一种数字音频编码和有损压缩格式,它设计用来大幅度地降低音频数据量, 而对于大多数用户来说重放的音质与最初的不压缩音频相比没有明显的下降。 它是在 1991 年由位于德国埃尔朗根的研究组织 FraunhoferGesellschaft 的一组工程师发明和标准化的。 简单的说, MP3 就是一种音频压缩技术,由于这种压缩方式的全称叫MPEG Audio Layer3,所以人们把它简称为 MP3。 MP3 是利用 MPEG Audio Layer 3 的技术,将音乐以 1:10 甚至 1:12 的压缩率,压缩成容量xx 大学学士学位论文 4 较小的 file,换句话说,能够在音质丢失很小的情况下把文件压缩到更小的程度。 而且还非常好的保 持了原来的音质。 正是因为 MP3 体积小,音质高的特点使得 MP3 格式几乎成为网上音乐的代名词。 每分钟音乐的 MP3格式只有 1MB 左右大小,这样每首歌的大小只有 3~ 4 兆字节。 使用 MP3播放器对 MP3 文件进行实时的解压缩(解码),这样,高品质的 MP3 音乐就播放出来了。 MP3 是一个数据压缩格式。 MP3 音频可以按照不同的位速进行压缩,提供了在数据大小和声音质量之间进行权衡的一个范围。 它丢弃掉脉冲编码调制( PCM)音频数据中对人类听觉不重要的数据(类似于 JPEG 是一个有损图像压缩),从而达到了小得多的文件大小。 在 MP3 中 使用了许多技术其中包括心理声学以确定音频的哪一部分可以丢弃。 国内外文献综述 目前软硬件协同设计领域的研究十分活跃, Berkeley, Princeton 等著名大学有专门的研究小组进行相关研究,在电子设计领域权威的学术会议, DAC ( Design Automation Conference) 和 ICCAD 上每年都有相当篇幅的论文涉及软硬件协同设计,每年 ACM 还召开软硬件协同设计的专门会议 CODES。 主要EDA 厂家 ( Candence, ALTERA) 目前已 经推出部分支持软硬件协同设计的工具,并将软硬件协同设计作 为下一代的系统级 EDA 工具的关键技 术。 嵌入式产品开发中已经有许多软硬件协同设计技术的成功应用实例。 国外相关研究 : CASTLE( Code sign and Synthesis Tool Environment)由德国信息技术国家研究中心系统设计研究所开发。 该环境支持软硬件协同设计流程和嵌入式系统的快速模板制作,系统描述采用细粒度的程序设计语言 C,同时也支持硬件描述语言 Verilog 和 VHDL,这些描述可进行仿真和性能分析,以支持系统综合的决策。 有关协同仿真的研究项目中, Berkeley 大学的 Ptolemy 是最有影响的。 Ptolemy 系统的特色在于它是一个异构的模拟环境,提供对于多种模型(数据流、离散事件、有限状态机等)的描述和模拟手段,并可以在一个仿真应用中采用不同的仿真模型。 Ptolemy 的扩展性很好,在 Ptolemy 中有许多 C++语言开发的域 ( Domain) 和节点 ( Star) 作为仿真的构件,用户可以编写新的域和节点,并构造自己的仿真模型。 软硬件协同仿真可看作异构仿真的一种, Ptolemy己经应用于嵌入式系统的算法层和体系结构层描述和验证。 早期的软硬件协同设计工具仅仅支持协同验证,大多数工具都只有在体系结构层设计基本完成后才能仿真硬件和软件模块的相互作用。 目前的发展趋势是采用 SBE( Simulation Based Design) 的思想,用仿真技术支持划分和协同调试、分析,以便加快设计进程。 微处理器是嵌入式系统的核心,可仿真的微处理器模型是这些仿真工具的重要组成部分,但大部分工具将微处理器模型看作是不可变的。 国内的研究状况 : 软硬件协同设计作为系统级设计的支持技术,理论上和xx 大学学士学位论文 5 技术上还在不断地发展和完善中。 研究研发功能强大的软硬件协同设计平台,是这一技术逐渐走向成熟的标志,而基于 FPGA 实现的 Sopc 技术,比 基于ASIC 实现的 SoC 技术提供了一种更灵活而成本低廉的系统级芯片设计方式。 国内外都在研发支持 Sopc 技术的软硬件协同设计平台。 在国内,这方面的研究研发已展开并取得了初步的成果。 北京大学计算机系杨芙清院士和程旭教授等人,已研发成功国内第一个微处理器软硬件协同设计平台;上海嵌入式系统研究所研发的基于 FPGA 实现处理器的 ECNUX 研发平台, 版本已完成,功能强大的 版本正在研发过程中。 在不久的将来,随着软硬件协同设计技术研究的深入,支持 FPGA 设计实现的功能强大的软硬件协同设计平台将会出现,并加速推进嵌 入式系统的设计研发进程。 论文研究内容 本文研究的主要内容是基于 Nios II 的 MP3 播放器的设计与实现。 本文对软硬件协同的相关技术进行了 研究, 并体现于设计中。 设计中 具体研究了软硬件的系 统描述、软硬件划分、软硬件综合等方面的技术,并在此基础上设计了一个 MP3 播放器方案。 在研究的基础上提出了基于 Nios II( SOPC) 的软硬件协同设计、软硬件协同划分的方法和基于 Nios II 的软硬件协同的开发流程。 xx 大学学士学位论文 6 第 2章 SOPC 技术 及软硬件协同方案 FPGA 器件基本原理 PLD( Programmable Logic Device)是可编程逻辑器件的总称,早期多采用EEPROM 工艺,基于乘积项( Product Term)结构。 FPGA( Field Programmable Gate Array)是指现场可编程门阵列,多为 SRAM 工艺,基于查找表 ( Look Up Table) 结构, FPGA 在掉电后信息即丢失,所以每次上电后需对 FPGA 进行重新加载,要外挂配置用的 EEPROM。 在上电的时候,由 EEPROM 内自行启动的加载时序把数据流加入 FPGA 中,对其内部逻辑进行配置。 而对基于EEPROM 工艺的 CPLD 来说,则不存在这样的问题, 在数据下载芯片后,掉电后也不会丢失,唯一的缺点是 CPLD 芯片数据擦写次数往往有限,对产品开发阶段的技术设计人员要求较高。 FPGA 的特点有: 1. 采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合 适 的芯片。 2. FPGA 可做其它全定制或半定制 ASIC 电路的中试样片。 3. FPGA 内部有丰富的触发器 I/O 引脚。 4. FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一。 采用高速 CHMOS 工艺,功耗低,可以与 CMOS, TTL 电平兼容。 查找表 ( Lookuptable) 简称 LUT,它本质上是一个 RAM,目前 FPGA 中多使用 4 输入的 LUT, 所以每一个 LUT 可以看成一个有 4 位地址线的 16*1 的RAM。 当用户通过原理图或 HDL 语言描述一个逻辑电路以后, FPGA 开发软件会自动计算逻辑电路的所有结果,并把结果事先写入 RAM,这样,每输入一个信号进行逻辑运算相当于输入一个地址进行查表,找出相应地址,然后输出即可。 现在 PLD 中已经广泛嵌入 RAM/ROM, FIFO 等存储模块,有的 PLD 里还内嵌了 DSP 模块,如 Xilinx 的 VertexII 器件系列中就嵌入了 DSP,将来的 PLD还要嵌入多种功能模块,可以实现各种复杂的操作和运算。 Sopc 设计技术 现代集成电路制造工艺的改进,使得在一个芯片上集成几十万甚至上百万个逻辑门成为可能。 但如此大规模的电路设计是不可能由一个或几个设计工程师来完成而不出错。 利用结构化,层次化的设计方法,一个大型的数字电路设计首先根据设计的目标和规范划分为若干个较小的功能模块,分别交由不同的设计工程师进行设计。 这就允许多个设计者同时设计一个系统中的不同模块,且底层的设计可以用其上一层的行为级设计进行仿真验证。 这称为自顶向下xx 大学学士学位论文 7 ( TOPDOWN) 的设计方法 如图 21 所示。 系 统 级 设 计模 块 A 模 块 B 模 块 C模 块 A 1模 块 A 2 模 块 A 3 模 块 C 1 模 块 C 2 模 块 C 3 图 21 TOPDOWN 设计方法 自顶向下 是 一种逐步求精的设计程序的过程和方法。 对要完成的任务进行分解,先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。 这样逐层、逐个地进行定义、设计、编程和测试,直到所有层次上的问题均由实用程序来解决,就能设计出具有层次结构的程序。 按 照 自顶向下的方法设计时 , 设计师首先 要 对所设计的系统有一个全面的理解。 然后从顶层开始 ,连续地逐层向下分解 , 直 到系统的 所有模块都小到便于掌握为止。 “自顶向下”的正向设计步骤:首先需要进行行为设计,要确定该 VLSI 芯片的功能、性能及允许的芯片面积和成本等。 接着进行结构设计,根据芯片的特点,将其分解为接口清晰,相互关系明确,尽可能简单的子系统,得到一总体结构。 这结构可能包括有算术运算单元,控制单元,数据通道,各种算法状态机等。 下一步是把结构转换成逻辑图,即进行逻辑设计。 显然,同一功能块可以由多种逻辑设计加以实现。 在这一步中, 尽可能采用规则结构来实现和利用已经过 考验的逻辑单元或模块。 接着进行电路设计,逻辑图将进一步转换成电路 图。 在很多情况下,这是需进行硬件仿真的,以最终确定逻辑设计的正确性。 最后是将电路图转换成版图,进行所谓的版图设计。 自顶向下的设计从系统级开始,将整个数字系统划分为几个较小模块,然后这些模块又分别细分为更小的模块,直到可以用基本元件来实现为止。 这种设计方法的优点在于每一层的分解全 都 经过优化,优化的目标可能是工作速度、芯片面积、芯片成本或它们的组合,但每次划分并不考虑分解后得到什么样的单元,以及得到的单元是否是已存在的单元。 “自底向上”的正向设计:是在系统划分和分解的基础上先进行单元设xx 大学学士学位论文 8 计,在单元精心设计后逐步 向上进行功能块,子系统设计以至到最终的系统总成。 自底向上的设计在某种意义上讲可以看作上述从顶向下设计的逆过程。 在正向设计时,也往往有把“自顶向下”和“自底向上”两者结合起来完成一个芯片设计的。 对于逆向设计,无论是“自顶向下”或是“自底向上”,开始版图解剖,电路图提取和功能分析这几步都是必需的,在这以后才分成不同的处理。 Sopc 的设计过程是一项非常复杂且极具挑战性的工作,没有一套有效的设计方法很难保证芯片的正确、高效。 Sopc 设计方法的研究所影响的不仅仅是集成电路领域,它还会对集成电路以外的领域产生深远的 影响,这是由集成电路的基础作用决定的。 SOPC 设计有 3 个大的研究领域 : IP 核生成与复用技术、 软硬件协同设计技术 ( Hardware software CoDesign) , 超深亚微米 ( Very Deep SubMicron) 集成电路设计技术。 每个研究领域包含一系列的子课题。 SOPC 技术研究的主要内容 如图 22 所示。 S O P C 设 计 技 术软硬件协同技术超深亚微米技术I P核复用与生成技术软硬件划分软硬件协同综合软硬件协同模拟时延驱动逻辑技术时序综合技术基于I P的系统设计技术多I P系统的测试与验证I P设计技术接口综合技术系统描述低压功耗设计技术 图 22 SOPC 技术研究的主演内容 xx 大学学士学位论文 9 软硬件协同 技术 在 Sopc 中,尤其是面向特定应用的 Sopc,软件和硬件的结合更加紧密。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。