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数据格式中可设为低字节在前或高字节在前;
·同步帧和数据时钟的极性可编程;
·高度可编程的内部时钟和帧产生。