我现在尝试将编解码器初始化为仅输出。 尝试使用线路输出、但线路输出驱动器从未上电。
我的代码按照参考手册第2.4.6节的概述初始化编解码器。 P0R37显示了初始化后两个 DAC 上电的标志、但线路输出驱动器不上电(因此我没有从编解码器获得输出)。 我在这方面已经挣扎了一段时间、有人能帮我解决。
初始化代码:
AIC_writeRegister (AIC3106_REG_PAGESELECT、0);
AIC_writeRegister (AIC3106_REG_RESET、1);
/*配置 AIC3204 */
//####################################
//#时钟和接口设置
AIC_writeRegister (AIC3106_REG_PAGESELECT、0);
AIC-78_writeRegister (11,0b10000001);//为 NDAC 分频器加电,值为1.
AIC-78_writeRegister (12,0b10000100);//为值为4的 MDAC 分频器加电
AIC 写入寄存器(18、0b10000001);//为 NADC 分频器加电值1
AIC-78_writeRegister (19,0b10000100);//为 mAdc 分频器加电,值为4.
AIC_writeRegister (14、32);//针对192ksps 将 DOSR 编程为32
AIC_writeRegister (20、32);//针对192ksps 将 AOSR 编程为32
AIC-78_writeRegister (27,1);//I2S 和16位|在发生事件时更改为 DSP 和32位 (DOUT 在未使用时为高阻抗)
AIC_writeRegister (28、0x00);//数据偏移= 0
AIC_writeRegister (60、17);//将 DAC 处理块设置为 PRB_P17
AIC_writeRegister (61、13);//将 ADC 处理块设置为 PRB_P13
//####################################
//####################################
//#编程模拟块
AIC_writeRegister (AIC3106_REG_PAGESELECT、1);//选择第1页
AIC_writeRegister (1、8);//禁用从 DVDD 生成粗略 AVDD
AIC_writeRegister (2、1);//启用模拟块,使用 LDO 电源
AIC_writeRegister (10、0b00111011);//程序共模电压默认为0.9V
AIC_writeRegister (123、1);//Reference 在模拟块之后的40ms 内充电
AIC_writeRegister (14、0b00001000);//ROUT LOL
AIC_writeRegister (15、0b00001000);//rout lor
AIC-78_writeRegister (18,0);//撤消 LOL,0b00011011的静音,用于27db
AIC_writeRegister (19、0);//lor 取消静音
AIC_writeRegister (9、0x00001100);//加电 LOL 和 LOR 驱动程序
//####################################
//####################################
//#为 DAC 加电
AIC_writeRegister (AIC3106_REG_PAGESELECT、0);//选择第0页
AIC-writeRegister (64,2);//左 vol =右 vol 取消静音
AIC _写入寄存器(63、0b11010100);//为 LDAC/RDAC 加电(每个 DAC 字一个软步进)
AIC _写入寄存器(64、0);//取消 LDAC/RDAC 静音
//####################################
Michael