浅谈OMAP5912在语音采集系统的应用
0 引 言
语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门新兴学科。语音信号处理的应用极为广泛,其中的主要技术包括语音编码、语音合成、语音识别和语音增强等。语音识别就是让计算机听懂人的话,并做出正确的反应。目前主流的语音识别技术是基于统计模式识别的基本理论。同时,随着高性能数字信号处理器(Digital Signal Processor,DSP)的日益普及,数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。利用DSP对语音信号处理进行算法研究和实时实现正成为新的热点。在此设计并实现了一种语音采集系统。该系统为语音信号处理的算法研究和实时实现提供一个通用平台。
1 芯片简介
OMAP5912采用独特的双核结构,内含1个实现控制功能的带有TI增强型ARM926EJ—S(简称ARM9)内核的处理器和1个实现数据处理功能的高性能、低功耗TMS320C55x DSP(简称DSP)内核。ARM9处理器可用来实现各种通信协议、通信协议(communications protocol)是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。这个规则就是通信协议。控制和人机接口;DSP具有多条数据地址总线,非常适合数据密集的多媒体处理,并具有极低的功耗。
TLV320AIC23(简称AIC23)是TI推出的一款高性能的立体声音频Codec芯片,内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma—delta过采样技术,可以在8~96 kHz的频率范围内提供16 b,20 b,24 b和32 b的采样,ADC和DAC的输出信噪比分别可以达到90 dB和100dB。
2 系统的硬件设计
2.1 系统的硬件结构
语音采集系统主要包括两个模块:以AIC23为核心的语音采集模块;以OMAP5912的DSP为核心的语音数据接收处理模块。
为使AIC23正常工作在需要的状态下,必须通过I2C总线对其进行配置。AIC23采集的语音信号经过A/D转换后,通过McBSPl传送到接收寄存器DRR,然后经DMA通道传送至接收缓冲区。存放在发送缓冲区的数据,通过DMA通道传送到McBSPl的发送寄存器DXR,DMA---Direct Memory Access,直接内存访问,是一种数据传输模式。DMA方式下不直接访问CPU,而在RAM与设备之间传输,从而大大提高了数据传输速度。然后传送至AIC23,经过D/A转换后,由HEADPHONE输出,如图1所示。
2.2 系统的硬件接口设计
利用OMAP5912的I2C总线和McBSPl完成对AIC23的控制和通信。I2C总线与AIC23的控制口相连,McBSPl与AIC23的数据口相连。AIC23设置为Master模式,向McBSPl提供时钟和帧同步信号。McBSPl.DX作为AIC23的输入通道,McBSPl.DR作为AIC23的输出通道,如图2所示。
3 系统的软件设计
系统的软件分两个方面来说明:主程序和中断服务程序。
3.1 主程序
因为OMAP5912为双核结构,且ARM9为主控制器,所以首先必须在ARM9侧进行OMAP5912的初始化,让DSP退出复位状态,这里仅需调用TI提供的OSK5912 Board Support Library中的OSK5912_init()函数即可。然后在DSP侧进行CPU、I2C总线、McBSPl、DMA的初始化,以及AIC23芯片的配置,如图3所示。
限于篇幅,在此仅说明通过I2C总线配置AIC23的过程。AIC23芯片是一个可编程的芯片,内部有11个16位寄存器决定芯片的工作状态。图2中的MODE引脚决定控制接口的工作模式:MODE=O为I2C模式,MODE=1为SPI模式。系统采用的是I2C模式,即由DSP通过I2C总线完成对AIC23的初始化。I2C总线作为ARM9和DSP的共享设备,其使用权由图1中的寄存器I2C SSW MPU CONF和DSPI2C SSW CONF决定,在默认的情况下由ARM9使用。为了让DSP能使用I2C总线,I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少
- Linux嵌入式系统开发平台选型探讨(11-09)
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- Linux内核解读入门(11-09)
- linux文件系统基础(02-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)