2024年4月28日发(作者:蒋山灵)
基于FPGA的音频系统应用简述
摘要:基于FPGA器件的音频信号处理的实现方案,在于对声音信号的收集、处理
及应用,工作的重点是在噪声环境中能有效地地把需要的语音信号提取出来开,消
除或者衰减噪声,从而得到一个良好的高性能高品质的音频系统。
关键词:FPGA;音频;EDA;I2S总线;VHDL
数字化为音频系统带来了诸多优点,如高集成度、多功能、小体积、低功耗
等。可编程逻辑器件是一类可以由使用者自行编程的芯片。它自身没有任何功能,
但可以通过写入不同的程序,实现各种不同的功能。另一方面,EDA技术的诞生
和进步,也带动了可编程逻辑器件的发展与应用。目前主流的可编程逻辑器件可
分为:CPLD和FPGA两类,而在音频相关的设计和应用中,FPGA已经广泛应用
在各式各样的音频系统中发挥着各种不同的强大功能。数万元的音频接口凭借
FPGA实现了16路甚至更多音频流的同时输入输出,几百元的USB声卡就拥有了
以往数千元的设备才拥有的播放品质,这些在将FPGA引入音频设计之前几乎都
是难以想象的。
技术介绍
电子设计自动化(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技术将设计的电路放在可编程
器件中做功能验证,验证通过后再流片生产。但对于产量不大的芯片,流片的性
价比相当低,所以直接使用编程后的可编程器件制作产品也成为了各种设计人员
和厂商的常用做法。
音频系统应用
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器件的音频信号处理的实现方案,在于对声音信号的收集、处理及
应用,工作的重点是在噪声环境中如何能有效地地把需要的语音信号提取出来开,
消除或者衰减噪声,从而得到一个良好的高性能高品质的音频系统。
2024年4月28日发(作者:蒋山灵)
基于FPGA的音频系统应用简述
摘要:基于FPGA器件的音频信号处理的实现方案,在于对声音信号的收集、处理
及应用,工作的重点是在噪声环境中能有效地地把需要的语音信号提取出来开,消
除或者衰减噪声,从而得到一个良好的高性能高品质的音频系统。
关键词:FPGA;音频;EDA;I2S总线;VHDL
数字化为音频系统带来了诸多优点,如高集成度、多功能、小体积、低功耗
等。可编程逻辑器件是一类可以由使用者自行编程的芯片。它自身没有任何功能,
但可以通过写入不同的程序,实现各种不同的功能。另一方面,EDA技术的诞生
和进步,也带动了可编程逻辑器件的发展与应用。目前主流的可编程逻辑器件可
分为:CPLD和FPGA两类,而在音频相关的设计和应用中,FPGA已经广泛应用
在各式各样的音频系统中发挥着各种不同的强大功能。数万元的音频接口凭借
FPGA实现了16路甚至更多音频流的同时输入输出,几百元的USB声卡就拥有了
以往数千元的设备才拥有的播放品质,这些在将FPGA引入音频设计之前几乎都
是难以想象的。
技术介绍
电子设计自动化(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技术将设计的电路放在可编程
器件中做功能验证,验证通过后再流片生产。但对于产量不大的芯片,流片的性
价比相当低,所以直接使用编程后的可编程器件制作产品也成为了各种设计人员
和厂商的常用做法。
音频系统应用
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器件的音频信号处理的实现方案,在于对声音信号的收集、处理及
应用,工作的重点是在噪声环境中如何能有效地地把需要的语音信号提取出来开,
消除或者衰减噪声,从而得到一个良好的高性能高品质的音频系统。