基于FPGA的音频系统应用简述

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于FPGA的音频系统应用简述

发表时间:2019-01-02T14:16:07.557Z 来源:《信息技术时代》2018年2期作者:李长云1 李广德2

[导读] 基于FPGA器件的音频信号处理的实现方案,在于对声音信号的收集、处理及应用,工作的重点是在噪声环境中能有效地地把需要的语音信号提取出来开,消除或者衰减噪声

(1青海省西宁市湟中县广播电视局,青海湟中 811600;2青海交通职业技术学院,青海西宁 810003)

摘要:基于FPGA器件的音频信号处理的实现方案,在于对声音信号的收集、处理及应用,工作的重点是在噪声环境中能有效地地把需要的语音信号提取出来开,消除或者衰减噪声,从而得到一个良好的高性能高品质的音频系统。

关键词:FPGA;音频;EDA;I2S总线;VHDL

数字化为音频系统带来了诸多优点,如高集成度、多功能、小体积、低功耗等。可编程逻辑器件是一类可以由使用者自行编程的芯片。它自身没有任何功能,但可以通过写入不同的程序,实现各种不同的功能。另一方面,EDA技术的诞生和进步,也带动了可编程逻辑器件的发展与应用。目前主流的可编程逻辑器件可分为:CPLD和FPGA两类,而在音频相关的设计和应用中,FPGA已经广泛应用在各式各样的音频系统中发挥着各种不同的强大功能。数万元的音频接口凭借FPGA实现了16路甚至更多音频流的同时输入输出,几百元的USB声卡就拥有了以往数千元的设备才拥有的播放品质,这些在将FPGA引入音频设计之前几乎都是难以想象的。

1.EDA技术介绍

电子设计自动化(EDA)是一种以电子计算机为平台,用于设计集成电路、印刷电路板等电子系统的一系列软件技术和工具。一般来说,完整的EDA设计流程所需要的工具和涉及到的技术有以下几方面:

(1)设计、输入、编辑:EDA中的输入编辑器不仅支持传统的原理图输入,最重要的是可以使用各类硬件描述语言(HDL)来进行输入设计,可以说,硬件描述语言是EDA技术的根本。同时,EDA技术也采用了两种先进的设计思路:自顶向下和模块化设计。这种设计方法的思路是首先从顶层进行系统功能的划分和总体结构的设计,再一步步向下进行更底层的设计。

(2)逻辑综合:逻辑综合器的功能是将输入的原理图或HDL文件,根据指定的硬件芯片,进行编译、优化和综合工作,将高级别的描述文件转换为低级别的RTL级电路,并生成适用于硬件的网表文件。很显然,综合工作是将软件层面的的描述与实际硬件结构建立关联的重要步骤。

(3)适配:适配是将综合后的网表文件进一步根据指定目标器件,生成最终的下载文件的过程。

(4)仿真:EDA下的仿真不仅可以进行功能仿真,而且可以针对目标器件的特性进行时序仿真,这就使得EDA中得到的仿真结果跟实际器件所运行得到的结果一致性很高。

(5)IP核:IP核技术同样是EDA的重要组成部分。IP核是一种将设计好的功能电路打包成一个模块,以便重复使用。IP核有多种形式,直接固化在芯片上供使用的IP核称为硬核,硬核稳定性较好且难以被复制,但无法根据需求进行修改,使用也不够灵活。软核则是一种基于硬件描述语言的IP核,便于修改,使用较为灵活。

EDA的主要目标是设计集成电路,特别是ASIC。ASIC是一种专用集成电路芯片,针对某种特定用途而设计,因此ASIC通常具有很高的性能体积比。但是传统的ASIC设计方法难度大、成本高、周期长,所以出现了很多简化ASIC设计流程的芯片制造方式,而其中最契合EDA技术的便是可编程逻辑器件(PLD)。

可编程逻辑器件是一种可以由开发人员进行编程以赋予不同功能的器件。与MCU所不同的是,MCU编入的程序是基于指令运行的,但对PLD编入的程序实际上转化成了相应的硬件电路,执行也是硬件级别的。这使得可编程逻辑器件与其它一些可编程处理器有着本质的区别。可编程逻辑器件历经多年发展,技术不断更迭。目前主流的可编程逻辑器件分为CPLD和FPGA。

现代数字集成电路的设计过程通常是使用EDA技术将设计的电路放在可编程器件中做功能验证,验证通过后再流片生产。但对于产量不大的芯片,流片的性价比相当低,所以直接使用编程后的可编程器件制作产品也成为了各种设计人员和厂商的常用做法。

2.FPGA音频系统应用

FPGA自身的诸多特性决定其十分适合用作音频处理。FPGA拥有优秀的时钟管理能力,高精度的时钟对于音频系统的音质至关重要。如早期的USB声卡虽然使用方便,但普遍存在音质不佳的缺陷,其中一个重要原因便是USB总线的时钟精度不高,使得数字音频信号的抖动比较严重,难以解决。而现在很多USB声卡将FPGA芯片纳入设计中,使用FPGA管理时钟信号。由于现代FPGA内建有高质量的时钟单元(如Altera FPGA中的PLL和Xilinx FPGA中的DCM), USB声卡的数字信号精度大大提高,使得采用了这类设计的USB声卡音质有了质的提升。同时现代FPGA集成有各种基础DSP和软核处理器(如Altera的Nios II),设计者可以不使用额外的微处理器芯片便可实现一些效果和控制功能,降低了开发成本,提升了开发效率。此外,FPGA的I/O资源丰富,非常适合设计对I/O数量和性能有较高要求的音频设备。对比其他各类芯片,FPGA也有其性能方面的优势:

(1)与通用微处理器(如各类MCU,ARM/DSP处理器等)相比,FPGA时钟精度更高。由于音频处理对实时性的高要求,传统的微处理器由于顺序处理、基于指令运算的特性很难达到令人满意的低延时和抖动(JITTER),而FPGA并行处理、基于硬件电路运算的特性在处理音频时拥有微处理器难以比拟的超低延迟和较强的抗时域抖动能力。

(2)与同为可编程逻辑器件的CPLD相比,FPGA自身时序逻辑结构丰富的特点决定了其在音频处理中的优势地位,相比之下,若作音频处理,CPLD有着相对过剩的组合逻辑电路,而缺乏足够的时序逻辑电路,显然没有FPGA合适。另一方面,目前在可编程逻辑器件领域中,FPGA已成为主流,产品更新的速度远比CPLD快,技术更为先进,选择也更为多样。在实际应用中,也鲜有将CPLD作为核心器件的音频系统产品。

基于FPGA器件的音频信号处理的实现方案,在于对声音信号的收集、处理及应用,工作的重点是在噪声环境中如何能有效地地把需要的语音信号提取出来开,消除或者衰减噪声,从而得到一个良好的高性能高品质的音频系统。

相关文档
最新文档