Part Number:PCM1800
当我采用PCM1800芯片作为从模式时,STM32采用I2S设置为主接收模式,采样频率为44.1khz,不管我VINL和VINR左右通道有没有接入信号输入,DOUT都会产生波形,并且波形数据跳动很杂乱,如何去解析输出的DOUT数据呢?
Amy Luo:
您好,
VINL和VINR左右通道没有接入信号输入,是指输入端信号接地还是悬空了信号输入端?如果是悬空输入端,那么周围的电磁干扰可能会耦合进ADC,也会造成DOUT有输出。
Biao Jiang 说:并且波形数据跳动很杂乱,
在有信号输入时,波形数据跳动很杂乱具体是什么意思?
所附波形中,紫色的波形是BCK?黄色的是LRCK?蓝色的是DOUT吗?所附波形图具体想说明什么?
,
Biao Jiang:
您好,VINL和VINR左右通道不管是悬空还是接地DOUT都会有输出,并且输出的数据就像附图所示,不是一个固定的值而是大变动的。
所附波形中,紫色的波形是BCK,黄色的是LRCK,蓝色的是DOUT没错。
我是第一次接触ΔΣ ADC,目前困扰我的是这个ADC输出的数据是怎么去处理的,和其他类型的ADC输出的数据处理方式是否相同,例如我输入一个1KHZ的正弦波,I2S的采样频率为44.1KHZ,采256个点,这些点的数据是否可以还原出这个正弦波
,
Amy Luo:
PCM1800 内部集成的是Delta-Sigma ADC,它与Delta-Sigma 类型的ADC 模数转换的工作原理是一样的,可能是因为是音频ADC,因为需求不同引出的控制管脚和一些接口管脚可能与通用的ADC不同。比如引出的数据接口是音频接口 而不是SPI、I2C或其他接口类型。
PCM1800 建议AC耦合输入,因为其内部有直流偏置,否则的话输入信号需要以2.1V共模电压输入。因此VINL和VINR左右通道接地的话,也需经1uf电容接地。
输出数据格式有FMT管脚设置,如下截图,具体输出格式 Slave Mode请参考datasheet Figure 22
,
Biao Jiang:
您好,我们的控制管脚和接口管脚是引出到MCU相应的SAI接口管脚上,当我尝试在VINR输入一个1KHZ的正弦波,从DOUT获取的数据并不是准确的数据,解析出来的数据并不能形成一个正弦波的波形,反而很杂乱。(附上我们的硬件原理图以及软件SAI的配置)
,
Amy Luo:
不使用的模拟输入管脚建议通过电容接地;
看您配置的DATA FORMAT是20-bit, I2S,但左边图片date size 是32bits?
MODE1 MODE0都是0,是Slave mode,左边图片是master ,这里是指主控端的参数配置吗?
模拟输入只有一路VINR,为什么output mode 是stereo?
,
Biao Jiang:
您好,左图是MCU主控端的配置,data size有做相应的数据移位处理。
output mode在I2S Standard下只能选择stereo。
请问正确的配置应该是怎么样的呢?
,
Amy Luo:
我的意思是PCM1800 配置什么样的设置,主控端就要有对应的设置,这样接口才匹配,主控端才能正确识别PCM1800 输出的数据。
在slave模式下配置DATA FORMAT=01数据输出格式如下截图所示:
您可以用示波器检测SYSCLK、LRCK、BCK和DOUT波形,看波形频率是否为期望的输出,LRCK和SYSCLK之间是否同步。