音频处理芯片AIC23完整中文资料
TLV320AIC23芯片的介绍与应用实验(

在主菜单中选择Debug→Run 命令(也可以点击 或按F5 键),运行程序。使用电脑播放器播放音乐,戴上耳机,可 以听到音乐和麦克风的声音。
5. 观察音频信号的时域图 在主菜单中选择Debug→Halt命令(也可以点击 或按
xcerc xcerd rcere rcerf xcere xcerf rcerg rcerh
.set 15h .set 16h .set 17h .set 18h .set 19h .set 1ah .set 1bh .set 1ch
;发送通道使能寄存器C区 ;发送通道使能寄存器D区 ;接收通道使能寄存器E区 ;接收通道使能寄存器F区 ;发送通道使能寄存器E区 ;发送通道使能寄存器F区 ;接收通道使能寄存器G区 ;接收通道使能寄存器H区
mcr1 rcera rcerb xcera xcerb pcr rcerc rcerd
.set 0dh .set 0eh .set 0fh .set 10h .set 11h .set 12h .set 13h .set 14h
;多通道控制寄存器1 ;接收通道使能寄存器A区 ;接收通道使能寄存器B区 ;发送通道使能寄存器A区 ;发送通道使能寄存器B区 ;引脚控制寄存器 ;接收通道使能寄存器C区 ;接收通道使能寄存器D区
5.2.5 参考程序清单 1. 主程序
.mmregs .def _c_int00 .def mcbsp0_init
.def data_w_r .ref sdram_init
.ref i2c_init
;定义符号_c_int00为主程序入口 ;定义McBSP0接口初始化子程序 入口 ;定义变量data_w_r ;引用外部符号sdram_init为 SDRAM初始化子程序入口 ;引用外部符号i2c_init为I2C初始 化子程序入口
ICETEK-AIC23使用说明书

CLKOUT CLKIN 0 0
CLKIN CLKOUT
时钟输入分割 时钟输出分割
0 = MCLK 0 = MCLK
ICETEK-AIC23 背板使用说明书
第一部分:TLV320AIC23 芯片介绍
TLV320AIC23 介绍: TLV320AIC23 是一个高性能的多媒体数字语音编解码器,它的内部 ADC 和 DAC 转换模块带有 完整的数字滤波器。 (digital interpolation filters)数据传输宽度可以是 16 位,20 位,24 位和 32 位,采样 频率范围支持从 8khz 到 96khz。在 ADC 采集达到 96khz 时噪音为 90-dBA,能够高保真的保存音频信号。 在 DAC 转换达到 96khz 时噪音为 100-Dba,能够高品质的数字回放音频,在回放时仅仅减少 23 mW。 TLV320AIC23 详细指标:
DEEMP[1:0]:De-emphasis 控制 00 = 禁止 01 = 32 kHz 10 = 44.1 kHz 11 = 48 Khz ADCHP:ADC 滤波器 0 = 禁止 1 = 激活 X:保留
启动控制 (Address: 0000110)
BIT Function Default D8 X 0 D7 OFF 0 D6 CLK 0 D5 OSC 0 D4 OUT 0 D3 DAC 0 D2 ADC 1 D1 MIC 1 D0 LINE 1
LRS:左右耳机通道控制 LZC:0 点检查 0 = Off
0 = 禁止 1 = 激活 1 = On
基于AIC23语音接口及AGC方法的设计

语音接口包括采集和播放两项功能,是语音处理系统中最基本、最关键的部分。
语音采集时,输入信号幅度动荡会影响后续处理;语音播放时,输出信号幅度不稳定会恶化收听效果。
所以,语音AGC(自动增益控制)是语音接口中不可或缺的功能单元。
TLV320AIC23(简称AIC23)是TI公司生产的集成了A/D,D/A转换器和可变增益放大器的高性能语音编解码芯片,是设计语音接口的理想选择。
文中介绍了AIC23的特点和结构,在此基础上给出语音接口及AGC的实现方法。
1AIC23介绍1.1主要特点(1)集成线输入可变增益放大器(VGA),增益范围-34.5~12dB,步进1.5dB;(2)集成线输出可变增益放大器(VGA),增益范围-73~6dB,步进1dB;(3)I/O电压、数据接口与TI公司的54系列DSP兼容。
1.2基本结构和主要接口AIC23的基本结构和主要接口,如图1所示。
模拟语音信号从左、右声道线输入管脚或麦克信号输入管脚输入,分别经VGA、静音控制、多路选择器、A/D转换器、数字插值滤波器,得到特定采样率的数字语音信号;数字语音信号依次经过数字滤波器、D/A转换器、静音控制和VGA,最后从左、右声道线输出管脚输出;AIC23的工作状态由系统微处理器通过控制接口设置,控制接口模式为SPI/I2C可选(mode管脚置高为SPI模式,置低为I2C 模式);AIC23与微处理器通过数据接口进行数据交换,数据接口为左判断/右判断/I2C/DSP模式可选(由微处理器通过控制接口设置)。
TI公司生产的54系列DSP集成了多通道缓冲串口(McBSP),可与SPI模式的控制接口和DSP模式的数据接口无缝连接。
1.3控制方法AIC23是一款可编程芯片,内部有11个9位寄存器,可由微处理器通过控制接口进行配置,从而设定芯片的工作模式和状态。
主要寄存器内容,如表1所示。
2语音接口设计2.1硬件设计语音接口由TI公司的数字信号处理器TMS320VC5416与AIC23构成,如图2所示。
TLV320AIC23 CODEC

用.
I 2 两线 串行传输方式 ,D N为输 入串行 数 C是 SI 据 ,C K为 串行 时钟 , SL 具体应用可参考手册 。 222 寄 存器 设 置 ..
《声 术22第0总 2期 电 技 )0 1 第0 0年 期 8
I 2 C和 S I P 总线 兼 容控 制 接 口 , 能使 A C 3编码 解 码 I2 器 与其 它 微 处 理 器 共 同使 用 。 目前 已有 T V 2 A— L 30 I2 C 3的开 发 套件 产 品 , 与 T 4系 列 D P的套 件 可 I5 S 无 缝 连 接 开 发 , 而 且 在 50D P 的 套 件 中 , 59 S T V30 I2 L 2 AC 3已被 集 成 在 板 上 作 为 音 频 编 解 码 器 使 用 ,可 以看 出 该 器 件 会 得 到 广 泛 应 用 。
T V 2AC 3 内部有 1 L 3 0 I2 1个 可 编 程 控 制 寄 存 器 , 过 不 同设 置 , 以 改 变芯 片 的工 作 状 态 , 采 通 可 如 样 率 、 右声 道 音量 等 。 左 这些 寄 存器 都 是 通过 A C 3 I2 的控 制接 口来 编程 的 。控 制 接 口又 分 为 S I三线 ) P( 和 I 两 线 ) 口 , 部 引 脚 MO E置 0 I决 定 采 2 C( 接 外 D /
维普资讯
T V3 0 C2 L 2 AI 3 CODEC 与
D P的接 口应 用 S
计 丹 ,黄光 明 。雷 环 利
・技 应 用
f '
O ∞ =
( 武汉华 中师范大学物理 系,湖北 武汉 4 0 7 ) 30 9
l 引 言
MEMORY存储芯片TMS320AIC23中文规格书

@@@@@@@@
@@@@③
@@
@@
@@
@@
@@
@@
(TOP VIEW)
@@
@@ @@ ·@
、。 Index N tch
@@ @@ @①
·田’
y:
@@@@G)G)①①①
@@@@①①①①.
e 。 Indicates no connecti n
NOTE: The view shown is from the TOP with pin 1 of the device facing down
Cl
8483828180797877 76757473 727170 696867666564
NC 1 2 3
4
5 6 GND 7 GND 8 9 10 11 12 13 Vee 14 Vee 15 16 17 18 19 20 21
TLV320AIC23芯片的介绍与应用实验(ppt 84页)

第5章 立体声芯片TLV320AIC23的应用 图5-5 图形属性对话框
第5章 立体声芯片TLV320AIC23的应用 图5-6 图形观察窗口中的左、右声道声音波形
第5章 立体声芯片TLV320AIC23的应用
5.2.5 参考程序清单
1. 主程序
.mmregs
.def _c_int00
;定义符号_c_int00为主程序入口
第5章 立体声芯片TLV320AIC23的应用
第5章 立体声芯片TLV320AIC23的 应用
5.1 TLV320AIC23芯片介绍
5.2 TLV320AIC23应用实验
第5章 立体声芯片TLV320AIC23的应用
5.1 TLV320AIC23芯片介绍
5.1.1 TLV320AIC23特点介绍 TLV320AIC23是TI公司生产的具有高度完整模拟功能
第5章 立体声芯片TLV320AIC23的应用 ■软件控制通过TI McBSP支持多种串行通信协议。 ◇兼容2线和SPI串行通信协议; ◇能直接和TI McBSPs相连。
第5章 立体声芯片TLV320AIC23的应用 ■音频数据输入/输出是可编程音频接口,兼容TI McBSP。 ◇I2C兼容协议只需要一个McBSP为A/D和D/A进 行通信; ◇标准的I2C,高位或低位数据填充传输; ◇16/20/24/32位数据长度。
.ref i2c_disable
;引用外部符号i2c_disable
.ref i2c_write
;引用外部符号i2c_write为总线写
.ref i2c_read
;引用外部符号i2c_read为总线读
.ref clkmd_init
;引用外部符号clkmd_init为时钟模块初
音频处理芯片AIC23完整中文资料

⾳频处理芯⽚AIC23完整中⽂资料TLV320AIC23中⽂资料管脚图及其应⽤TLV320AIC23(以下简称AIC23)是TI推出的⼀款⾼性能的⽴体声⾳频Codec芯⽚,内置⽿机输出放⼤器,⽀持MIC和LINE IN两种输⼊⽅式(⼆选⼀),且对输⼊和输出都具有可编程增益调节。
AIC23的模数转换(ADCs)和数模转换(DACs)部件⾼度集成在芯⽚内部,采⽤了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪⽐分别可以达到90dB 和100dB。
与此同时,AIC23还具有很低的能耗,回放模式下功率仅为23mW,省电模式下更是⼩于15uW。
由于具有上述优点,使得AIC23是⼀款⾮常理想的⾳频模拟I/O器件,可以很好的应⽤在随声听(如CD,MP3……)、录⾳机等数字⾳频领域。
AIC23的管脚和内部结构框图如下:从上图可以看出,AIC23主要的外围接⼝分为以下⼏个部分:⼀.数字⾳频接⼝:主要管脚为BCLK-数字⾳频接⼝时钟信号(bit时钟),当AIC23为从模式时(通常情况),该时钟由DSP产⽣;AIC23为主模式时,该时钟由AIC23产⽣;LRCIN-数字⾳频接⼝DAC⽅向的帧信号(I2S模式下word时钟)LRCOUT-数字⾳频接⼝ADC⽅向的帧信号DIN-数字⾳频接⼝DAC⽅向的数据输⼊DOUT-数字⾳频接⼝ADC⽅向的数据输出这部分可以和DSP的McBSP(Multi-channel buffered serial port,多通道缓存串⼝)⽆缝连接,唯⼀要注意的地⽅是McBSP 的接收时钟和AIC23的BCLK都由McBSP的发送时钟提供,连接⽰意图如下:⼆.麦克风输⼊接⼝:主要管脚为MICBIAS-提供麦克风偏压,通常是3/4 AVDDMICIN-麦克风输⼊,由AIC结构框图可以看出放⼤器默认是5倍增益连接⽰意图如下:三.LINE IN输⼊接⼝:主要管脚为LLINEIN-左声道LINE IN输⼊RLINEIN-右声道LINE IN输⼊连接⽰意图如下:四.⽿机输出接⼝:主要管脚为LHPOUT-左声道⽿机放⼤输出RHPOUT-右声道⽿机放⼤输出LOUT-左声道输出ROUT-右声道输出从框图可以看出,LOUT和ROUT没有经过内部放⼤器,所以设计中常⽤LHPOUT和RHPOUT,连接⽰意图如下:五.配置接⼝:主要管脚为SDIN-配置数据输⼊SCLK-配置时钟DSP通过该部分配置AIC23的内部寄存器,每个word的前7bit为寄存器地址,后9bit 为寄存器内容。
音频信号处理

DIN DOUT
J6 J7 J8
3.AIC23的工作方式
I2C 设置AIC23
SCL SDA TMS320VC5509 CLKR0 CLKX0 FSX0 FSR0 DX0 DR0 DIN DOUT SCLK SDIN MODE CS TLV320AIC23 BCLK LRCOUT J5 GND
c=1; g=0.5; M=1000; b=[c]; a=[1,zeros(1,M-1),-g]; [x,fs]=wavread('S5A.wav'); y=filter(b,a,x); wavplay(y,fs)
DSP系统的实现
C 语言编程 迭代算法 数据缓冲区
DSP系统的实现
实时数据
AIC23_Mixer() 声音信号处理子程序
while (!ReadMask(pMCBSP0 -> spcr2, SPCR2_XRDY)); // 等待McBSP0准备好
数据=Read(pMCBSP0->ddr1);// 读取左声道的数据 数据=Read(pMCBSP0->ddr2);//读取右声道的数据
DSP系统的实现
.gel文件
menuitem "Echo Parameters" slider Length(1,5,1,1,amplitudeparameter) /*incr by 1,up to 20*/ {length = amplitudeparameter; /*vary buffer size*/} dialog SetEcho(nParam1"1 Feedforward;2 Backforward;3 no):") {flag=nParam1;}
g=1 缓冲数据的编程方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TLV320AIC23中文资料管脚图及其应用TLV320AIC23(以下简称AIC23)是TI推出的一款高性能的立体声音频Codec芯片,内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。
AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪比分别可以达到90dB 和100dB。
与此同时,AIC23还具有很低的能耗,回放模式下功率仅为23mW,省电模式下更是小于15uW。
由于具有上述优点,使得AIC23是一款非常理想的音频模拟I/O器件,可以很好的应用在随声听(如CD,MP3……)、录音机等数字音频领域。
AIC23的管脚和内部结构框图如下:从上图可以看出,AIC23主要的外围接口分为以下几个部分:一.数字音频接口:主要管脚为BCLK-数字音频接口时钟信号(bit时钟),当AIC23为从模式时(通常情况),该时钟由DSP产生;AIC23为主模式时,该时钟由AIC23产生;LRCIN-数字音频接口DAC方向的帧信号(I2S模式下word时钟)LRCOUT-数字音频接口ADC方向的帧信号DIN-数字音频接口DAC方向的数据输入DOUT-数字音频接口ADC方向的数据输出这部分可以和DSP的McBSP(Multi-channel buffered serial port,多通道缓存串口)无缝连接,唯一要注意的地方是McBSP的接收时钟和AIC23的BCLK都由McBSP的发送时钟提供,连接示意图如下:二.麦克风输入接口:主要管脚为MICBIAS-提供麦克风偏压,通常是3/4 AVDDMICIN-麦克风输入,由AIC结构框图可以看出放大器默认是5倍增益连接示意图如下:三.LINE IN输入接口:主要管脚为LLINEIN-左声道LINE IN输入RLINEIN-右声道LINE IN输入连接示意图如下:四.耳机输出接口:主要管脚为LHPOUT-左声道耳机放大输出RHPOUT-右声道耳机放大输出LOUT-左声道输出ROUT-右声道输出从框图可以看出,LOUT和ROUT没有经过内部放大器,所以设计中常用LHPOUT和RHPOUT,连接示意图如下:五.配置接口:主要管脚为SDIN-配置数据输入SCLK-配置时钟DSP通过该部分配置AIC23的内部寄存器,每个word的前7bit为寄存器地址,后9bit 为寄存器内容。
具体方法和寄存器具体内容见后。
六.其他:主要管脚为MCLK-芯片时钟输入(12.288M、11.2896M、18.432M、16.9344M)VMID-半压输入,通常由一个10U和一个0.1U电容并联接地MODE-芯片工作模式选择,Master或者SlaveCS-片选信号(配置时有效)CLKOUT-时钟输出,可以为MCLK或者MCLK/2(详见寄存器配置)DSP与AIC23的连接设计中DSP采用了TI的C5409,这是一款性价比高,外设资源丰富,耗电量低,处理能力强的16位DSP,在实际应用中较为流行。
C5409有三组可通过寄存器灵活配置的McBSP同步串口,与AIC23的连接主要使用这些串口。
一.与AIC23数字音频接口的连接AIC23的数字音频接口支持I2S模式(一种通用的音频格式),也支持DSP Mode模式(专为与TI的DSP连接模式)。
两种模式的时序如下图:I2S模式DSP Mode模式DSP与AIC23的连接可以采用I2S模式也可以采用DSP模式,区别仅在于DSP的McBSP 帧信号的宽度。
前者的帧信号宽度必须为一个字(16bit)长,而后者的帧宽度可以为一个bit长,比如在字长16bit(即左右声道的采样各为16bit),帧长为32bit的情况下,如果采用I2S,帧信号宽度应为16bit;而采用DSP Mode帧信号宽度1bit即可。
为了与AIC23通信,DSP的串口时钟也应该正确的设置。
DSP的McBSP时钟为了减少外围电路通常都选择由内部CPU时钟分频得到,比如在AIC23采样速率为8K的情况下,McBSP串口时钟应为8×32=256K,这时,DSP工作时钟/256K=需要设置的分频因子。
需要注意的是,DSP的串口分频因子最大为0xff(256),所以如果采用内部时钟分频的办法,DSP工作时钟不能超过64M。
二.与AIC23配置接口的连接AIC23的配置接口支持I2C模式,也支持SPI模式。
通常比较简单的办法是利用DSP的一个McBSP用SPI模式跟AIC23连接。
但是有些时候,如果DSP的McBSP串口资源比较紧张(比如需要跟近端RS-232和远端RS-485连接),也可以通过DSP模拟I2C 总线与AIC23连接。
下面简单介绍这两种方法:SPI时序图如下:这种模式的特点是只在片选信号有效时锁存进数据。
由于也是同步串口,所以通过配置McBSP为Clock Stop Mode(时钟在帧信号有效时产生,其他时间没有时钟信号)可以无缝与之连接。
这时,McBSP的帧信号连接SPI的CS信号,时钟和数据信号与SPI一一对应。
这种连接只需设置McBSP的寄存器,使用比较简单可靠。
I2C时序图如下:C5409没有I2C接口(TI的C5509有),但是可以利用DSP的GPIO(General Purpose Input/Output)来实现I2C时序。
C5409有8个HPI(Host Port Interface)管脚可以选择作为GPIO使用(上电时HPIENA管脚或者HPI16管脚为低),这样我们可以利用其中的两个管脚来作为I2C中的SCL和SDA。
在I2C中SDA是双向管脚,而DSP的GPIO的方向要通过寄存器来配置为输入或者输出,所以在实现I2C总线时,要经常在需要的时候变换GPIO(作为SDA的那个)的方向。
对GPIO的操作是通过寄存器来完成:当设为输出时,向寄存器写入要输出的值;设为输入时,从该寄存器读入管脚上的值。
在实现I2C总线时,还需注意下面几点:作为SDA的那个GPIO应该接上拉电阻;AIC23只可写不可读;AIC23的设备地址当CS为低时是0011010b,CS为高时是0011011b。
DSP的软件设计DSP需要处理来自和发向AIC23的数据,从而达到采集和播放声音。
从上面的分析我们知道,这些数据都是通过DSP的McBSP交换的。
McBSP可以有三种方式跟CPU通信:每收到或发送一个单元,置标志位,CPU轮询此标志位;每收到或发送一个单元,给CPU发送中断;通过DMA收到或发送完一组单元,再给CPU中断。
通常,为了减轻CPU负担,都采用第三种方法。
采用DMA的方式,即串口每发送或接受到一个单元,都会自动触发DMA将其搬送到一个内部的Buffer,等Buffer满了再通过中断方式告诉CPU处理。
这时DMA最好采用ABU (Auto Buffering)模式,在这种模式下,DMA会在两个Buffer(其实是一个大Buffer 的前一半和后一半)之间自动切换,每个Buffer满了(接收)或空了(发送)都会给CPU 发出中断,在CPU处理这个Buffer的时候,DMA会自动去操作另一个Buffer。
采用这种方式可以有效防止Buffer中的数据在串口速率较高时被新数据冲掉的问题。
在DMA的中断服务程序中为了可靠可以把这个Buffer的数据再拷贝到另一个待处理的空间,即两级Buffer,然后置标志位,CPU在主程序中查询标志位然后作出相应的处理。
DMA 操作的Buffer可以通过寄存器配置,Buffer的大小和起始位置应设置正确。
在指定Buffer 的起始位置时应该注意,起始位置应该为大于Buffer大小的下一个2的整数幂的倍数。
例如,在8K、16bit采样的情况下,以20ms数据为Buffer大小,那么一次处理的数据是8000×32×0.02=5120bit=320word。
所以,DMA的Buffer应为640word(两个320word Buffer)大小,而Buffer的起始地址应该为1024=2^10>640的整数倍,如0x7000,0x7400……DSP与异步串口间的通信DSP与PC机交换声音数据可以通过异步串口实现(近端RS-232或者远端RS-485再到RS-232)。
下面简单介绍如何利用DSP的McBSP实现RS-232协议从而跟PC机的串口通信。
首先,因为McBSP和RS-232电平不同,之间需要加一个MAX232这样的电压转换芯片。
同时,DSP的McBSP是一个三线同步串口,而RS-232只需一根数据线(单向)即可通信,所以在实现异步串口时,首先硬件连接应该如下:从上图可以看出,McBSP串口的接收帧信号和接收数据线连在一起,这样做的目的是为了利用异步帧的开始位(低有效)来给McBSP一个帧信号。
显然,这时DSP的帧信号应设置为低有效且接收延时应设置为'1'。
同步-异步转换的基本原理就是对异步信号过采样得到同步信号,例如一般是对异步信号的每个bit用同步信号的一个字来表示(即16个'1'-0xffff或16个'0'-0x0000)。
可参看下图(上边为异步信号,下边为同步信号):串口的发送和接收都采用DMA方式,Buffer的大小为:1+8+1(无校验位,结束位长度为1)=10word。
同步-异步具体转换在软件上实现:对于发送来说,较为简单,就是对每一个Byte的每个bit用一个word(16bit)进行代替,加上开始位、结束位。
然后判断是否可以发送(通过发送完毕标志),如果可以则把这10个word放入Buffer,启动DMA即可。
在发送中断服务程序中需要作的是停止发送DMA,并置发送完毕标志有效。
接收相对发送麻烦一些,需要对接收到的每一个字进行判断从而恢复每一个bit,例如可以认为收到0000 1111 1111 0000b为'1',其余为'0'。
过滤掉开始位('0')和结束位('1'),恢复的8个bit就合成一个Byte。
这些应该在接收中断服务程序里面做。
还有就是同步串口时钟的选择,一定要稍大于设计速度,比如,在跟57.6K的RS-232通信时,时钟应该为57.6×16=921.6K,实际配置串口分频寄存器时应该稍大于这个速度,否则就可能由于没有正确检测到停止位而出现错误。
更详细的同步-异步转换设计流程跟我们的主题无关,有很多文章有具体的描述,这里就不主要讨论了。