基于SOPC技术的语音识别系统_第1页
基于SOPC技术的语音识别系统_第2页
基于SOPC技术的语音识别系统_第3页
基于SOPC技术的语音识别系统_第4页
基于SOPC技术的语音识别系统_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、捋浙,歩*摩2010届毕业生毕业论文题 目: 基于SOPC技术的语音识别系统院系名称:信息科学与工程 专业班级:电科0601学生姓名:张文峰 学 号: 20064360103指导教师: 张庆辉 教师职称:副教授TitleSpeech Recognition System Based on SOPC TechnologyAbstractIn the recent years, research for speech recognition mostly focuses on algorithm design and improvement. With the rapid development

2、of semiconductor technology, scale with integrated circuit continuously enlarging, and level of all kinds of development technique continuously improving, new hardware platform protruding, there are a lot of selections on speech recognition platfbrm. Combination with DSP FPGA ASIC devices which are

3、embedded systems, speech recognition research gradually looks toward to practical development and miniaturization.Firstly, in the time domain speech signal processing method on the basis of common principles and characteristics of feature extraction research, which focuses on the Mel Frequency Cepst

4、ral Coefficients principles and characteristics, design and implementation of the extraction step. Then, in the mainstream mode matching method based on the research, focusing on the vector quantization method, and introduces the theory and vector quantization distortion measure based on vector quan

5、tization of the optimal codebook design algorithm - Genetic Algorithm Then, this system uses a hardware platform based SOPC design, and design and implementation of hardware modules and software interfaces. Finally, the design of a set of LPC as feature parameters, the genetic algorithm to code the

6、design algorithm to vector quantization method for the pattern matching algorithm for speaker recognition, FPGA-based embedded platform to achieve, and a series of algorithms software and hardware optimization, also proposed a new method of distortion from the distance of a sub-average method, by th

7、e actual hardware platform experiments, increasing the code in the space of this distortion has a better distance effect conclusions. The system received high recognition rate and rejection rate, and with computing speed, error rate is low, the advantages of low hardware requirements, with some of t

8、he practical capabilities.Keywords : FPGA, SOPC, speech recognition, speech acquisition, LPC, IP core摘要ABSTRACTI1绪论11.1课题研究背景及意义11.2课题研究的现状21.3本课题的主要研究内容及安排42 SOPC技术与语音识别系统概述52.1 SOPC技术概述52.2语音识别原理及系统概述63.1 基 T FPGA 的 SOPC 技术83.2 FPGA基本开发流程104系统整体构建与功能分析184.1系统整体框架设计184.2系统软件主耍算法流程设计195基于FPGA语音识别系统各

9、功能模块设计与仿真205.1语音采集与预处理模块205.2语音数据的LPC特征提取275.3 DTW 识别模块296基于FPGA语音识别系统整体实现316.1系统整体实现316.2性能参数336.3系统语音识别结果357总结与展望367.1工作总结367.2系统展望37参考文献401绪论 1.1课题研究背景及意义1.1.1选题的背景语音识别起源丁20世纪50年代AT&T贝尔实验室的Audry系统,它第一次 实现了 10个英文数字的语音识别,这是语音识别研究丁作的开端。1959年,J.W. Rorgie和C. D. Forgie采用数字计算机识别英文元音及孤立字,开始了计算机语音 识别的研究工作

10、。语音识别技术与语音合成技术结合使人们能够摆脱键盘的束缚, 取而代之的是以语音输入这样便于使用的、自然的、人性化的输入方式,它正逐步 成为信息技术中人机接口的关键技术。语音识别技术以语音信号为研究对象,是语音信号处理的一个重要研究方向, 涉及语音学、语言学、声学、生理学、人工智能、信号处理理论、信息论、模式识 別理论、最优化理论、计算机科学等众领域,其最终冃标是实现人与机器进行自然 语言通信w。语音识别有非常广阔的应用前景,随着多媒体时代的来临,语音识别 技术必将发挥更大的作用,为人来带來便利。1.1.2选题的意义语音识别是指与机器进行语音交流,让机器明白语音的意思,这是人们长期以 来梦寐以求

11、的事情。近20年来,语音识别技术取得显著进步,开始从实验室走向市 场,被认为是2000年至2010年间信息技术领域十大重耍的科技发展技术Z-o冃 前市场上的大多数嵌入式语音识别系统MCU或DSP专用芯片都是通过内嵌的或实 现语音识别算法,还少有基丁现场可编程门阵列而非DSP器件的语音识别芯片进入 市场,新兴的数字信号处理技术FPGA具有研制周期短、设计成本低、修改简单、 风险小等优点。本文论述了基丁 FPGA的语音识别系统的设计与实现,并将具应用 于智能家居环境中。语音识别作为一个专门的研究领域,语音识别乂是一门交叉学科。它与语音学、 语言学、数字信号处理、模式识别、最优化理论、计算机科学等众

12、多学科紧密相连, 是一门既有理论价值乂有实际意义的学科。语音识别作为一项具有广泛社会效益和经济效益的现代信息技术,虽然已取得 一定就,但在面临实用化时还存在一系列问题,技术成熟、性能可靠的语音识别系 统在国内外还有很大的研究空间和市场潜力,在识别的精度、速度、鲁棒性与系统 的小型化等方而还有很大改进的空间。为了实现性能优良的语音识别系统,一方而 需耍对语音识别的理论、算法进行研究,解决并完善识别过程存在的齐种问题,另 一方面还应考虑简化系统的复杂度,从小型化与可实现化等方面设计合适的语音识 别系统。木课题的研究冃的是针对语音识别实用化面临的一系列问题,通过对现有各种 语音特征参数与孤立词语音识

13、别模型进行研究的基础上,重点探索基于动态时间规 整算法的DTW模型在语音识别领域的应用,并结合基于FPGA的SOPC系统,在嵌入 式平台上实现具有较好精度与速度的孤立词语音识别系统。1.2课题研究的现状1.2.1语音识别国外发展现状20世纪50年代,AT&Tbell(贝尔)研究所成功研制了世界上第一个能识别10个 英文数字的语音识别系统-Audry系统,这标志着语音识别研究的开始。60年代计算机的应用推动了语音识别的发展。这一时期的重要成果是动态规划 (Oynamie Programming, DP)和线性预测分析(Linear Predictive Coding, LPC)技术陆。 其中后者

14、较好的解决了语音信号产生的模型问题,对语音识别产生了深远的影响。70年代开始了大规模的语音识別研究并取得了突破。线性预测分析技术(LPC) 的引入,使语音识别的特征提取产生了一次飞跃。动态时问弯折技术(Dynamic time warpingo DTW)基本成熟,提出了矢量量化(Vector Quantization, VQ)和隐马尔可夫 模型(Hidden Marker Models , HMM)理论。在小词量、孤立词的识别方面取得了实质 性的进展,实现了基于线性预测倒谱和DTW技术的特定人孤立语音识别系统。这一 时期的语音识别方法基本上是采用传统的模式识别策略。80年代语音识别研究进一步走

15、向深入。研究的重点逐渐转向大词汇量、非特定 人连续语音识别。在研究思路上也发生了重大变化,即由传统的基于标准模板匹配 的技术思路升始转向基丁统计模型(HMM)的技术思路,隐马尔可夫模型(HMM)技术 走向成熟和不断完善,并成为语音识别的主流方法。19空年美国卡内基-梅隆大学 运用VQ和HMM技术研制出了非特定入、大词汇量、连续语音识别系统-SPHINX 系统,它可以理解有1000个单词构成的4200句子,被认为是语音识别历史上的一个 里程碑。90年代在语音识别的系统框架方而并没有什么重大突破。但是,随着多媒体时 代的来临,在语音识别技术的应用及产品化方而岀现了很大的进展。许多发达国家 如美国、

16、口本、韩国以及IBM, Apple, AT&T, NTT等著名公司都为语音识别系统 的实用化开发研究投以巨资,语音识别技术实用化进程大大加速,并出现了许多实 用化产品。21世纪语音识别技术的应用及产品化方面进一步发展。2000年,飞利浦公司与 四家亚洲公司建立合作伙伴关系,共同将基丁飞利浦最先进的语音识别技术 TrueDislogTM的自然对话平台Speech Mania及自然语言识别平台SpeechPearl提供给 电信业和一般金业的电话系统,使其具有完整的语音识别功能。此技术用于电话系 统,可以使人们用平常口音和腔调与电话系统对话。而过去的语音识别软件只能识 別单字或单词,同时要求说话人根

17、拯系统提示进行固定形式的应答。在语音识别产 品方而,IBM公司的ViaVoice仍居主流,其他公司也纷纷推出自己产品。微软新版 的Windows操作系统Vista配置了先进的语音识别软件。用户可以通过语音和计算机 交流对丁无法操作键盘和鼠标设备的人们,这是一个很重要的功能。经过训练, Vista能识别用户的语音。这样,用户就可以通过U述来“书写”信件或电子邮件。 一言蔽Z,用户可以通过语音来执行大多数常见任务。不过,冃前世界上最先进的语音识別软件,既不是微软生产的,也非IBM制造, 它的名字叫做Naturally Speaking,出自于Nuance Communications公司。Natu

18、rally SpeakingB经得到了大多数用户的认可。用户对着麦克风说话,屏幕上就显示出说 话的内容,很容易识别和纠正错谋。久而久Z,该软件就会适丿应用户的说话风格, 当然,用户如果在说话过程中发现软件无法识别的,也相应地做出调整,这样一来, 语音识别的正确率就会逐渐提高。1.2.2语音识别国内发展现状我国语音识别技术的研究也一直在紧跟国际语音识别技术研究的步伐稳步发 展,其研究历程可分为以下三个阶段:70年代至80年代中期的引进、移植阶段。这时期,我国汉语语音识别技术的研 究起步不久,因此以吸收和引进国外理论和技术为主,通过对汉语语音识别的实验 研究和方法改进,成功的进行了以孤立词小字表、

19、特定人、实验室环境条件为主的 汉语语音识别研究,为汉语语音识别技术的研究和发展奠定了基础。80年代至90年代初期的自成体系阶段。国家863计划智能计算机主题专家组为语 音识别技术的研究专门立项,在汉语语音识别、汉语语音数据库建立、汉语语音学、 听觉模型等基础研究方面取得长足进展,逐渐走出一条适合汉语特点的研究道路, 将汉语语音识别技术的研究拓展到连续语音、中大字表、非特定人语音识别及说话 人识别等领域,逐渐形成自己的研究体系,缩小了与国际研究水平的差距。90年代中期以来的成熟阶段。该阶段在国家863智能计算机主题专家组每一至二 年举行一次的全国性语音识别系统测试活动的推动下,使汉语语音识别技术

20、在细化 模型的设计、参数提取和优化、以及系统的适应能力上取得了一些关键性的突破, 汉语语音识别技术进一步成熟,并开始向市场提供应用产品。现在,中科院声学所、自动化所、清华大学、哈尔滨工业大学、中国科技大学、 四川大学、北京中科模式科技有限公司等科研机构、高等院校及公司等纷纷行动起 来。国内有不少语音识别系统己研制成功,这些系统的性能各具特色。在孤立字大词汇量语音识别方面,最具代表性的耍数1992年清华大学电子工程 系与中国电子器件公司合作研制成功的THED-919特定人语音识别与理解实时系 统。在连续语音识别方面,1991年12月四川大学计算机中心在微机上实现了一个主 题受限的特定人连续英语一

21、一汉语语音翻译演示系统。在非特定人语音识别方而,有清华大学计算机科学与技术系在1987年研制的声 控电话查号系统并投入实际使用。哈尔滨工业大学计算机学院的能技术与自然语言处理研究室(ITNLP)开创性地 提出了汉字语句输入的思想并实现国内外第一个语句级汉字输入系统。1.3本课题的主要研究内容及安排1.3.1本课题主要研究内容(1) 基TFPGA内部结构及工作原理的研究。根据获得的资料其内部齐个部分 的T作原理及各个引脚的功能做详细的分析和深入的理解,为以下的研究工作做充 足的准备;(2)基于FPGA的语音识别系统的接口器工作原理的重点研究;(3)本毕业设计的编程使用高级C语言,需对C语言进行研

22、究;(4)基TSOPC技术的语音识别系统工作原理的研究;(5)语音识别算法在NiosII软核中运行的优化研究;(6)综合既有研究成果,对基TSOPC技术的语音识别系统进行原理图和软件 编程方面的研究;(7)由于软硬件部分均采用模块化设计方法,所以对系统采用的各个模块进行 研究;1.3.2论文主要结构安排本论文主耍分为7章:第一章绪论:主耍介绍了基于SOPC技术的语音识别研究的背景、现状、内 容。第二章SOPC技术与语音识别系统概述。第三章基丁 SOPC技术与系统软硬件开发平台简介。第四章系统整体构建与功能分析。第五章基于FPGA语音识别系统各功能模块设计与仿真。第六章基丁 FPGA语音识别系统

23、整体实现。第七章总结与展望。2 SOPC技术与语音识别系统概述 2.1 SOPC技术概述SOPC英文全称:System On a Programmable Chip中文译名:片上可编程系 统。SOPC它是用可编程逻辑技术把整个系统放到一块硅片上,来用丁嵌入式系 统的研究和电子信息处理.SOPC是一种特殊的嵌入式系统,它是片上系统 (SOC),即由单个芯片完成整个系统的主耍逻辑功能但它不是简单的SOC,它 也是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软 硬件在系统可编程的功能。2.1.1 SOPC技术内容SOPC设计技术涵盖了嵌入式系统设计技术的全部内容,除了以处理器和 实

24、时多任务操作系统(RTOS)为中心的软件设计技术、以PCB和信号完整性 分析为基础的高速电路设计技术以外,SOPC还涉及冃前以引起普遍关注的软 硬件协同设计技术。由于SOPC的主耍逻辑设计是在可编程逻辑器件内部进行, 而BGA封装已被广泛应用在微封装领域中,传统的调试设备,如:逻辑分析仪 和数字示波器,已很难进行直接测试分析,因此,必将对以仿真技术为基础的 软硬件协同设计技术提出更高的要求。同时,新的调试技术也已不断涌现出来, 如Xilinx公司的片内逻辑分析仪Chip Scope ILA就是一种价廉物美的片内实时 调试工具。2.1.2 SOPC技术主要应用(1) 基于FPGA嵌入IP硬核的应

25、用。这种SOPC系统是指在FPGA中预先植 入处理器。这使得FPGA灵活的硬件设计与处理器的强大软件功能有机地结合在一 起,高效地实现SOPC系统。(2) 基于FPGA嵌入IP软核的应用。这种SOPC系统是指在FPGA中植入软 核处理器,女山NIOS II核等。用户可以根据设计的耍求,利用相应的EDAZ具, 对NIOS II及其外围设备进行构建,使该嵌入式系统在硬件结构、功能特点、资源 占用等方面全面满足用户系统设计的要求。(3) 基T HardCopy技术的应用。这种SOPC系统是指将成功实现于FPGA器 件上的SOPC系统通过特定的技术直接向ASIC转化。把大容量FPGA的灵活性和 ASI

26、C的市场优势结合起来,实现对于有较大批量耍求并对成本敏感的电子产品,避 开了直接设计ASIC的困难。2.2语音识别原理及系统概述221语音识别系统的原理语音识别其基本原理就是将输入的语音,经过处理后,将其和语音模型库进行比较,从而得到识别结果,具体原理见图图21语音识别框图该图屮语音输入就是将话筒和电话等语音输入设备采集的语音进行原始输入; 数字化预处理包括语音信号采样、反混叠带通滤波、去除个体发音差异和设备、环 境引起的噪声影响等;特征提取模块用于提取语音中反映本质特征的声学参数,常 用的特征有短时平均幅度、短时平均跨零率、线性预测系数、基音频率、倒谱和共 振峰等。在训练阶段,将特征参数进行

27、一定的处理后,为每个词条建立一个模型,保 存为模板库。在识别阶段,语音信号经过相同的通道得到语音特征参数,生成测试模 板,与参考模板进行匹配,基于一定的判别规则(例如构词规则、语法规则、语义规 则等)将匹配分数最高的参考模板作为识别结果。同时在模式匹配和判别时还可以 在很多专家的帮助下,提高识别的准确率。2.2.2语音识别系统分类和组成语音识别系统会有不同的系统设计和实现,因而会有不同的应用范I韦I及限制。它 的分类种类也很多,现在举出儿个大家比较重耍的分类方式。按发音方式分为孤立 词、连接词和连续语音的语音识别系统。语音识别系统可能耍求说话者以单字、单 词、或是短语为发音单位,其间就必须要略

28、微停顿,否则识别就会有问题。以前的语 音识别系统,儿乎都是以单字或单词为单位的孤立语音识别系统,随着连续语音识别 技术渐趋成熟,连续词和连续语音这个最口然的说话方式,将成为语音识别系统的主 流。按词汇量大小分为小词表、中词表和大词表以及无限词汇量语音识别系统。如 果语音识别系统只为你进行电话拔号,那它只耍能听懂10个数字就行了,这属于小词 汇量语音识别系统;如果它是为你自动转接话务,那它还应识别单位名、人名和时 间等成千上百的词和字,这属丁中等词汇量语音识别系统;如果它是把一篇口述的演 讲报告转换成为文字,这属于大词汇量语音识别系统。按说话人适应范围分为特定人、限定人和非特定人语音识别系统。特

29、定人系统是指系统在使用前必须由用户输 入大量的发音数据、对其进行训练。非特定人系统则试图达到在系统构建成功Z后, 用户需要事先输入大量的训练数据,即可使用的冃的。语音识别包括两个基本的步骤,一个是系统“学习”或“训练”。这一阶段的 任务是建立声学模型以及进行文法分析的语言模型。另一个是“识别”或“测试”。 根据识别系统的类型选择合适的-种识别方法,采用语音分析方法提取岀这种识别 方法所需要的语音特征参数,按照一定的准则和测度与系统模型比对,经过判决后 得出识别结果。一个典型语音识别系统的实现过程如图12所示。预处理图2-2典型语音识别系统建立模型判决语音识别系统,除了包含核心的识别程序,语音输

30、入手段、参数分析、标准声 学模型、词典、文法语言模型等等也是不可或缺的。根据识别结果在实际环境下实 现一定的M用,还必须考虑环境技术,用户接口输入和输出技术等诸多因素。因而, 语音识别技术加上各种外围技术的组合,才能构成一个完备的实际应用系统。3基于SOPC技术与系统软硬件开发平台简介 3.1基于FPGA的SOPC技术嵌入式系统发展趋势为小体积、低功耗、高性能。如今MCU、DSP和FPGA二 种处理器在现代嵌入式系统中是三分天下,各口都具有独特的优势但在某方面乂存 在不足。当前ARM和51系列单片机为代表的MCU家族在强大的软件系统支持和控制 处理微机接口方而占据领先Z位;而在大的数据处理方而

31、市场乂被DSP抢占;FPGA 在高速复杂逻辑处理方面独领风骚,同时其大规模的内部存储容量和内嵌乘法器, 高速并行处理能力,在信号处理方面也突出了它的优势。因而三者的结合是未来嵌 入式系统发展的趋势。SOPC = MCU+DSP+FPGA,微电子技术发展至今取得了长足 的进展,而最终将实现SOC方案。而在整个设计流程中,SOPC技术是一种有效的解 决方案。SOPC主要源自全球著名的微电子产商Altera,具涵义为可编程的片上系统, 或者说是基于大规模FPGA的单片系统。Z所以如此快速发展,跟冃前CPLD/PGFA 逻辑门及其内部RAM容量越来越大,性能也越来越高是分不开的,加Z价格下跌, 强大的

32、可编程能力,使得CPLD/PGFA不仅可以实现一个高复杂高难度的系统,而且 还能快速升级,提升系统性能。3.1.1基于FPGA嵌入式IP硬核的SOPC系统此种理念是在FPGA中移植一个微处理器。当前非常流行的32位ARM知识产权 处理器以硬核方式植入FPGA中,利用FPGA中丰富的逻辑宏单元以及IP软核做成接 口功能模块,如配置常规的SRAM、SDRAM、FLASH驱动等,同时可以配置网络通 信接口、串口、USB接口、视频接口、音频采集、键盘接口等等,就能很好地解决 系统一体化、功耗低、整体稳定性提高的问题。对此,Altera和Xilinx公司都相继推 出了这方面的器件。例如,Xilinx的V

33、irtexII Pro系列中植入了IBM PowerPC405处理 器;Altera的Excalibur系列FPGA中就植入了ARM922T嵌入式系统处理器。如此实现 了高效SOPC系统,使得FPGA灵活的硬件设计与微处理CPU的强大软件功能有机的 结合起来。3.1.2基于FPGA嵌入式IP软核的SOPC系统基TFPGA嵌入式IP硬核方案存在如下不足Z处,首先,此类硬核多来自第三方 公司,FPGA产商一般不能直接控制其自是产权费用,使得FPGA器件价格偏高不利 于市场拓展。其次,硬件平台的固定导致用户耍根据具体植入的微处理器的结构去 设计系统。而在熟悉指令系统,总线架构,微机接口等过程中,延谋

34、了系统开发周 期,若换另一种IP硬核处理器,乂得重新更新知识体系。鉴于不完美的地方,提出 基TFPGA嵌入式IP软核方案。以适应更多的电路功能耍求。软核嵌入式系统处理器 冃前最有代表性是Altera的Nios和NiosII,及Xilinx的MicroBlazeo尤其是Altera的Nios 和NiosII,技术方案启动到如今第二代产品的升级,技术沉淀使得Nios CPU系统很好 的克服解决了上述不利因素。而且也逐渐有电子公司启用Nios方案,开发SOPC系 统,即商业化。Altera的Nios软核采用32位/16位总线指令集和数抑通道的嵌入式系统微处理器 IP软核,可以配置多个CPU, CPU

35、分为三个等级,有低端经济型,中档标准型,高 端快速型,此三种CPU都是32位精简指令微处理器,所不同的是逻辑单元的利用率, 存储资源的开辟,以及是否嵌入硬件乘法器和除法器,数拯缓存等等。软核采用 Avalon总线结构通信接口。开发者可以利用强大的软硬件调试实时代码,调试功能 可根据FPGA的JTAG端口收到的指令,在线监视并控制片内处理器的T作情况。同 时,强大的Quartus II软件开发平台作为SOPC的载体,用户可不用管低层的实现,而 生成NiosII核,在Avalon总线灵活配置系统多个用户接口模块核,如高速缓存模块, RS232串口通讯模块,SDRAM控制器、三态桥,标准以太网协议接

36、口,直接数据存 取DMA,定时器产生波特率,以及多个协处理器,实现双CPU,甚至多核协同处理, 实现多机通信。只耍根据向导就可以轻松地导岀软核,就相当于生成了一个可以裁 减的用户CPU。这时用户可以根据设计要求,利用Quartus II的SOPC Builder,对核外 围进行构建,使得整个系统在硬件结构、功能特点、资源占用等方面全面满足用户 系统设计要求。并且只要FPGA资源允许,软核的移植是没有限制的。在这点上,Nios显然优TXilinx的MicroBlaze。成本上,Nios时Altera直接推出的非第三方知识产 权,所有用户可以不用支付知识产权费,因此,这也是本系统采用Altera的

37、FGPA作 为开发设计平台的一个重耍的因素。对于数字信号处理方向研究者来说,Matlab是 我们必备的系统分析仿真工具,而DSP Builder作为Matlab的插件,与Matlab的结合, 使得用户直接用Matlab中的Simulink完成系统级的设计,Altera公司提供了丰富的IP 模块方便用户调用。用户把DSP Builder生成的模块调入Quartiis II综合,生成VHDL 硬件描述语言,就可以及其方便的生成单元顶层模块,与NIOS II融为一体,实现片 内嵌入式系统。3.2 FPGA基本开发流程FPGA如同一张白纸,工程师既可以用传统的原理图输入,也可以用硬件描述语 言设计,本

38、文主要基TVerilogHDL语言设计。通过软件仿真,可以先验证设计是 否正确。在PCB完成后,还可以利用FPGA的在线更改,随时更改设计而不必改动硬 件电路。所有,FGPA开发数字电路大大缩短时间,减少PCB而积,提高系统可靠性。 要开发FPGA必须了解FPGA本身的结构特性,还耍熟悉相关的软件平台。下面将以 本系统的软件平台Quartus II7.0来介绍它的开发流程。3.2.1 基于 Quartus II 7.0 的 FPGA 设计Quartus II 7.0是Altera公司推出的CPLD/FPGA开发工具,Quartus II 7.0提供了完 全集成且与电路结构无关的软件开发环境,具

39、有数字逻辑设计的全部特性。它可利用原理图、结构框图、VerilogHDL、AHDL或者VHDL完成电路输入保 存为设计实体文件。软件包括芯片电路平而布局连线编辑,LogicLock增量设计,用 户还可以优化系统,添加对原系统的后续模块。功能强大的逻辑综合工具,完备的 电路功能仿真与时序逻辑仿真工具,定时/时序分析,更有SignalTap II逻辑分析仪进 行内嵌式的在线逻辑分析。Quartus II 7.0还支持源文件的添加与创建,将它们链接生 成冃标文件。自动定位编译错误、高效的编程与验证工具以及可读入标准的EDIF网 表文件、VHDL网表文件和Verilog网表文件联合第三方EDA软件如M

40、odolesim使用 的VHDL网表文件和Verilog网表文件。下图是Quartus II 7.0的主界面:各輩甲图31 Quartus II 7.0主界面Quartus II 7.0的使用说明可以参考help帮助文档,7.0以上的版本都有视频演示, 让用户一步到位入门EDA软件平台,熟悉里面各种功能的基本应用。由TQuartus II 是冃前市场上专业的综合工具,也是最快的,强大的功能是需要相当一段时间才能 精通的。如图32是一个典型的FPGA设计流程。图32 FPGA设计流程图所有的工程项冃在建立是都是人同小异的,Quartus II 7.0也是以工程的单元对 设计过程进行管理。首先建立

41、顶层文件,若是以图形的形式建立,相当于一张原理 图,所有模块都用总线连接整合在一块。若是用文本文件建立,一定耍以工程名命 名模块名。在建立子模块时,建议尽量采用ALTERA公司提供的LPM功能模块。 Quartus II 7.0软件环境里而包含了丰富的的常用模块,如向上向下的增减计数器、 累加器、译码器、比较器、FIFO、存储器等等。这些自带的LPM模块都是性能优 越的模块,在用户系统中用到,将有利用整体系统的综合,一般若系统中单个模块 设计不合理,如速度、资源等不考虑周全,将造成整个系统的瓶颈,以作者的经验 教训,如不懂得在工程中采用这些现有的功能模块是非常浪费。针对用户口己的系 统,用户一

42、般耍建立自己的功能模块。可以用Verilog HDL或原理图输入。这个过 程好比你耍做一个电路,现在市场上没现在你想耍的功能,你就自己做一块这样的 芯片,添加到电路中。在顶层文件中,把各个模块实例化调用后,就做成了用户的 电路系统。下一步就是选择芯片型号,为顶层图分配管脚。至此可以对系统顶层文 件进行编译,最好先进行语法分析,通过Z后才整体综合。综合时可以设置优化逻 辑组合、综合逻辑以及布线约朿等。综合后得到*.sof文件或者*.pof文件,这就是冃 标下载文件了,前者是通过JTAG下载到FPGA + RAM屮的,若掉电后,信息就 丢失了;后者时下载到配置芯片中的E2PROM中,重新启动后,系

43、统自动引导把配 置文件加载到FPGA内部,达到掉电不丢失信息的冃的。但是在线调试的方式编程 是非常快的,而后者就要等一段较长的时间。另外仿真工具软件口带的已经较完善了,更加专业的第三方软件验证,一般是公司做成品会用到。3.2.2 SOPC基本开发流程下图是SOPC软件开发环境,基于Altera公司的屮高端FPGA芯片实现片上系统。 其屮NiosII是用Quartus II自带的SOPC Builder来定制的,DSP则用到MATLAB的 Simulink中的DSP Builder来定制,其知识产权属7 Alterarcet图33 SOPC Builder I:程新建图D*ace FvtlyrO

44、xiScxre?Mfczlk主zxcrxel$0. QUse p F p p pFKP P P P心 I Frocecr - ASsm Oorpormr. Mastewt XsslerctM?jJTArSULfFTA .*cn That曲e &*吝Slave 口MKlerwtRash Hstcry (Ccmvi nac War tax &S SerW RasfiCorrsto dxpcxteer*HrrefJSBG7.LUT fAxto arrt Moeo CccrtjSDRAM COftrcferPvaMRr:ParcMPcr!Par aM PersC 5crsK Eobtb rtscce

45、bAFT(RS-232wpoin jSyerC*errrac*c*aortMHeea cmxwtffffMMaien ttoserQttW4HM OcQOCSr* 丁0MMMK4IFQQ RQ51 OaX0Z7FFMMtini oxeiiBr:d ocoooxxa gm平申TEirrHdwm eoo8iF I图3-4 SOPC软件主界而Altera的SOPC, NiosII占有举足轻重的地位,它拓展了冃前世界上最流行的软核 嵌入式处理器的性能,把NiosII CPU嵌入高端StratixII Stratix Cyclone等系列器件 中,用户可以获得超过200DMIPS的性能。Nios CPU

46、是16/32位结构可定制并包含5级流水线的通用RISC微处理器。CPU通 过Avalon总线与外设交换数据。此总线是一种比较简单的内部协议总线,提供了同 步操作,外设统一编址,带延迟的读写操作时序特性。并且Altera公司提供的标准外 设接口,减少了系统的开发周期,给用户提供一个平台可以添加自定义的IP驱动接 口直接挂载到Avalon总线上面。此CPU还包括当前流行的所有微处理器具有的高速 缓存、中断处理、硬件加速、寄存器、完备的指令系统。下图描述了Nios系统的整 体结构。可以看到,所有的外设都是挂载到总线上面的,即使CPU也是作为一个外 设模块处理。Nios System Architec

47、tureUARTOTimer 0GPIOOAvalon Bus ModuleDynamic Bus SizingWait State GenerationMaster ArbitrationInterrupt ControllerAddress DecoderinterfaceAvalon Master/Slave Port InterfacesData in MultiplexerOff-Chip Software Trace MemoryOfvChip Debug Core图3-5 Nios系统整体结构以下是配套的Nios II IDE 7.0软件开发环境,在SOPC片上系统的硬件部分综合

48、 完成后,指令的执行耍交给CPU,软件编写与调试都是通过Nios II IDE集成开发环 境完成的。它与一般的C编译器开发环境类似,对一般的编译软件如SYSTEMC熟悉 的用户可以很轻松的入门。由丁编译时,要链接过多的库文件,所以在编译前要设 置一些选项优化编译。即使如此,首次编译时,都会编译较长的时间,工程越大, 编译时间也相应更加长,不熟悉的用户可能刚用到会不习惯。当编译通过后,可以 在线调试程序了,硬件系统已经在Quartus II中综合定型了,到此只需要修改软件, 程序调试通过后,可以通过FLASH烧写T具把软件部分固化在FLASH屮。而最终 硬件部分可以烧写进配置芯片中固化,重新启动

49、系统,软硬件会协同工作。弓 “ AXpiu “(IBtyirrx!?Jtiv.iaiaoalsd aiiraiiit* 旷八: ikjunwia.nn j 二/二 qg. Fin_UE(ir . r* iaKs _hrr.ei* u -n12=4U* ttJUM 、5 OM ru ,2 * *4.w w UQ鼻 /*_tc*1*3t,G9-WGXMU SyrXM. tvyifto IJaCd flgeJniHT y twr*.Xjj; a fl gaIM t CI8L1 H ftllCCft 心 r x rriKt?4. 弋4J :t Tidl m tuA-LU 卜 “ icazf jK4Ul

50、4Ti;o MiE : 一 i: WTDZum.牛ZihH“魁耳咤鼻昭JiJabVdllrlI k 1-: Xtf1 LktrniTUC 型;0肚7沖刊.:Z.-VM IJ.t出.1沖1n: tms尬 Foc&吃宾0旳七応門二畑口.心9丹砂.曲rfcgj七忆00沁GF曲丘池jw F1MB卄4H 心ZU CNJrw:1IS艸-tay;imfc6soi,pr 二d .l(H :-/U4 xn - JJLlU.tXduJ liNKtZf ?t 3XJI4 in. .ml HEX Alt (IM;.ta:ex4n -3Cter*Ttxaiuwlatpiujer图3-6Nios II IDE主界面至此可

51、以从整体上得出SOPC结构功能图,图中DSP各模块都是一些IP Core, 对丁这些数字信号处理的算法核是常用的计算模块,一些开发商会把它们做成专业 的知识产权核,我们可以用综合工具仿真,而要是进行二次开发就需耍购买了,有 的研究者会自己研发。这些都将具有共同的特点可以挂载在总线上,自定义模块可 以是用户做的一些接口驱动。图37 SOPC结构图323系统硬件平台ALTERADE1开发板介绍本系统的硬件平台是建立在ALTERA DE1廿发教学板上,Altera提供了配套的资料进行开发板的教学和演示实验。DE1的核心控制器是Cyclone IIEP2C20F484C7N FPGA, 484-pin

52、的FBGA封装,所有重要的组件都连接在核心控制 芯片上,用户可以编程控制各个组件。下图是开发板的实物图。音频接口FPGA 1数码管ISD卡槽拨码开关图3吃开发板实物图DE1开发板包括以下芯片和功能模块:ALTERA Cyclone II 2C20FPGA芯片,这是核心控制器,用户的系统设计冃标 文件将运行在芯片中的SRAM中;ALTERA串行配置芯片EPCS16,这是固化配 置文件的芯片,只有固化了冃标文件,才能调电不丢失信息,一般的FPGA祁有对 应的一个配置芯片。USB Bister用于编程下载和JTAG在线调试或是主动串行模式 的下载方案;开发板上面有一个512K SRAM,8M的SDR

53、AM, SDRAM可以用来供 NIOS II程序运行;4M的FLASH可以固化NIOS II的程序代码;外用的接口电路包 括SD卡座;按键开关和拨动开关;LED灯;WM8731音频编解码芯片,VGA接口, 串口和键盘接口,加上27MHZ和50MHZ的晶振。前面儿节介绍的软件都可以配套 DE1开发板使用。图38给岀了 DE1开发板的模块功能图。为方便起见,这里把所 有的组件都连接在Cyclone II上。上面提到的各个芯片和功能模块全部清晰地描述 如图所示。i. Cvclone II EP2C20 FPGA JCyclone II EP2C20是高密度结构的FPGA,由二维行列结构组成执行用户逻

54、辑。 逻辑阵列由逻辑阵列块(LAB)组成,每个LAB 乂由16个逻辑单元(LE)组成。EP2C20有1&752个LE。Cyclone II提供一个全局吋钟网络,这个全局吋钟为芯片 中所有的资源提供时钟,如输入/输出单元,LE,内嵌乘法器,和嵌入式存储块等。EP2C20含有4个锁相环,用户可进行时钟同步和相位偏移和输岀外部高速时钟用。 EP2C20内嵌52个M4K存储块,M4K存储块是双通道4K存储块,用户可以设置 双通道,单通道,位宽可以到达36位综合至260MHZ高性能存储器。EP2C20还嵌 入了硬件乘法器,由52个9X9位或26个18X18位速度高到250MHZ的高性能内 嵌有符号乘法器

55、。在基丁 FPGA语音识别系统设计中,所有的SOPC系统都是建立在此芯片上, 包括系统齐个功能模块,NIOSCPU,接口驱动都综合成冃标文件*.sof下载到Cyclone II 2C20FPGAoii. WM8731(24位音频编解码)DEI板提供了高品质24位Wolfson WM8731音频编解码芯片。芯片支持麦克风 输入,线入,线出三个端口,可调节8KHZ96KHZ的采样频率。此芯片开发板厂 衙已经固定用串行I2C总线协议传送数据,相应的端口已经固定在Cyclone II 2C20 FPGAo图39给出了电路原理图。系统的硬件连接固定,设计只要针对芯片的工作模式设置控制字,根据芯片的吋序图编写程序即可。系统的数抑来源都是从此电路采集进来,所以对采集这部分必须熟悉WM8731的使用,系统采集部分具体的实现将在第五章详细描述。4系统整体构建与功能分析 4.1系统整体框架设计本系统设计充分利用Cyclone II芯片及DE1开发板硬件资源。实现了一个孤立 词语音识别系统,首先通过麦克风录入孤立词汇,经过WM8731芯片将模拟量转化为 数字量然后经过WM8731的搂口控制模块将语音数据读入SDRAM中缓存,此时将数 拥读入特征值提取模块进行特征值求取,而后将特征参考模板存入1G的SD卡中。 识别的整个流程全部在DE1板实现。首先测试人通过麦克风根据系统LED提示, 读入词汇,系

温馨提示

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

评论

0/150

提交评论