主题中讨论的其他器件: TLV320AIC3204
工具/软件:Code Composer Studio
大家好、
我使用的是 TI 的 TMS320C5505 USB 模块。
我正在尝试了解如何使用 DSP 初始化电路板上的编解码器 AIC3204。
我在下面找到了示例代码。
AIC3204_rset( 0, 0); //选择第0页
AIC3204_rset( 1, 1); //重置编解码器
AIC3204_rset( 0,1 ); //指向第1页
AIC3204_rset( 1, 8); //禁用从 DVDD 生成粗 AVDD
AIC3204_rset( 2, 1); //启用模拟块,使用 LDO 电源
AIC3204_rset( 0, 0);
/* PLL 和时钟配置和上电 */
AIC3204_rset (27,0x1d); // BCLK 和 WCLK 被设置为 o/p 至 AIC3204 (主器件)
AIC3204_rset (28、0x00); //数据设置= 0
AIC3204_rset (4、3); // PLL 设置:PLLCLK <- MCLK、CODE_CLKIN <-PLL CLK
AIC3204_rset (6、7); // PLL 设置:j=7
AIC3204_rset (7、0x06); // PLL 设置:hi_Byte (D)
AIC3204_rset (8、0x90); // PLL 设置:LO_BYTE (D)
AIC3204_rset (30,0x88); //仅针对主控模式下的每帧32位时钟
// BCLK=DAC_CLK/N =(12288000/8)= 1.536MHz = 32*FS
AIC3204_rset (5、0x91); //PLL 设置:为 PLL 加电、P=1和 R=1
AIC3204_rset (13、0); //对于 DOSR = 128十进制数或0x0080 DAC 过采样,则为 Hi-Byte (DOSR)
AIC3204_rset (14、0x80); // LO_Byte (DOSR)(对于 DOSR = 128十进制或0x0080)
AIC3204_rset (20,0x80); // AOSR = 128十进制或0x0080用于抽取滤波器1至6
AIC3204_rset (11,0x87); //为 NDAC 加电并将 NDAC 值设置为7
AIC3204_rset (12,0x82); //为 MDAC 加电并将 MDAC 值设置为2
AIC3204_rset (18,0x87); //加电 NADC 并将 NADC 值设置为7
AIC3204_rset (19、0x82); //加电 mAdc 并将 mAdc 值设置为2
/* DAC 布线和上电*/
AIC3204_rset( 0,1 ); //选择第1页
AIC3204_rset (0x0c,8); //路由到 HPL 的 LDAC AFIR
AIC3204_rset (0x0d、8); // RDAC AFIR 路由至 HPR
AIC3204_rset( 0, 0); //选择第0页
AIC3204_rset( 64, 2); //左容积=右容积
AIC3204_rset (65,0); //左 DAC 增益至0dB VOL;右轨迹左
AIC3204_rset (63、0xd4); //向左、右上电数据路径并设置通道
AIC3204_rset( 0,1 ); //选择第1页
AIC3204_rset (0x10,10); //取消 HPL 静音,10dB 增益
AIC3204_rset (0x11,10); //取消 HPR 静音,10dB 增益
AIC3204_rset (9、0x30); //加电 HPL、HPR
AIC3204_rset( 0, 0); //选择第0页
USBSTK5505_WAIT (100); //等待
/* ADC 路由和上电*/
AIC3204_rset( 0,1 ); //选择第1页
AIC3204_rset (0x34、0x30);//立体声1插孔
//将 IN2_L 更改为 LADC_P、阻值为40千欧
AIC3204_rset (0x37、0x30);// IN2_R 至 RADC_P 至40kohmm
AIC3204_rset (0x36,3); // CM_1 (共模)通过40千欧连接到 LADC_M
AIC3204_rset (0x39、0xc0);// CM_1 (共模)到 RADC_M (通过40千欧)
AIC3204_rset (0x3b,0); // MIC_PGA_L 取消静音
AIC3204_rset (0x3c,0); // MIC_PGA_R 取消静音
AIC3204_rset( 0, 0); //选择第0页
AIC3204_rset (0x51、0xc0);//向左和向右上电 ADC
AIC3204_rset (0x52、0); //取消左右 ADC 的静音
AIC3204_rset( 0, 0);
USBSTK5505_WAIT (100); //等待
但是、我不太理解为什么使用 J=7……为什么 HI_byte (D)设置为0x06、 为什么 LO_BYTE (D)设置为0x90……
因此、设置寄存器值并不十分重要。 我参考了"TLV320AIC3204应用参考指南"。 但是、本文档中提供了寄存器名称。 但是、未提供设置其值的原因和方法。
有没有人可以通过推荐合适的文档来指导这一点、在该文档中我可以找到如何设置 AIC3204的寄存器值。
谢谢、此致、
Satyajit