基于FPGA的音频处理系统毕业设计论文.docx
《基于FPGA的音频处理系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于FPGA的音频处理系统毕业设计论文.docx(33页珍藏版)》请在冰豆网上搜索。
![基于FPGA的音频处理系统毕业设计论文.docx](https://file1.bdocx.com/fileroot1/2023-1/23/498fe49c-c63e-4ac5-b15f-a1f4a8fd7f5d/498fe49c-c63e-4ac5-b15f-a1f4a8fd7f5d1.gif)
基于FPGA的音频处理系统毕业设计论文
基于FPGA的音频处理系统毕业设计论文
基于FPGA的音频处理系统设计
学生:
吴佳乐
指导教师:
唐廷龙
(三峡大学计算机与信息学院)
摘要:
随着数字记录技术和大规模集成电路技术的迅速发展,消费类电子产品正以日新月异的新姿展现在当代人的面前,音响类娱乐产品的多样化、小型化与数字化及品种的琳琅满目丰富了音响产品市场,满足了多层次消费者的不同需要。
在这些科技产品的快速发展过程中,数字音频技术在其中扮演着重要的角色。
数字语音集成电路与嵌入式微处理器相结合,既实现了系统的小型化、低功耗,又降低了产品开发成本,提高了设计的灵活性,具有体积小、扩展方便等诸多特点,具有广泛的发展前景。
本设计基于NiosII的SOPC技术,利用Verilog硬件描述语言开发基于FPGA的音频编解码芯片控制器,以实现对音频编/解码芯片WM8731的控制。
同时本文提出了一种基于FPGA器件的音频信号处理的实现方案,探讨声音信号的收集、处理及应用,工作的重点是在噪声环境中如何能有效地地把需要的语音信号提取出来开,消除或者衰减噪声,这涉及到滤波器的设计,通过数字滤波来处理噪声信号。
关键词:
WM8731,FPGA,I2C总线,音频处理
Abstract:
WiththerapiddevelopmentofdigitalrecordingtechnologyandLSItechnology,consumerelectronicsproductsareintheever-changingcontemporarynewlookshowinfrontofpeople,diversesoundlikeentertainmentproducts,miniaturizationanddigitizationanddazzlingvarietiesenrichestheaudioproductsmarket,tomeetthedifferentneedsofmulti-levelconsumers.Intherapiddevelopmentofthesetechnologyproducts,anddigitalaudiotechnologyinwhichplayanimportantrole.DigitalVoiceICwithembeddedmicroprocessorcombinationofbothtoachievetheminiaturization,low-powersystem,butalsoreduceproductdevelopmentcostsandimprovedesignflexibility,smallsize,easytoexpand,andmanyotherfeatures,withextensiveprospectsfordevelopment.
ThedesignisbasedontheNiosIISOPCtechnology,usingVeriloghardwaredescriptionlanguagedevelopedFPGA-basedaudiocodecchipcontroller,inordertoachieveanaudioencoder/decoderchipWM8731control.ThispaperpresentsarealizationoftheprogramwhiletheaudiosignalprocessingbasedonFPGAdevices,explorethecollection,processingandapplication,focusingontheworkofthesoundsignalinanoisyenvironmentishowtoeffectivelyputthedesiredspeechsignalextractedopen,eliminatingornoiseattenuation,whichinvolvesthedesignofthefilter,filteringprocessingbyadigitalnoisesignal.
Keywords:
WM8731,FPGA,I2CBus,Audiocontroller
1绪论
1.1课题研究背景
1.1.1课题来源
随着数字记录技术和大规模集成电路技术的迅速发展,消费类电子产品正以日新月异的新姿展现在当代人的面前,音响类娱乐产品的多样化、小型化与数字化及品种的琳琅满目丰富了音响产品市场,满足了多层次消费者的不同需要。
在这些科技产品的快速发展过程中,数字音频技术在其中扮演着重要的角色。
现在音频处理技术的任务越来越复杂,对信号处理的效果要求不断提高,音频处理技术的算法也越来越复杂,要求在几十ms甚至几ms的时间内完成音频信号大量的数据采集、处理、存储、传输,这就对音频处理系统处理器的运算速度提出了更高的要求。
1.1.2研究目的及意义
随着消费电子的快速发展,数字音频技术的应用显得越来越重要,对数字音频技术的研究符合市场与科技需求。
数字音频处理技术涉及生活的方方面面,包括滤波器技术、数字信号处理、人工智能、模式识别、编码学、等多个学科的知识,是信息化技术类学科当中发展极为迅速的一个方向之一。
音频信号处理技术包含的内容非常多,主要有信号存储、语音合成、语音识别、音频压缩、语音理解、音频编码、语音识别、语音增强等多个分支,总而言之,音频信号处理技术包括音频信号的数字化处理、数字化实现、数字化变换、数字化存储、数字化传播、及音频的变换、语音的处理、语音的识别等自然科学多个领域的综合运用。
传统的数字滤波器采用乘法和累加结构,需要进行多次的乘法和加法运算。
由于乘法器庞大的结构,占用了系统芯片上的大部分面积,消耗了大部分功率,使得音频处理系统在体积和处理速度上存在着不足,所以传统的数字滤波器不能很好的满足家用和便携式音频处理器对体积小、功耗小信号处理速度高的要求。
而近些年来使用范围越来越广泛,技术越来越成熟的FPGA器件对于解决对于解决音频信号的高标准、高要求有着其独特的优势。
基于FPGA器件的音频信号处理的实现方案,在于对声音信号的收集、处理及应用,工作的重点是在噪声环境中如何能有效地地把需要的语音信号提取出来开,消除或者衰减噪声,这涉及到滤波器的设计,通过数字滤波来处理噪声信号。
1.2国内外的研究现状及发展趋势
1.2.1FPGA的发展历程
FPGA是FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA是RossFreema于1985年发明的,当时第一个FPGA采用2μm工艺,包含64个逻辑模块和85000个晶体管,门数量不超过1000个,当时他所创造的FPGA被认为是一项不切实际的技术,他的同事BillCarter曾说:
“这种理念需要很多晶体管,但那时晶体管是非常珍贵的东西。
”所以人们认为Ross的想法过于脱离现实。
但是Ross预计:
根据摩尔定律(每18个月晶体管密度翻一翻),晶体管肯定会越来越便宜,因此它必将成为未来不可或缺的技术。
在短短的几年时间内,正如Ross所预言的,出现了数十亿美元的现场可编程门阵列(FPGA)市场。
但可惜的是,他已经无法享受这一派欣欣向荣的景象,RossFreeman在1989年已经与世长辞了,但是它的发明却持续不断地促进电子行业的进步与发展。
一般来说,FPGA内部是由最小的物理逻辑单位LE、布线网络、输入输出模块与片内外设组成的,而最小物理逻辑单元是指用户无法修改的、固定的最小单元,设计者只能将这些单元通过互联线将其连接起来,然后实现特定的功能。
一个LE是由触发器、LUT与控制逻辑组成的,从而同样可以实现组合逻辑和时序逻辑。
随着FPGA集成度的不断增加,其内部的片内外设也越来越多,可集成SRAM、Flash、AD、RTC等外设,真正用单芯片方案完成系统设计,所以我们所理解的FPGA最底层是一些实实在在的门电路构成的,然后由门电路构成最小的物理逻辑单元,然后再通过布线层将这些最小物理逻辑单元连接成用户需要的特定功能,我们所需要控制的仅仅是布线层之间的互连开关,这也是我们编程的对象,通过这些开关来改变功能。
1.2.2音频处理技术的发展
随着消费电子的快速发展,数字音频技术的应用显得越来越重要,对数字音频技术的研究符合市场与科技需求。
20世纪50年代开发成功的晶体管,代表着音频放大技术的巨大飞跃。
但晶体管技术至少具有两个重大缺陷。
尽管晶体管比烤得整个房间发热的电子管更具效率,但只是迅速取代了真空管,实际上基本未触动上游信号源。
利用发热更少、效率更高的数字信号处理技术的设计工艺只是刚刚进入包括音频在内的许多市场。
第二个问题不太重要,即以几乎无法承受的价格批量生产晶体管,意味着要大幅放宽这些元件的误差标准,从而导致信号失真上升或者音质下降。
当时由于使用的是质量相对较低的存储媒体(vinyl和磁带)、传输和接收技术(AM收音机和VHS电视)也不够完美,音质下降的问题显得还不是那么明显和突出,但是现在的情况已全然不同。
早在20世纪60年代,集成电路的发展就为显著提高音质提供了一个物美价廉的手段,并有力地促进了电子产品的小型化。
模拟放大器是绝对线性的,在模拟放大器中,电源总处于接通状态,耗用大量的电能,因此必须使用大量的散热器件。
这样大手大脚地使用电源根本不适合目前电池供电的产品和外形纤巧的消费电子设备。
由于所有的音源都是模拟式的,听得见的噪声背景限制了可重复的动态范围。
例如,Vinyl源产生劈哩啪啦的各种噪音;音质好一点的磁带源则有嘶嘶声,使系统动态范围至多只有60分贝。
随着时代的发展,新型音源出现了,几乎完全进入了数字时代。
唱片和磁带开始消失,让位于光盘(CD)。
市场希望在更小的器件上存储更多的音乐,这种需求催生出MP3等压缩技术,进而需要数字放大器电路来满足这些新型媒体。
数字记录设备和输出生成非常精确的声音。
16位数字录音可以精确到6000分之一,而相当于数字分辨率为12-13位的模拟录音精确度只有8,000分之一。
早期的数字放大器与模拟音源配合得很好,在某种程度上与数字音源的配合也不错,但最多只能生成分辨率为12~13.5位的音频。
新型的多媒体产品需要全16位的音频重现,以支持市场所要求环绕声、回响和音乐厅效果等越来越多的空间特点。
典型的D类数字放大器,有些具有模拟输入,有些具有数字输出,不能满足上述目标,因为尽管它们成本低和效率高,但缺乏生成精确音频所需的分辨率。
而且,这些元件甚至不能满足CD机、汽车立体声系统、DVD影碟机或MP3播放器等越来越普通的先进设备。
利用CD发行数字音频,消除了音频信号格式方面的一个弱点。
最终很轻便的手持式设备甚至都可以实现影院级音质。
理论上,数字音频信号是没有噪声的,它被作为一系列的“0”和“1”加以处理,没有给可能引起微小失真的噪声留下任何空间。
尽管现有的数字化处理技术较以前的技术已有所改善,但它们在音质、封装、性能、价格和核心技术方面还需要进行改进。
首先是音质,为了生成精确的音频,除了在音源上进行改进之外,在音频信号传输过程中,对音频信号的优化、处理也是一个重要的研究对象。
音频信号处理系统要求,音频信号在通过模/数转换及数/模转换后,要尽可能接近输入的模拟信号,做到尽量可能少的失真,还要把噪声尽可能地过滤到,达到完美的语音音质。
数字化信号处理技术能较好地完成此类任务,能很好地完成音频信号合成、编辑、效果处理、存储、传输等工作,但是数字化音频处理技术,也并不是要全部釆用数字信号而忽略模拟信号的处理,而是数字信号处理和模拟信号处理相结合,做到扬长避短,用数字化处理技术来完成传统音频处理无法或难以完成的部分,尽可能实现输出信号完美的音质,做到数字处理与模拟处理的和协统一是信号处理技术唯一目的。
实现音频信号的数字化处理一般有两种实现方法:
一种是采用专用或通用的信号处理器,通过处理器及一些辅助的结构组建一个独立的系统进行信号的实时处理,系统包括通用(专用)数字信号处理器芯片、接口芯片、存储芯片、信号转换芯片等组成。
这种方法常属于专用处理系统,可以开发成为拥有独立系统的产品使用。
另一种方法是用电脑作为主处理器,挂接几块数字化信号处理板组成数字化处理系统,主要用于音频识别、音频合成等。
1.2.3SOPC的特点及其应用
SOPC即可编程片上系统,它是System-on-a-Programmable-Chip的缩写。
顾名思义,可编程片上系统,即是用可编程逻辑技术把整个系统放到一块硅片上。
它是一种特殊的嵌入式系统:
首先它是片上系统(SOC),其次它是可编程系统。
所谓片上系统,即由单个芯片完成整个系统的主要逻辑功能;而可编程的优越性,使其具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
SOPC设计技术基本上涵盖了嵌入式系统设计技术相关的全部内容,这也体现了其巨大的优越性。
SOPC技术不仅仅涉及到以处理器和实时多任务操作系统(RTOS)为重点的软件设计技术和以信号完整性分析为基础的高速电路设计技术,它还涉及目前及其热门的软硬件协同设计技术。
传统的调试设备,如:
逻辑分析仪、数字示波器等等,已很难进行直接测试分析,而由于SOPC的设计是在在可编程逻辑器件中进行的,并且BGA封装已被大量应用在微封装领域中,因此,这对以仿真技术为基础的软硬件协同设计技术提出更高的要求。
同时,新的调试技术也不断出现,比如如Xilinx公司的片内逻辑分析仪ChipScopeILA就是一种价廉物美的片内实时调试工具。
SOPC包含了SOC和PLD、FPGA各自的优点,其基本特征,可总结如下:
1)包含至少一个嵌入式处理器内核;
2)具有小容量片内高速RAM资源;
3)可供选择的IPCore资源相当丰富;
4)片上可编程逻辑资源丰富;
5)处理器调试接口以及FPGA编程接口;
6)部分可编程模拟电路可能包含其中;
7)低功耗、单芯片、微封装。
基于NiosII的完整SOPC系统是一个既包含软件同时也包含硬件的系统,因此在设计时,可分为硬件部分和软件部分。
NiosII的硬件部分设计,其目的是为了定制合适的CPU和外设,这部分需要在SOPCBuilder和QuartusII中完成。
利用SOPCBuilder和QuartusII可以很方便定制NiosIICPU的许多特性或者指令,设计者可使用QuartusII中自带的大量IP核来加快开发速度,提高外设性能,同时也可以应用第三方的IP核来自行定制外设。
完成硬件部分的开发后,SOPCBuilder可自动生成与自定义CPU和外设地址映射、外设系统、存储器等相应的软件开发包SDK,然后在此基础上,进入软件开发流程。
设计者可使用汇编或C、C++等程序设计语言来进行嵌入式设计,编译以及调试。
SOPC的应用方向可总结如下:
1)基于FPGA中嵌入IP硬核的应用。
这种应用是指在FPGA中植入处理器。
这种设计可使得SOPC系统中硬件设计软件功能有机结合,高效地完成SOPC系统设计。
2)基于FPGA嵌入IP软核的应用。
这种应用是指在FPGA中植入软核处理器,通常为NIOSII核。
用户可依据设计要求,运用相应的EDA工具,构建处理器及外围设备,使该SOPC系统在软硬件结构设计、占用的资源、功能特点等方面全方位地满足客户系统的设计要求。
3)基于HardCopy技术的应用。
这种应用是指将成功实现于FPGA器件上的SOPC系统向ASIC转化。
把ASIC的市场优势和大容量FPGA的灵活性结合起来,这方面的应用对于有较大批量要求以及对成本极为敏感的电子产品极为有利,避开了直接设计ASIC的困难。
1.3课题研究的内容
本课题主要研究基于FPGA的音频处理技术,利用FPGA器件对音频处理芯片WM8731进行相关配置,实现对音频信号的处理。
本次设计涉及到的内容有基于NIOSII的SOPC系统构架,音频信号的录放,WM8731芯片的控制,I2C协议,SDRAM的读写。
图1、基于FPGA的音频处理系统
其主要内容包括对音频编/解码芯片WM8731的I2C总线配置模块的设计方法。
将FPGA与数字语音系统的优点相结合,设计出一个高质量、易操作、易于移植的语音录放系统。
2器件介绍
2.1WM8731
2.1.1WM8731概述
WM8731是一款具有低功耗、高品质的音频编码解码芯片,其自带有耳机驱动,MIC音频接口,专为便携数字音频应用而设计。
该器件可以提供CD音质的音频录音和回放,芯片自带集成耳机驱动器的立体声音频编解码器,采样率范围8kHz–96kHz,在一定模式下可直接生成一般MP3的所有采样率(incl.441.kHz)。
不仅如此,该芯片还可满足麦克风直接输入,同时拥有带有侧音混频器的驻极体偏压等优点。
该芯片内置耳机输出放大器,支持MIC和LINEIN两种输入方式,且对输入和输出都具有可编程增益调节,针对音频领域的应用,该芯片高度集成了模拟电路功能。
它能为用户提供在单个时钟源下可独立编程ADC和DAC的采样率的独特能力,其中模数转换和数模转换部件高度集成在芯片内部,且其采样频率为8KHZ-96KHZ可调,可转换的数据位长度为16-32位可调。
WM8731带有一个片上时钟发生器,支持多种时钟模式。
通过一个12MHz时钟,该器件可以直接生成44.1kHz、48kHz和96kHz等采样率,以及MP3标准定义的其他采样率,完全不需要一个独立的锁相环或晶振,并支持其他公用的主时钟频率。
WM8731内部有11个寄存器。
该芯片的初始化和内部功能设置是以控制接口对其内部的这11个寄存器进行相应的配置来实现的。
控制器可通过控制接口对WM8731中的寄存器进行编程配置,该控制接口符合的SPI(三线操作)和I2C(双线操作)规范。
通过对MODE端口的状态来选择控制接口类型。
WM8731支持右对齐、左对齐、I2S以及DSP四种数字音频接口模式,通过数字音频接口读写数据音频信号。
图2、WM8731原理图
2.1.2WM8731控制接口
WM8731的控制接口有4根引脚,分别为:
MODE(控制接口选择线)、CSB(片选或地址选择线)、SDIN(数据输入线)和SCLK(时钟输入线)。
它具有2线和3线两种模式。
2线为MPU接口,3线为兼容SPI接口。
对控制接口的配置选择可通过设置MODE脚的状态完成。
选择MODE为0时为2线模式,1时为3线模式。
本开发板电路中MODE为0,本设计采用2线模式对WM8731进行控制。
RADDR为34H,即WM8731的基址;DATAB15-8为寄存器地址,DATAB7-0为寄存器设置的参数;每传输一个字节都必须跟随一个应答位ACK,应答时钟脉冲由主器件生成。
SCLK的最大频率为526KHz。
WM8731内部有11个寄存器,该芯片的初始化以及工作时的状态和功能都是通过I2C总线方式对其内部的这11个寄存器进行相应的配置来实现的。
表一、WM8731内部寄存器地址及其功能介绍:
寄存器地址
00H
02H
04H
06H
08H
0A
0C
0E
10H
12H
1EH
功能
LeftLineIn
RightLineIn
Letf
Headphone
Out
Right
Headphone
Out
AnalogAudio
Path
Control
DigitalAudio
Path
Control
PowerDownControl
Digital
Audio
InterfaceFormat
SamplingControl
ActiveControl
Reset
Register
2.1.3数字音频接口
WM8731的数字音频接口有5根引脚,分别为:
BCLK(数字音频位时钟)、DACDAT(DAC数字音频数据输入)、DACIRC(DAC采样左/右声道信号)、ADC-DAT(ADC数字音频信号输出)、ADCLRC(ADC采样左/右声道信号)。
数字音频接口可以工作在主模式和从模式下。
地址为00001110(上表中0E)的寄存器的第6位设置数据的主/从模式:
“1”为主模式,“0”为从模式。
ADCDAT、/DACDAI和ADCLRC/DACLRC与位时钟BCIK同步,在每个BCLK的下降沿进行一次传输。
BCLK和ADCLRC/DACLRC在主模式时为输出信号,从模式下为输入信号。
DAC-DAT始终为输入信号,ADCDAT始终为输出信号。
输出支持4种音频数据模式:
右对齐、左对齐、I2S和DSP模式。
地址为00001110(上表中0E)的寄存器的第1~0位设置该模式:
该两位(高位在前)为11时即DSP模式;为10时即I2S模式;01时为左对齐模式;00时为右对齐模式。
简言之,要通过I2S模式控制WM8731,应向SDIN接口先发0X34H(WM8731基址,CSB=0时),然后发0X0E02(0EH为DATAB15-8所指寄存器,02H为该寄存器的配置数据00000010)
图3、左对齐模式
左对齐格式时,MSB在BCLK的第一个上升沿有效,紧接着是一个ADCLRC或DACLRC传输。
图4、右对齐模式
图5、I2S模式
图6、DSP模式
通过对寄存器的不同配置,可以设置传输的数据格式。
寄存器配置值如下:
寄存器地址00001110的1~0位设置音频格式:
“11”时为DSP’格式,“10”为I2S格式,“01”为左对齐格式,“00'’为右对齐格式。
3~2位设置字长:
“11”时为32位,“10”为24位,“01”为20位,“00'’为16位。
这四种音频格式都是高位(MSB)在前,16~32位。
但32位数据不支持右对齐模式。
图7、从模式连接
图8、数字音频从模式时序
2.2FPGA芯片介绍
本次课题使用的是基于Altera公司的FPGA芯片cycloneIVEP4C115F29C7,这款芯片功耗低、成本低,有高达114480个Ls,嵌入式存储器容量高达6.3Mb,具有更大的容量和极低的单位逻辑单元成本。
360个18*18乘法器,在完成DSP处理上拥有更大优势。
而其桥接应用,可实现小于1.5W的总功耗。
另外,这款芯片拥有3888kbit的M4K存储块,远远多于同系列芯片的其他芯片,4个通用PLL,20个全局时钟网络,8个用户I/O块,最大用户I/O高达528个也是远远超出同系列的其他芯片。
CycloneIVEP4C115F29C7芯片器件中的单一硬核IP模块都集成了×1,×2,或×4PCIe(PIPE)。
这一硬核IP模块是一个完整的PCIe(PIPE)协议解决方案,用于实现PHY-MAC层、数据链路层以及传输层的功能性。
PCIe(PIPE)模块的硬核IP支持根端口与端点配置。
这个预验证的硬核IP模块能够降低风险、缩短设计时间,减少时序收敛及