基于DSP的语音采集与回音效果的系统实现
发布时间:2008/5/27 0:00:00 访问次数:479
数字技术的应用几乎已经渗透到现代科技的每一个角落,而数字音频技术则是应用最广泛的领域之一。现在大量的数字音频设备已相当成熟,利用软件在已有的硬件平台上实现不同的功能已成为一种趋势,软件编程的灵活性给很多设备增加不同的功能提供了方便。和其它数字系统一样,dsp系统具有许多模拟系统所不具备的优点,如灵活、可编程,支持时分复用,易于模块化设计,可重复使用,可靠性高等。随着dsp技术的发展,以dsp为内核的设备越来越多。基于dsp技术的开发应用正在成为数字时代应用技术领域的潮流。
在实际生活中,当声源遇到物体时一般会发生反射,反射的声波和声源声波一起传输,听者会发现反射声波部分比声源声波慢一些从而形成回音。而现在,在已知一个数字音源后,也可以利用计算机,以数字方式通过计算来模拟回声效应。简单地讲。就是在原声音流中叠加延迟一段时间后的声流来实现回音效果。如此产生的回音,我们称之为数字回音。
1 主要器件介绍
本设计选用的tlv320aic23是ti公司生产的一款高性能的多媒体数字语音编解码器,它的内部adc和dac转换模块带有完整的数字滤波器,其数据传输宽度可以是16位、20位、24位和32位,采样频率范围为8~96 khz,并可通过控制接口来编辑该器件的控制寄存器,同时可支持spi和i2c两种控制模式。tlv320aic23的控制模式由modem管脚决定,本系统选用i2c模式。
tms320vc5509a是ti公司c5000 dsp系列中的新一代产品。该dsp对c54x有很好的继承性。并与c54x源代码兼容,从而有效地保护用户在软件上的投资。tms320vc5509a功耗低、成本低,并可在有限的功率条件下保持最好的性能。
2 系统方案设计
2.1 系统工作原理
该回音系统中的i2c接口模块由串行数据sda和串行时钟scl组成,sda和scl均为双向接口。连接在同一总线上的i2c设备可以工作在多主线工作模式下。包括tms320c55x dsp在内的每个i2c设备都有唯一的设备地址可供软件寻址。其中,主设备用于发送时钟并启动数据传输,被主设备寻址的则为从设备。这些设备根据各自的功能,既可以作为发送器,也可以作为接收器。
当系统进行初始化配置时,dsp通过i2c总线将配置命令发送到tlv320aic23,并在配置完成后tlvaic23开始工作。
对于dsp的多通道缓冲串口(mcbsp)设置,由于tlv320aic23采样输出的是串行数据,因此,需要协调好与之相配的dsp的串行传输协议。因而必须对dsp的串口进行正确设置。mcbsp串口一般可通过六个引脚让数据通路和控制通路与外部设备相连。数据经mcbsp串口与外没的通信一般通过dr和dx脚来传输,控制同步信号则由clkx、clkr、fsx、fsr等四引脚来完成。由于mcbsp串口的数据线dr和dx带有缓存寄存器,而帧同步信号fsx、fsr以及时钟信号clkx、clkr都具有可编程性,因此,它与tlv320a-ic23之间的接口设计非常灵活。从这些特点可以看到:将mcbsp串口设置为spi模式,并使串口的接收器和发送器同步,然后由tlv320aic23的帧同步信号lrcin、lrcout启动串口传输,同时将发送接收的数据字长设定为32 bit (左声道16bit,右声道16 bit)单帧模式,就可以方便地实现与tlv320aic23之间的无缝连接。
输入语音信号时,tlv320aic23先通过其中的ad转换采集输入的语音信号,每采集完一个信号便将数据发送到dsp的mcbsp接口上,以便dsp可以读取语音数据。每个数据均为16位无符号整数,左右通道各有一个数值。
语音信号输出时,可由dsp将语音数据通过mcbsp接口发送给tlv320aic23,再由tlv320aic23的da器件将他们变成模拟信号输出。
2.2 硬件电路设计
tlv320aic23能在数字和模拟电压下工作,并可与tms320c55x dsp的i/o电压兼容,因而能够实现与c55x dsp的mcbsp (多通道缓冲串口)端口的无缝连接,以使系统设计更加简单。
系统中,tlv320aic23的主时钟11.2896mhz直接南dsp时钟产生,mode接数字地表示利用i2c控制接口来对tlv320aic23数据进行传输控制。sclk和sdin是tlv320aic23控制端口的移位时钟和数据输入端,它们将分别与tms320vc5509的i2c模块端口scl和sda相连。tms320vc5509a的mcbsp0应工作在spi模式下,这样可使mcbsp0的接收器和发送器同步。收发时钟信号clkx0和clkr0由tlv320aic23的串行数据传输时钟bclk提供,并由tlv320aic23的帧同步信号lrcin、lrcout启动串口数据传输,dx0和dr0分别与tlv320aic23的din和dout相连,可用于完成dsp与tlv320aic123之间的数字通信。
2.3 软件设计
本系统的软件主要由程序和数字回音处理程序两部分组成。其中主程序主要完成系统的初始化,如emif(外部存储器接口)、cpu频率、tlv320aic23的初始化等,结束之后,再循环调用数字回音模块;数字回音模块主要用于初始化语音缓冲区和工作变量、读取语音数
数字技术的应用几乎已经渗透到现代科技的每一个角落,而数字音频技术则是应用最广泛的领域之一。现在大量的数字音频设备已相当成熟,利用软件在已有的硬件平台上实现不同的功能已成为一种趋势,软件编程的灵活性给很多设备增加不同的功能提供了方便。和其它数字系统一样,dsp系统具有许多模拟系统所不具备的优点,如灵活、可编程,支持时分复用,易于模块化设计,可重复使用,可靠性高等。随着dsp技术的发展,以dsp为内核的设备越来越多。基于dsp技术的开发应用正在成为数字时代应用技术领域的潮流。
在实际生活中,当声源遇到物体时一般会发生反射,反射的声波和声源声波一起传输,听者会发现反射声波部分比声源声波慢一些从而形成回音。而现在,在已知一个数字音源后,也可以利用计算机,以数字方式通过计算来模拟回声效应。简单地讲。就是在原声音流中叠加延迟一段时间后的声流来实现回音效果。如此产生的回音,我们称之为数字回音。
1 主要器件介绍
本设计选用的tlv320aic23是ti公司生产的一款高性能的多媒体数字语音编解码器,它的内部adc和dac转换模块带有完整的数字滤波器,其数据传输宽度可以是16位、20位、24位和32位,采样频率范围为8~96 khz,并可通过控制接口来编辑该器件的控制寄存器,同时可支持spi和i2c两种控制模式。tlv320aic23的控制模式由modem管脚决定,本系统选用i2c模式。
tms320vc5509a是ti公司c5000 dsp系列中的新一代产品。该dsp对c54x有很好的继承性。并与c54x源代码兼容,从而有效地保护用户在软件上的投资。tms320vc5509a功耗低、成本低,并可在有限的功率条件下保持最好的性能。
2 系统方案设计
2.1 系统工作原理
该回音系统中的i2c接口模块由串行数据sda和串行时钟scl组成,sda和scl均为双向接口。连接在同一总线上的i2c设备可以工作在多主线工作模式下。包括tms320c55x dsp在内的每个i2c设备都有唯一的设备地址可供软件寻址。其中,主设备用于发送时钟并启动数据传输,被主设备寻址的则为从设备。这些设备根据各自的功能,既可以作为发送器,也可以作为接收器。
当系统进行初始化配置时,dsp通过i2c总线将配置命令发送到tlv320aic23,并在配置完成后tlvaic23开始工作。
对于dsp的多通道缓冲串口(mcbsp)设置,由于tlv320aic23采样输出的是串行数据,因此,需要协调好与之相配的dsp的串行传输协议。因而必须对dsp的串口进行正确设置。mcbsp串口一般可通过六个引脚让数据通路和控制通路与外部设备相连。数据经mcbsp串口与外没的通信一般通过dr和dx脚来传输,控制同步信号则由clkx、clkr、fsx、fsr等四引脚来完成。由于mcbsp串口的数据线dr和dx带有缓存寄存器,而帧同步信号fsx、fsr以及时钟信号clkx、clkr都具有可编程性,因此,它与tlv320a-ic23之间的接口设计非常灵活。从这些特点可以看到:将mcbsp串口设置为spi模式,并使串口的接收器和发送器同步,然后由tlv320aic23的帧同步信号lrcin、lrcout启动串口传输,同时将发送接收的数据字长设定为32 bit (左声道16bit,右声道16 bit)单帧模式,就可以方便地实现与tlv320aic23之间的无缝连接。
输入语音信号时,tlv320aic23先通过其中的ad转换采集输入的语音信号,每采集完一个信号便将数据发送到dsp的mcbsp接口上,以便dsp可以读取语音数据。每个数据均为16位无符号整数,左右通道各有一个数值。
语音信号输出时,可由dsp将语音数据通过mcbsp接口发送给tlv320aic23,再由tlv320aic23的da器件将他们变成模拟信号输出。
2.2 硬件电路设计
tlv320aic23能在数字和模拟电压下工作,并可与tms320c55x dsp的i/o电压兼容,因而能够实现与c55x dsp的mcbsp (多通道缓冲串口)端口的无缝连接,以使系统设计更加简单。
系统中,tlv320aic23的主时钟11.2896mhz直接南dsp时钟产生,mode接数字地表示利用i2c控制接口来对tlv320aic23数据进行传输控制。sclk和sdin是tlv320aic23控制端口的移位时钟和数据输入端,它们将分别与tms320vc5509的i2c模块端口scl和sda相连。tms320vc5509a的mcbsp0应工作在spi模式下,这样可使mcbsp0的接收器和发送器同步。收发时钟信号clkx0和clkr0由tlv320aic23的串行数据传输时钟bclk提供,并由tlv320aic23的帧同步信号lrcin、lrcout启动串口数据传输,dx0和dr0分别与tlv320aic23的din和dout相连,可用于完成dsp与tlv320aic123之间的数字通信。
2.3 软件设计
本系统的软件主要由程序和数字回音处理程序两部分组成。其中主程序主要完成系统的初始化,如emif(外部存储器接口)、cpu频率、tlv320aic23的初始化等,结束之后,再循环调用数字回音模块;数字回音模块主要用于初始化语音缓冲区和工作变量、读取语音数