📄 aic23的正确配置方法.txt
字号:
在市场上众多的5402dsp开发板,学习板中,厂家彼此相互拷贝,基本上采用的是同一个硬件和软件版本。在这些开发板和学习板中甚至于连错误也拷贝了,其中aic23芯片的错误配置就是一例。在c5402dsp学习板中,普遍采用stc51单片机+c5402+aic23(ad/da芯片)的方案。但是我所看见的所有版本的配套软件,aic23芯片的参数配置都错误了,实际上aic23芯片被设置为工作于话筒旁路模式。aic23芯片的ad转换部分,根本没有数据输出,后面的dsp运算当然就不能实现了。这个错误隐藏的相当深,特别是dsp初学者都没有使用aic23芯片的经验,很难发现,可以说这些购买了学习板的朋友实际上没法使用。本文就此进行分析和纠正,提供正确的aic23芯片的配置参数。
(本文来源于qq:350270577的qq空间/日志中)
aic23芯片一共有11个寄存器负责设置其工作模式,其中地址为0x4h的寄存器名为“模拟音频通道控制寄存器”,负责选择输入通道。基本结构如下:
位: bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
功能:sta2 sta1 sta0 ste DAC byp sel micm micb
其中bit3位负责指定是否使用ad功能旁路模式,如果使用,则ad功能无输出。
在众多厂家提供的学习板软件中设置这个寄存器的源程序代码如下(C语言):
write_AIC23(A_AUDIO_PATH,0x07d); //bypass MIC ADC DAC ON 20DB sidetone(-6db)
这个函数第一个参数 A_AUDIO_PATH 是指0x04号地址寄存器,
第二个参数就是该寄存器被写入为数值0x7d,
显然,bit3位被设置为1,ad功能无输出。而后面的源代码注释也说明了是 “bypass MIC ADC DAC ON 20DB sidetone(-6db)”
很显然,源代码的作者是清楚bit3位的作用的,但是由于调试中的疏忽,没有开通ad功能。因此正确的参数应该是:
write_AIC23(A_AUDIO_PATH,0x075);
或者 write_AIC23(A_AUDIO_PATH,0x074);
bit3位被设置为0,旁路模式关闭,ad采样转换开通。
bit0位指定麦克风通道增益。
如此设置,aic23方能正确输出采样数据。
本文原创发表于本人qq:350270577的qq空间/日志中,如果转载,请注明出处,否则属于侵权。
至此,aic23芯片才是可以正常向dsp芯片提供采样数据。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -