Hi,TI的工程师们:
我现在使用PCM1865芯片来实现AD转换,主控芯片选择的是STM32,使用I2C作为控制接口,使用I2S作为输出接口,PCM1865的时钟源,我选择的是STM32的I2S控制器的MCLK,各时钟输出数据为BCK = 512KHz(64fs), LRCK = 8KHz, MCLK = 2MHz(256fs), fs = 8KHz,但是我读取page0,寄存器0x72(114)时,设备的状态是fade in而不是run,以至于我无法从I2S中接收到转换后的数据.因此,我现在的问题是,如何配置PCM1865来使设备进行AD转换从而使I2S输出数据.下图是我读取到的格寄存器的值:
user151383853:
手册有关这个介绍:
8.16 Fade-In and Fade-Out FunctionsThe PCM186x has Fade-In and Fade-Out functions on DOUT to avoid pop noise. This function is engaged on device power up/down and mute/unmute. The level changes from 0dB to mute or mute to 0dB are performed using pseudo S-shaped characteristics calculation with zero cross detection. Because of the zero cross detection, the time needed for the Fade-In and Fade-Out depends upon the analog input frequency (fIN). Fade takes 48/fIN until processing is completed. If there is no zero cross during 8192/fS, DOUT is faded in or out by force during 48/fS (TIME OUT). Figure 38 illustrates the Fade-In and Fade-Out operation processing.
JS Cao:
回复 user151383853:
首先,非常感谢你的回答.
关于芯片手册这段内容我的理解是:
因为有过零检测所以AD的模拟输入端需要一定的准备时间,而后PCM1865才可运行,不知道这样理解对不对???
我的实验现象是:
通过I2S读到的数据一直为0,但通过PCM1865状态寄存器读到的值如我帖子首页所示,时钟一切正常啊,这是为什么呢???
我的解决方法有:
改变模拟输入源,有音频传感器,还有稳压源,但读到的数据恒为0,也改变了PCM1865的采样频率,现象仍然如上,现在彻底没思路了,不知道该如何解决了.
user5724812:
回复 user151383853:
请问一下这个问题我们也遇到了 fade in 和fade out的时候会无声,状态一直停在那边 需要怎么解决
user5781709:
您好 楼主 请问您通过STM32的I2C接口配置PCM1865时,将PCM1865的设备地址右移一位后再发出去吗?还是直接根据手册的设备地址:0x94或0x96;STM32直接发送0x94或者0x96呢