你好!
我在一个产品中使用了3254,希望用其产生BEEP信号,我在EVM参考板上写的脚本,可以实现BEEP功能,但同样的脚本却无法令产品中的3254产生BEEP。
这些脚本我是通过程序,由MCU的I2C接口配置给3254的寄存器,我也可将这些寄存器的值再通过I2C接口全部读出来,同EVM参考板上的所有寄存器进行比较,
我比较后,发现只有下面4处不同,其它的寄存器完全相同,产品的硬件电路配置也与参考板的设计相同,请帮忙分析看看是什么原因?
PAGE0
Register_36 : EVM上是0xCC ,产品上的是0x44
Register_37 : EVM上是0xEE ,产品上的是0xEE
Register_38 : EVM上是0x11 ,产品上的是0x00
Register_71 : EVM上是0x04 ,产品上的是0x84
PAGE1
Register_63: EVM上是0xF3 ,产品上的是0x03
我查了手册,发现这些都是status flag只读状态寄存器,指示的都是“Applied Gain is not equal to Programmed Gain”
不知道在什么样的情况下,会产生这样的问题?目前我的软件和硬件配置均与EVM相同,就是上面这些寄存器的差别。
项目紧急,希望早日收到回复,多谢!
Lara
Lara Lin:
——不知CODEC在什么样的情况下,会报告这样的问题:Applied Gain is not equal to Programmed Gain,实际增益与配置增益不符?
Anyone can help???
Roman Wang:
你好,
请问你的脚本能上传吗,便于我们测试分析。
1 Page 0 / Register 36: ADC Flag Register,你的需求是生成Beep信号,应该不需要用到ADC。
2 Page 0 / Register 38: High-Power Output Driver Control Register,这是配置寄存器,11代表 HPRCOM配置成了单端输出,且输出短路保护设置为短路时关闭输出驱动的电源。 这是需要配置的,请检查EVM和MCU引入的配置是否一至。
3Page 0 / Register 71: DAC_R1 to HPRCOM Volume Control Register,也是控制寄存器。
4Page 1 / Register 55–64: Reserved Registers 这个不需要配置。
只有Page 0 / Register 36: ADC Flag Register是status flag。