实时数字音效处理

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

实时数字音效处理

第一章 前言

由于各种模拟的音频信号可以数字化,人们可以很方便的对这些数字音频信号进行处理,以得到自己所需要的音效。各种新型数字声音音源相继出现(如MP3,Mini-Disk ,DVD )。所有这些都为数字音频系统创造了崭新的需求。随着DSP 的普遍应用和数字信号处理技术的发展,对声音信号进行实时处理成为可能,DSP 的速度越来越快以及各种快速算法的应用,在上面可以进行各种复杂的数字音效实时处理,如均衡,混响。可应用于各种数字音频播放器的音频后处理,为五彩缤纷的音乐添加更多的色彩。

第二章 硬件系统

1 硬件系统框图

图1 硬件系统框图

2

硬件系统实现

为了灵活,方便快捷的开发本系统,整个系统全部在56F826EVM 板上实现。实时数字音效处理系统是一个典型的数字信号处理系统,外界模拟信号输入,经过模数变换转化成数字信号存储在数字系统中,经过快速DSP 的实时处理后,送到数模变换器以模拟的形式输出,本系统的重点在于DSP 对数字信号进行实时处理的算法和存储区的合理分配,因为56F826EVM 板给我们提供了模拟输入输出接口,AD/DA 变换器,外挂存储器,中断按键可以用来提供简单的控制功能,所以它为数字实时音效处理提供了一个比较完善,稳定的硬件系统。 DSP 56F826

Audio A/D 原始 音频信号

Audio D/A

有音效的 音频信号

键盘 控制

液晶 显示

PCM 输入

PC

1)Motorola DSP56F826 EVM开发板的介绍

DSP56F826是Motorola 公司为了演示DSP56F826功能并且为用户提供一个硬件开发平台而做的一套开发系统,板上有DSP56F826,16位Stereo Codec,片外内存和可扩展端口。

56F826可以在80Mhz下工作,运算速度可以达到40MIPS,使音效的实时处理成为可能,外挂存取时间为10ns的静态存储器,配置成16K×16bit的程序存储区和16K×16bit的数据存储区,DSP在70Mhz下可以对外部存储器进行零等待存取。而音效处理需要大量的滤波,卷积运算,需要延时,很多中间结果需要保存,必须有巨大的存储量,经过预测和实际设计的检验,56F826EVM提供了足够大的存储量。1M串行EEPROM,DSP可以通过SPI访问,可以在EEPROM里预先存入音频或者语音信号,给设计带来多样化。如上所述,DSP56F826为音频信号处理提供了一个很好的开发平台,下面对和系统关系密切的硬件进行详细说明:

●外部程序和数据存储区

评估板上的外部数据和程序存储区由一块芯片GS72116组成,它是128K×16bit的快速静态存储器,它的物理区域分成两块64K×16bit的逻辑区域,如下图所示,逻辑分区是通过程序存储区访问信号PS和存储器地址线A0实现的,DSP工作在70Mhz频率下能0等待存取外部存储器的数据,工作在80Mhz频率下时必须有四个等待的时间,跳线JG3连通时存储器有效,由于本系统要用到外部数据存储区,所以JG3一直是连着的。

●时钟源

将JG4的2和3相连,JG5的1和2相连,DSP的时钟由4M的晶体提供,为了达到80M的最高工作频率,56F826通过它的PLL将输入的4M频率放大20倍即可,设置PLL里的寄存器就可以达到目的,同时考虑到访问外部存储器的零等待,只能将工作频率设置在68M(小于70M),将输入4M频率放大17倍。

图二外部程序和数据存储器

●数字专用AD/DA(Stereo Codec)

16位立体声Codec,CS4218和DSP56F826的SSI端口相连,支持音频,语音和信号分析处理,评估板上有一个的晶振和Codec相连,这样Codec的抽样频率能在8KHz和48Khz中进行选择,数字音效处理进行的是高保真的音效处理,所以我们选择的抽样频率为48KHz,通过设置三个拨动开关到相应的位置即可。

●模拟输入输出

评估板上有立体声线路输入,线路输出,立体声耳机输出。

图三模拟输入输出部分

●数字接口

DSP和Codec通讯是通过SSI接口实现,SSI与Codec的连接如图四,DSP上的STD管脚是用来输出串行数据到Codec上到,SRD是输入端口,接收CS4218送来的串行数据,分别和CS4218的串行输入和输出管脚SDIN,SDOUT相连。

STCK是串行传送时钟,管脚提供传送数据的波特率。STFS提供串行数据通讯的侦同步。

图四DSP56F826与CS4218的连接

DSP56F826的通用IO端口D的PD1,PD2,PD3用来对CS4218的工作方式进行编程。

虽然说数字音效涉及到复杂的数字信号处理运算,DSP56F826的40MIPS的运算能力为音效处理提供足够的速度,足够的片内内存和扩展内存为音效处理提供足够大的缓冲,以及快速算法的利用使实时音效处理成为可能。

第三章软件流程

1.在56F826上实现音效处理的流程图

主程序 接收数据中断程序

注:发送数据中断程序流程图同接收数据中断程序

2.系统实现

Codec 每次向传送一个16bit 的采样数据以后,将引发DSP56F826的SSI 接受中断,DSP 把接受到的数据存入到系统的输入缓存里,同时对已经存入缓存的音频数据进行各自处理,经过一些变换存入到系统的输出缓冲,而DSP56F826的SSI 输出中断程序会定时执行从输出缓存里取数,经过Codec 以模拟的方式输出。数字音效实时处理得以实现。

开始

系统初始化:设置DSP 工作频率,工作模式等环境变量

硬件初试化:包括CODEC 的工作方式,SSI 的各个参数及中断优先权,开SSI 发送接收中断

对音频输入缓冲区的一帧数据进行处理,将结果输出到音频输出缓冲区中

等待:缓冲区完成接收由中断程序送来的一帧数

将SSI 中接收寄存器的数据写入到接收数据指针所指向的音频输入缓冲区的某个位置,修改接收数据指针并

保存

中断程序入口

保存中断程序用到的寄存器

恢复寄存器的值退出中断服务程序

相关文档
最新文档