![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| TMS320VC5509在公安数字集群语音处理中的应用 | |||||
作者:61IC 文章来源:本站原创 点击数: 更新时间:2006-5-7 ![]() |
|||||
|
摘要:本文介绍了由DSP芯片TMS320VC5509与音频CODEC芯片TLV320AIC23组成的一个语音处理系统,并结合系统的硬件接口设计,详细阐述了TMS320VC5509 DSP软件设计的方法,以及如何采用DMA方式实现快速的数字音频传输。 关键词:TMS320VC5509 TLV320AIC23 DMA 语音处理 一、芯片简介 TMS320VC5509是TI公司推出的一款低功耗高性能的16位定点数字信号处理器(DSP),最高可以运行在144MHz的主频。它基于TMS320C55x DSP的核,达到了C54x两倍的周期效率,而功耗则只有C54x的1/6。C55x DSP具有强大的并行特性以及方便用户编程的指令流水线的自动保护机制,保证了指令的高效率执行。C5509采用统一编址的方式来划分存贮空间,程序与数据总线均能对其访问,从而使C5509便于大量数据的处理与程序的优化。C5509具有DMA控制器、时钟发生器、定时器、I2C总线控制器、McBSP串口等丰富的外围设备,片内还集成了128K 16Bits的SRAM,并具有EMIF接口,可以与SDRAM无缝连接,为完成复杂的语音算法提供了可能。 TLV320AIC23是TI生产的一款高性能的立体声音频Codec芯片,片上包含了耳机输出放大器,支持MIC和LINE IN两种输入方式,且对输入和输出都具有可编程增益调节。AIC23的模数转换(A/D)和数模转换(D/A)部件集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪比分别可以达到90dB和100dB。与此同时,AIC23还具有很低的能耗。由于具有上述优点,AIC23可以很好的应用在手持式数字音频播放和录音设备。 结合这两种芯片的优点,可以很方便地设计出一个能够实现数字音频采集、播放和传输功能的语音处理系统。 二、硬件结构介绍 TLV320AIC23与TMS320VC5509的接口有两个:一个是控制接口,用于设置AIC23的工作参数;另一个是数字音频接口,用于输入/输出AIC23的A/D、D/A数据。 TLV320AIC23的控制接口有两种工作方式,分别为:2线制的I2C方式以及3线制的SPI方式。由于C5509具有I2C总线,所以直接使用I2C方式来控制AIC23比较方便。这时需要将AIC23的MODE管脚置低。C5509作为I2C总线的主设备,AIC23作为从设备。AIC23的内部有11个控制寄存器。C5509通过I2C总线给AIC23设置好相应的寄存器值,就可以启动AIC23开始正常工作了。 TLV320AIC23的数字音频接口一般可采用IIS(一种通用的音频格式)与DSP两种模式,这两种工作方式均可以方便的与C5509的McBSP串口(Multi-channel buffered serial port,多通道缓存串口)相连接,区别只在于McBSP帧信号的宽度不同。我们采用的是DSP模式,此时McBSP的接收时钟和AIC23的BCLK都由McBSP的发送时钟提供。 TLV320AIC23的主时钟直接由DSP时钟产生,MODE接数字地表示利用I2C控制接口来对TLV320AIC23进行传输控制。SCLK和SDIN是TLV320AIC23控制端口的移位时钟和数据输入端,它们分别与TMS320VC5509的I2C模块端口SCL和SDA相连。收发时钟信号CLKX0和CLKR0由AIC23的串行数据传输时钟BCLK提供,并由TLV320AIC23的帧同步信号LRCIN、LRCOUT启动串口数据传输。C5509的McBSP0数据发送端DX0和数据接收端DR0分别与AIC23的DIN和DOUT相连,可完成DSP与AIC23之间的数字通信。 三、DSP软件设计 本系统的工作流程是:模拟音频从麦克风端(MICIN)输入,经过AIC23进行A/D转换,通过数字音频接口将采样后的数据串行输出到与之相连的C5509 DSP,DSP对这些数据进行语音编解码、信道编解码等一系列算法处理后,再将处理过的数据通过数字音频接口输入给AIC23,AIC23进行D/A转换,由耳机端(LHPOUT)输出结果。 在进行DSP软件编程时,先使用I2C总线对AIC23的各个控制寄存器进行配置。I2C总线由一条串行数据线SDA和一条串行时钟线SCL组成,可进行输入输出双向传输。通过I2C总线向AIC23写入一个16bit的数据,高字节中的高7位是控制寄存器的地址,余下的9个bit是要写入的配置值。我们将AIC23设置为8K采样率,MIC输入,USB模式。 由于AIC23采样输出的是串行数据,因此要对DSP的McBSP串口进行正确的设置。McBSP分为数据通道和控制通道两部分。DR和DX引脚分别负责数据的收发,发送时钟引脚CLKX、接收时钟引脚CLKR、发送帧同步引脚FSX和接收帧同步引脚FSR提供串行时钟和控制信号。将McBSP串口0设置为禁止回环,并将收发的数据设为16bit单帧模式,就可以方便地实现与AIC23之间的无缝连接。 接下来介绍一下数字音频接口的软件设计。我们采用了DMA方式来实现AIC23与C5509的McBSP口的数据交换。DMA方式就是无需CPU介入,在内部存储器、外部存储器以及芯片外设之间进行数据的传输和搬移,这样可以减少CPU占用的时间,保证数据收发处理的实时性。DMA具有以下几个特点: 有4个标准端口与DARAM、SARAM、外部存储器以及外围设备相连; 具有6个通道,允许DMA控制器跟踪这6个独立通道的内容; 可以设置每个通道的优先级,每个通道的传输可由选定事件触发; 源地址和目标地址的改变都是可编程的; DMA可以独立于CPU工作,并且可以在软件控制下配置为idle状态。 McBSP串口每发送或接收到一个单元,都会自动触发DMA将其搬送到一个内部数据缓冲区,当缓冲区收满或发空后,通过中断方式告诉CPU进行处理。DMA通道一次传输一个数据块,一个数据块由若干帧构成。根据Tetra标准,我们将一个数据单元定义为16bit的一个字,240个字构成一帧,一个数据块包含一个单帧。AIC23的采样率为8K,故一帧的收发时间为30ms。因为要进行连续的收发,当一个缓冲区满了(接收)或空了(发送)时要自动切换到下一个缓冲区,因此要将DMA控制器设为ABU(Auto Buffering)模式。在这种模式下,DMA会在传完一个数据块后,将配置参数从配置寄存器拷到工作寄存器,然后继续传输下一个数据块。 我们可以定义数据缓冲区Buffer0和Buffer1,长度均为一个帧长。设置一个DMA接收通道和一个DMA发送通道,并打开C5509的McBSP串口0进行音频数据的输入和输出。将DMA接收通道的源地址设为McBSP串口0的数据发送寄存器1(DXR10),目的地址设为Buffer0的首地址。将DMA发送通道的源地址设为Buffer0的首地址,目的地址设为McBSP串口0的数据接收寄存器1(DRR10)。当Buffer0满了(接收)或空了(发送)都会给CPU发出中断。在接收中断处理程序里,将接收通道的目的地址设为Buffer1的首地址。在发送中断处理程序里,将发送通道的源地址设为Buffer1的首地址。当Buffer1满了(接收)或空了(发送)触发中断后,再将接收通道的目的地址和发送通道的源地址设为Buffer0。依此类推,DMA控制器在两个缓冲区之间自动进行切换,实现连续的数据传输。 我们根据这一设计思想,已经完成了公安数字集群语音处理系统的DSP程序设计,在硬件平台上运行稳定,效果良好。 四、结束语 TMS320VC55x系列DSP将丰富的外围设备和高性能低功耗结合在一起,具有极高的性价比,适用于无线通信、便携式、手持式多媒体设备,在媒体娱乐终端、个人识别、保密技术以及数码音像等产品中有着广泛的应用。用C55x DSP来实现一系列音频、视频、信道的编解码算法,这是我们公安数字集群系统的一个应用发展方向。可以预见,随着DSP芯片性价比的不断提高和新的实用DSP算法的不断出现,DSP系统的应用在深度和广度上会有更大的发展。 |
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| TMS320VC5009的UART程序 基于DDK的TLV320AIC23型编解… 基于软件无线电的发信机原理… |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|