TI论坛
直播中

山中老虎

8年用户 930经验值
擅长:制造/封装
私信 关注
[问答]

如何配置PCM1865来使设备进行AD转换从而使I2S输出数据?

我现在使用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输出数据.下图是我读取到的格寄存器的值:

回帖(1)

王辉

2024-10-15 17:57:33
要配置PCM1865以实现AD转换并使I2S输出数据,您需要按照以下步骤操作:

1. 初始化STM32的I2C和I2S接口:
   - 配置I2C接口的时钟、速率、地址等参数。
   - 配置I2S接口的时钟、数据格式、通道数等参数。

2. 初始化PCM1865:
   - 通过I2C接口向PCM1865发送初始化命令,设置采样率、格式等参数。

3. 配置PCM1865的寄存器:
   - 根据您的需求,配置PCM1865的寄存器,例如设置采样率、格式、时钟源等。

4. 检查PCM1865的状态:
   - 通过读取PCM1865的状态寄存器(例如寄存器0x72),检查设备是否处于运行状态。如果状态不是“run”,您需要进一步检查配置是否正确。

5. 从I2S接口读取数据:
   - 配置STM32的I2S接口以从PCM1865接收数据。确保I2S接口的时钟、数据格式等参数与PCM1865的配置相匹配。

关于您提到的设备状态为“fade in”而不是“run”的问题,您可以尝试以下方法:

1. 检查PCM1865的配置寄存器是否正确设置。确保采样率、格式、时钟源等参数与您的要求相匹配。

2. 确保STM32的I2S接口配置正确。检查时钟、数据格式、通道数等参数是否与PCM1865的配置相匹配。

3. 检查STM32的I2S接口是否正确初始化。确保I2S接口已正确配置并启用。

4. 如果问题仍然存在,您可以尝试查阅PCM1865的数据手册,了解“fade in”状态的具体含义以及如何将其更改为“run”状态。

5. 您还可以尝试在STM32的I2S接口上使用不同的时钟设置,例如更改BCK、LRCK和MCLK的值,以查看是否可以解决问题。

通过以上步骤,您应该能够配置PCM1865以实现AD转换并使I2S输出数据。如果问题仍然存在,请查阅相关文档或寻求技术支持。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分