《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > TMS320C6713与TLV320AIC23B的接口设计及实现
TMS320C6713与TLV320AIC23B的接口设计及实现
来源:微型机与应用2011年第8期
倪启彦, 石建波
(电子工程学院, 安徽 合肥230037)
摘要: 根据TI公司的TMS320C6713多通道缓冲串口(McBSP) 和音频解码芯片AIC23B的工作原理,设计了音频解码电路。将TMS320C6713多通道缓冲串口直接与AIC23B相连,其优点是操作简单,不占用处理器的总线,不影响其他功能模块的性能。给出了TMS320C6713 和AIC23B的接口电路和软件编程实现。
Abstract:
Key words :

摘要:根据TI公司的TMS320C6713多通道缓冲串口(McBSP) 和音频解码芯片AIC23B的工作原理,设计了音频解码电路。将TMS320C6713多通道缓冲串口直接与AIC23B相连,其优点是操作简单,不占用处理器的总线,不影响其他功能模块的性能。给出了TMS320C6713 和AIC23B的接口电路和软件编程实现。
关键词: TMS320C6713;AIC23B;音频解码;多通道缓冲串口

    TMS320C6713(C6713)是业界流行的一款高性能的32 bit浮点DSP,在255 MHz时钟主频下,其最高执行速度可达1 800 MIPS。C6713拥有丰富的片内资源,其多功能串口不仅可以配置成标准串口的全双工串行通信模式,还能配置成SPI模式,适应于多种应用。TLV320AIC23B是一款高性能立体声的编解码器(简称AIC23B),内部的ADC和DAC采用Sigma-Delta技术,采样率支持8 kHz~96 kHz,数据传输能配置成16、20、24和32 bit。AIC23B还提供了麦克风输入,左右两通道线性输入、线性输出及耳机输出。本文详细介绍AIC23B的电路连接和软件设计。利用C6713的McBSP1配置AIC23B的内部寄存器,利用McBSP0与AIC23B进行数据传输。系统采集外部语音信号,采集数据通过C6713处理后送到AIC23B转换成模拟信号。
1 TLV320AIC23B 原理
    AIC23B是TI公司出品的一款高品质立体声音频编解码芯片,其与处理器有两个连接口:控制口和数据口,它们都能与C6713的McBSP(Multichannel Buffered Serial Port)无缝连接。内置耳机输出放大器,支持MIC 和LINE IN 两种输入方式,输入和输出都具有可编程增益调节。AIC23B 的模数转换和数模转换部件高度集成在芯片内部,ADC和DAC的信噪比分别可达到90 dB 和100 dB。同时,AIC23B还具有很低的能耗, 回放模式下功率仅为23 mW,省电模式下更是小于15 μW[1],其特性如下:
    ·∑-△过采样技术;
  ·采样速率:8 kHz~96 kHz;
  ·数据格式:16 bit、20 bit、24 bit、32 bit;
  ·信噪比(NSR):90 dBA(96 kHz);
  ·省电模式设置;
  ·包含麦克风输入、立体声输入、耳机输出(带耳机放大器)、立体声输出;
  ·1.42 V~3.6 V内核电压;
  ·2.7 V~3.6V缓冲器和模拟电路供电电压;
  ·兼容TI的McBSP协议。
     AIC23B的引脚图如图1所示,主要有模拟输入输出通道、芯片控制口、芯片数据口、时钟接口等。主机通过控制口(CS、MODE、SDIN、SCLK)配置AIC23B寄存器,控制口根据MODE可配置成两种模式:SPI模式和2-Wire模式。本文采用SPI模式,如表1所示。图2为SPI模式时控制口的时序图,B15~B9为AIC23B内部寄存器的7位地址,B8~B0为AIC23B寄存器的9 bit数据。主机通过AIC23B的数据口与其交换数据,数据接口有4种模式:右对齐模式、左对齐模式、IIS模式、DSP模式,四种模式都是先传左通道的数据后传右通道的数据。本文采用DSP数据传输模式与C6713的McBSP相连,在这种方式下,AIC23B 可以很方便地与DSP的McBSP接口无缝相接,LRCIN及LRCOUT必须与DSP的McBSP 的帧同步信号相连。从LRCIN或LRCOUT的下降沿开始传送数据,第1个数据字是左声道的数据字,紧跟其后的是右声道的数据字,输入字长由寄存器IWL设定[2]。图3为DSP模式下数据传输的时序图[3]。

 

 

    AIC23B主机通过写AIC23B的寄存器来配置AIC23B,AIC23B有十一个寄存器,表2显示各寄存器的地址和名称。


2 C6713的McBSP原理
    在DSP嵌入式系统中,多通道缓冲串行接口McBSP是一个功能强大、连线简洁的接口,通常用来连接音频编解码芯片、串行AD器件、串行DA器件等。McBSP包含一个数据通道和一个控制通道,互相独立的发送、接收引脚,4个通信控制信息引脚。DSP器件通过32 bit并行总线访问McBSP控制和数据寄存器。图4为McBSP组成框图[4]。

  C6713的McBSP模块具有如下基本特性:
  ·全双工通信;
  ·两个数据缓冲寄存器;
  ·独立的发送和接收帧及时钟;
  ·可直接连接工业标准的CODEC、AIC以及其他串口AD/DA芯片;
  ·在数据传输过程中,可设置为外部移位时钟或内部可编程的频率移位;
  ·可连接AC97标准的接口、IIS接口、SPI接口;
  ·多达128通道的发送和接收;
  ·多种数据格式:8、12、16、20、24、和32 bit;
  ·8 bit数据格式中可设为低字节在前或高字节在前;
  ·同步帧和数据时钟的极性可编程;
    ·高度可编程的内部时钟和帧产生。
3 C6713与AIC23B的硬件连接
    根据McBSP与AIC23B的原理,无论是控制口还是数据口AIC23B都可以与C6713的McBSP无缝连接,本设计采用McBSP1连接AIC23B的控制口,用来配置AIC23B的内部寄存器。时钟CLKX1和帧同步发送信号FSX1 由DSP 产生,向AIC23B发送16 bit的数据字, 来初使化AIC23B。每个16 bit的数据字分为两部分, 第一部分为AIC23B 中寄存器的地址,共7 bit; 第二部分为对该寄存器的设置值,共9 bit, 对应着寄存器的每一位(D8~D0) 。用McBSP0与AIC23B数据口直接相连,用来与AIC23B交换数据。CLKX0、CLKR0和帧同步信号FSX0、FSR0由AIC23B产生。图5为C6713与AIC23B的硬件连接示意图。MODE 引脚接3.3 V高电平, AIC23B配置成SPI模式,McBSP1工作于SPI模式下;McBSP0配置成外部时钟、帧信号驱动接收和发送。AIC23B 中共有11 个寄存器, 对AIC23B进行初始化时, 必须由DSP 向它发送11个16 bit数据字来设置它的寄存器。

4 系统的软件设计
    软件设计分为初始化、数据传输和数据处理3个部分。如图6给出了系统的工作流程,初始化完成后,系统进入工作状态。外部模拟信号通过AIC23B的AD变换器转换成数字信号,通过数据口传给DSP,数据经过DSP处理后传到AIC23B,经过AIC23B的DA变换后放大输出。

    初始化部分包括McBSP的初始化和AIC23B的初始化。该设计中AIC23B 工作于主模式, 左右声道的采样字宽均为16 bit,数据接口为DSP 模式。DSP 通过SPI总线接口对音频编解码芯片AIC23B 的寄存器进行设置, 控制其采样速率、音频源、音量等参数。其初始化步骤为:
    (1) 设置McBSP1为SPI模式,用于配置AIC23B。
    (2) 设置McBSP0为被动接收模式,用于与AIC23B交换数据。
    (3) 用DSP的McBSP1配置AIC23B相关寄存器,使其工作在主动模式。
    以下给出配置AIC23B 寄存器的程序:
     void initAIC23B( void)
     {
                     //复位AIC23B、给各功能单元供电
     AIC23B_Write(AIC23B_RESET_REG, 0);
     AIC23B_Write(AIC23B_POWER_DOWN_CTL, 0);
                      //设置音频信号源并进行音量控制
     AIC23B_Write (AIC23B_ANALOG_AUDIO_CTL,ANAP-
            CTL_DAC) ;
     AIC23B_Write(AIC23B_DIGITAL_AUDIO_CTL, 0);
                          //左右输入声道的音量衰减控制
     AIC23B_Write(AIC23B_LT_LINE_CTL, 0x17);
     AIC23B_Write(AIC23B_RT_LINE_CTL, 0x17);
                 //设置AIC23B 工作在主模式, 48 kHz,
                16 bit 数据格式
     AIC23B_Write (AIC23B_DIGITAL_IF_FORMAT, DIGIF_
     FMT_IWL_16|DIGIF_FMT_FOR_DSP) ;
     AIC23B_Write (AIC23B_SAMPLE_RATE_CTL, SRC_SR_
     44|SRC_BOSR |SRC_MO);
                             //耳机音量控制和数字接口
     AIC23B_Write(AIC23B_LT_HP_CTL, 0x79);
     AIC23B_Write(AIC23B_RT_HP_CTL, 0x79);
    AIC23B_Write (AIC23B_DIG_IF_ACTIVATE, DIGIFACT_
        ACT) ;
     }
5 实验结果
    图7为在CCS开发软件下对1.1 kHz音频信号采集的波形图,其中横坐标为连续时间段内采样的序号,纵坐标为采样转换后的数值。AIC23B工作在USB模式,采样率为48.8 kHz,所以一个周期采样44个点。信号经过C6713处理后回送到AIC23B,经过AIC23B的DA变换器变换为音频信号。

    本文详细介绍了AIC23B与TI公司的32 bit高性能DSP TMS320C6713的接口设计和编程实现。设计电路简洁,编程简单,可用于语音处理、数字电话等音频信号处理的系统中。
参考文献
[1] TEXAS INSTRUMENTS,TLV320AIC23B Data Sheet,2006.
[2] 吕卫强,黄荔.基于短时能量加过零率的实时语音端点检测方法[J]. 兵工自动化,2009,28(9).
[3] 齐敏,王玲,韩韬,刘辉.基于TMS320DM642的实时语音处理系统[J]. 电声技术,2009,33(1):65-67.
[4] 刘向宇.DSP嵌入式常用模块与综合系统设计实例精讲[M]. 电子工业出版社,2009.
[5] 涂水林, 薛正明.TMS320DM642与音频编解码器的接口设计[J].电声技术,2006,30(9):26-29.

此内容为AET网站原创,未经授权禁止转载。