基于DSP双路音频信号实时处理系统设计

2011-08-26 17:16:05来源: 现代电子技术
   

摘要 采用TMS320C5509A作为核心处理器,给出了一种利用DMA结合多通道缓冲串口McBSP组成的语音信号采集系统的实现方法。合理分配了数据缓冲空间,可靠稳定地实现数据的实时更新,完成双路立体声信号的实时采集、处理和发送。阐述了AIC芯片与DSP连接的配置和数据接口的设计方法,给出CODEC与DSP之间数据传输的程序示例。试验证明。该系统能够高精度、高稳定地完成音频信号的采集处理和发送任务,适用于个人便携式音频通信设备的驱动开发。
关键词 DSP;DMA;TLV320AIC23B;实时采集处理;缓冲更新

    现代音频信号处理领域,通常需要采集大量的数据进行实时分析,并目逐步从处理单路信号发展为处理多路信号。对语音信号而言,采用元音强度与元音间隔作为听者识别信号的基础参数。另外音频信号处理的器件也从传统的模/数、数/模转换器发展成为多款高性能专用芯片。传统的数据采集系统以工控机或普通单片机为核心,整个系统体积大、功耗高,未考虑语音数据实时处理和发送。设计的实时语音处理系统具有数据量大、缓冲更新迅速、稳定性高、采集发送延时小等特点。该系统利用DSP进行数据处理,DMA与McBSP实现双路音频信号的实时并行采集发送,便于实验室进行数据分析、算法仿真和过优化处理流程等,也可用于个人便携式音频通信设备的驱动开发。

1 硬件概述
    该系统采用美国Texas Instruments公司TMS320VC55X处理器,其继承了C54X系列的发展趋势,低功耗、低成本,在有限的功率条件下能够保持优良的性能。工作在0.9 V,其核的功率仅为0.05W/MIPS,性能可达800 MIPS,对数字通信、语音处理等便携式应用提出的挑战提供了有效的解决方案。以TMS320VC5509A为例,该芯片共有3个多通道缓冲串口,分别为McBSP0、McBSP1、McBSP2,每个串口接收和发送数据使用独立的时钟,支持连续传送,可直接与多媒体数字信号编码器的工业接口以及ADC/DAC接口实现无缝连接,通过CPU或DMA对16 bit寄存器访问实现通信,由DX引脚发送数据,RX引脚接收数据。通信时钟和帧同步有CLKX,CLKR,FSX以及FSR引脚来控制。TMS320VC5509A芯片提供
6个通道DMA控制器,可独立于CPU完成4个标准接口的数据传输。每个通道可从一个数据源地址读取数据后写入另一个口或目标地址。特别指出5509芯片具有64 kB双访问RAM,其结构由8个4 kB×16位的块组成,允许两个端口同时访问,提高了系统速度。
    TLV320AIC23B是TI公司推出的一款高性能立体声音频编解码器,内置耳机输出放大器,支持MIC和LINE二选一的输入方式。输入和输出都具有可编程的增益调节功能。TLV320AIC23B的模/数转换器(ADC)和数/模转换器(DAC)集成在芯片内部,可以在8~96 kHz的采样率下,提供16 bit、20 bit、24 bit和32 bit的采样数据。ADC和DAC的输出信噪比分别可达90 dB和100 dB。AIC23B通过外围器件对其内部寄存器进行编程配置,其配置接口支持SPI总线接口和I2C总线接口,如表1所示。

a.jpg


    AIC23b数据传输格式支持右判断模式、左判断模式、I2C模式和DSP模式4种方式,其中DSP模式专门针对TI DSP设计。这两款芯片的I/O电压兼容,从而使得二者可以无缝连接,因此,基于DSP和音频Codec芯片AIC23B构建的硬件系统是一种理想的语音信号处理系统。在语音信号处理系统中,AIC23主频为12 MHz,A/D和D/A转换器的抽样频率为8 kHz,模拟音频信号由LINEIN/MICIN输入到该芯片,这些参数需要通过McBSP1对AIC23进行配置实现。模拟音频信号通过A/D转换、编码后,由数字音频接口传送给DSP的串口McBSP0,并接收DSP处理后的数据,收到的数字音频信号经解码、D/A转换后,从HEADPHO/LINEOUT输出。本系统采用DSP模式,如图1所示。

b.jpg


    I2C总线协议是由Philips公司开发的两线式串行总线,用于连接微控制器及其外围设备,该协议已广泛地应用于数字通信系统硬件电路设计中。
    AIC23B与微处理器的接口有两个,一个是控制口,用于设置MC23B的工作参数,另一个是数据口,用于传输AIC23B的A/D、D/A数据。用I2C总线与AIC23B的控制口接口,对AIC23B的各个控制寄存器进行设置。McBSP的发送与接收时钟均由AIC23B提供。
    在DMA应用中,可以赋予每个通道的bit流高低的优先级。每个DMA通道的同步事件为MCBSP串口收发事件,同时每个通道某个事件完成后可向CPU发送一个中断。用户可以编写代码修改寄存器配置,当DMA在进行数据传输时,只要用户使能该通道,就可将配置寄存器复制到工作寄存器中。另外DMA支持自动初始化模式,可以在块传输过程中反复复制,连接示意图如图2所示。

c.jpg



2 软件系统设计
    方案中两路麦克风输入数据,两路耳机输出数据。在此给出一路信号的接收处理发送过程,另一路信号设计思路相同。
    在DARAM中开辟缓冲和处理单元,数据传输均采用DMA独立于CPU的方式。CPU只有在接收DMA触发中断后对数据进行处理,并将处理后数据拷贝到DMA发送缓冲。为保证整个传输过程中无数据丢失,DMA接收端采用半帧中断的方式接收数据。在数据载入过程中,可以选择两个区域进行操作,将数据区分为receive1与receive2用于保存载入的数据,同时开辟程序运行区process1和process2用于运行程序。当receive区域触发半帧中断,CPU读取receive1中的数据并将其复制到process1中,调用处理函数proc1,在CPU进行相关信号处理时,DMA继续将数据载入receive2,其满时触发整帧中断,DMA自动初始化将receive1覆盖。CPU此时即可将receive2中的数据复制到process2中,调用处理函数proc 2,这样receive区域交替更新,即可实现程序的不间断运行。
    每次中断服务程序的运行时间必须小于半帧中断的间隔时间。此方案可以保证系统的延时足够小。在使用该方案时,用户必须根据自己的需要设计合适的采样频率和缓冲数据区的大小。为提高系统稳定性,实验可以根据要求设计中断的优先级。系统软件设计如图3所示。

d.jpg



3 结束语
    系统采用DSPVC5509作为核心处理器,充分利用了DSP片上资源,采用独立于CPU的DMA实现了数据的实时采集处理以及发送,降低了总线占用率。设计的可更新缓冲区不仅符合DMA传输要求而且避免了数据丢失,实时更新减少了数据空间的浪费。另外该系统具有低功耗、稳定性高的特点,可以根据用户需求进一步扩展。

关键字:TMS320C5509A  双路音频

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2011/0826/article_2436.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
TMS320C5509A
双路音频

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved