TMS320F28335与AIC23芯片学习心得

在学习F28335时,发现关于AIC23芯片的资料比较少,且有些资料和例程还存在错误,所以将自己学习AIC23芯片的经验和例程分享出来,如果有错误还请大佬能够指点,一起学习交流。
程序实现的功能比较简单,对着麦克风说话时耳机会听到自己的声音并且会保存录音,如果按下按键时循环播放录音,供初学者参考。

AIC23芯片

引脚

AIC23芯片引脚图
主要用到的引脚就是图中标出的,配置接口用来完成初始化,本文使用GPIO模拟SPI传输配置数据,在SPI模式下CS端负责锁存数据;在IIC模式下CS端为可编程地址位,MODE用来选择模式,MODE=0时为IIC,MODE=1时为SPI。音频数据接口从上到下为数据接收发送的时钟、数据接收、数据发送、接收帧同步、发送帧同步,本文配置AIC23为主模式,时钟以及同步信号均由AIC23产生。

寄存器

按照手册的寄存器顺序,前两个左右声道线入控制本程序用不到,所以不做说明。
左声道耳机音量控制寄存器
LRS左右声道音量同步更新,LZC左声道过零检测,LHV音量控制。
我的设置为关闭同步更新,打开过零检测。

右声道耳机音量控制寄存器
同上

模拟音频路径控制寄存器

STA是侧音的衰减,STE是侧音是否打开,DAC为是否使用DAC,BYP是旁路模式,INSEL选择ADC的输入。MICM是麦克风静音。MICB为麦克风增强。如果打开侧音可能会覆盖你DSP发送给AIC23的音频,所以我设置为关闭。
该寄存器设置为关闭侧音,选择DAC,禁用旁路模式,ADC输入为麦克风,打开麦克风增强。

数字音频路径控制寄存器
DACM为DAC静音控制,如果使能,会停止DAC,输出就没有声音了。DEEMP为去加重控制寄存器。ADCHP为ADC高通滤波器。
该寄存器设置为禁用DAC静音,44.1kHz的去加重。禁用ADC高通滤波器。

电源控制寄存器
电源控制寄存器,全部打开即可。

数字音频接口格式寄存器

MS设置AIC23工作在主或从模式,LRSWAP为DAC左右声道交换,LRP设置数据在什么时间有效,IWL设置输入的长度。FOR设置数据格式。
该寄存器设置为:AIC23工作在主模式,禁用DAC左右交换,数据在帧同步信号到来后第一个BCLK上升沿就有效,设置输入数据长度为16位,数据格式为DSP格式,一帧包括两个数据字,一个数据字包括16位。数据长度我自己理解为ADC的转换精度了,不知道对不对。

采样率控制寄存器1
采样率控制寄存器2
采样率设置根据数据手册设置。

数字接口激活寄存器
激活接口就可以开始传输数据了。

复位寄存器
在程序一开始要对寄存器初始化。

程序

SPI

初始化SPI

void Init_SPI()
{
   
    EALLOW;
    SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK=1;
    GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 0;//SDA
    GpioCtrlRegs.GPADIR.bit.GPIO12 = 1;
    GpioCtrlRegs.GPAPUD.bit.GPIO12 = 0;
    GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 0;
    GpioCtrlRegs.GPADIR.bit.GPIO13 = 1;
    GpioCtrlRegs.GPAPUD.bit.GPIO13 = 0;
    GpioCtrlRegs
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值