This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的所有人:
有 一个基于 pcmd3180器件的音频项目、使用 I2S 接口时的采样率为192KHz。
我们在获取正确的音频数据时会遇到一些困难。 请给我们一些调试建议。
此参考设计如下所示为2通道音频。
首先、MCU 可以使用 i2c 接口成功控制 pcmd3180地址。 然后设置这些寄存器、通过 I2S 接收2CH 音频信号。 设置如下所示。
1.为设备通电:
从硬件关断模式转换到睡眠模式(或软件关断模式):
a.仅当 IOVDD 和 AVDD 电源稳定至稳态工作电压时释放 SHDNZ
b.等待至少1ms、让器件初始化内部寄存器初始化
3. 只要需要记录操作,就从睡眠模式转换到活动模式:
//#通过 I2C 使用内部 Areg 写入 P0_R2来唤醒设备
//w 98 02 81
PCMD3180_WRITE_reg (0x00、0x02、0x81);
rec_reg=PCMD3180_read_reg (0x00、0x02、rec_buf);
//#通过 I2C 写入 P0_R60将 CH1_INSRC 配置为数字 PDM 输入
//w 98 3C 40
PCMD3180_WRITE_reg (0x00、0x3c、0x40);
//#通过 I2C 写入 P0_R65将 CH2_INSRC 配置为数字 PDM 输入
//w 98 41 40
PCMD3180_WRITE_reg (0x00、0x41、0x40);
//#通过 I2C 写入 P0_R70将 CH3_INSRC 配置为数字 PDM 输入
//w 98 46 40
PCMD3180_WRITE_reg (0x00、0x46、0x40);
//#
//#通过 I2C 写入 P0_R75将 CH4_INSRC 配置为数字 PDM 输入
//w 98 4B 40
PCMD3180_WRITE_reg (0x00、0x4b、0x40);
//#通过 I2C 写入 P0_R34将 PDMCLK1_GPO1配置为 PDMCLK
//w 98 22 41
PCMD3180_WRITE_reg (0x00、0x22、0x41);
//#通过 I2C 写入 P0_R35将 PDMCLK1_GPO2配置为 PDMCLK
//w 98 23 41
PCMD3180_WRITE_reg (0x00、0x23、0x41);
//#通过 I2C 写入 P0_R36将 PDMCLK1_GPO3配置为 PDMCLK
//w 98 24 41
PCMD3180_WRITE_reg (0x00、0x24、0x41);
//通过 I2C 写入 P0_R37将 PDMCLK1_GPO4配置为 PDMCLK
//w 98 25 41
PCMD3180_WRITE_reg (0x00、0x25、0x41);
//#通过 I2C 写入 P0_R43将 PDMDIN1_GPI1和 PDMDIN2_GPI2配置为 PDMDIN1和 PDMDIN2
//带98 2B 45
PCMD3180_WRITE_reg (0x00、0x2b、0x45);
//#通过 I2C 写入 P0_R44将 PDMDIN3_GPI3和 PDMDIN4_GPI4配置为 PDMDIN3和 PDMDIN4
//w 98 2C 67
PCMD3180_WRITE_reg (0x00、0x2c、0x67);
//#通过 I2C 写入 P0_R115来使能 Ch-1到 Ch-8的输入
//w 98 73 FF
PCMD3180_WRITE_reg (0x00、0x73、0xff);
//#通过 I2C 写入 P0_R116、启用 ASI 输出 Ch-1至 Ch-8插槽
//w 98 74 FF
PCMD3180_WRITE_reg (0x00、0x74、0xff);
//#通过 I2C 写入 P0_R117来给 PDM 转换器和 PLL 上电
//w 98 75 60
PCMD3180_WRITE_reg (0x00、0x75、0x60);
设置 PWR_CFG 寄存器后、我们可以读取正确的设置值(0x60)。
//#读取 PWR_CFG 寄存器
REC_REG=PCMD3180_READ_REG (0x00、0x75、rec_BUF);
然后读取 DEV_STS0 和 DEV_STS1寄存器、并发现 DEV_STS0/DEV_STS1 值分别为0x00和0xc0。
这意味着所有 PDM 通道都关闭。
//# READ DEV_STS0寄存器
REC_REG=PCMD3180_READ_REG (0x00、0x76、rec_BUF);
//# READ DEV_STS1寄存器
rec_reg=PCMD3180_read_reg (0x00、0x77、rec_buf);
最后、我们 在 pcmd3180中未发现 CLK 信号输出。
如何进行下一步操作。 请就 这个问题给我们一些建议。 非常感谢。
此致、
升华
e2e.ti.com/.../PCMD3180_5F00_2_5F00_MIC.cfg
我加入了一个来自我们的工具 Pure Path 控制台的代码,使2个 PCM Mikes 工作。 也许这种代码可以尝试.
尊敬的 Sanjay:
感谢您的快速响应。
我们刚刚测试了您按如下方式提供的代码"PCMD3180_2_MIC.cfg"、但仍然无法为 PDM 麦克风生成 CLK 输出 signla。
应用了代码以进行测试、 发现 pcmd3180中没有 CLK 信号输出。
尽管 ASI_OUT_CH_EN (0x74)和 PWR_CFG (0x75)的寄存器已启用 PDM 通道、
DEV_STS1寄存器的值仍然为0x0c、这意味着所有 PDM 通道均关闭。
请参阅以下测试结果。
/#通过 I2C 写入 P0_R117来给 PDM 转换器和 PLL 上电
//w 98 75 60
PCMD3180_WRITE_reg (0x00、0x75、0x60);
//# READ DEV_STS1寄存器
rec_reg=PCMD3180_read_reg (0x00、0x77、rec_buf);
下一步我们应该做什么或任何建议?
此致、
升华
您向 BCLK 和 FSYNC 提供了什么时序?
尊敬的 Sanjay:
很抱歉回复延迟。
我们应用的 ASI 设置为2通道(L-CH/R-CH)、采样率为192KHz、使用 I2S 接口及其 ASI_CFG0和 MST_CFG1寄存器 pcm3180的设置如下所示。
寄存器设置是否正确? 感谢您的支持。
------------------------------------------------------------------------------------------------------------------------------------------------------------------
对于 I2S 模式下 PDM 解码器的16位分辨率的 ASI 设置、ASI_CFG0寄存器的值为0x40。
ASI_CFG0寄存器(页面= 0x00、地址= 0x07)[复位= 30h]
BCLK 频率为6.144 MHz、BLCK 与 FSYNC 之比为32。
MST_CFG1寄存器的设置值为0x62。
MST_CFG1寄存器(页面= 0x00、地址= 0x14)[复位= 48h]
------------------------------------------------------------------------------------------------------------------------------------------------------------------
此致、
盛华
我会很快回复
此致
桑贾伊
是否在从模式下使用器件。 是 FSYNC 和 BCLK 输入吗? MST_CFG1仅适用于主模式。
这是您自己的电路板还是使用的 TI 评估板。 是否存在 GPO1引脚故障的可能性。 您可以尝试切换到 PDMCLK 的另一个 GPO 引脚、
尊敬的 Sanjay:
我们希望通过 I2S 将器件设置为从模式、并且 FSYNC 和 BCLK 的信号 将从 PCDM3180发送到 PDM 麦克风。
现在、我们已 在 PDCM3140 EVK 中成功使用2CH、I2S、16位、从模式接收到正确的音频信号。
下一步、我们将尝试使用电路板将冰箱连接至 PCM3180、但现在由于没有 CLK Outpt 到 PDM 麦克风、冰箱仍然出现故障。
以下原理图是我们的单通道 PDM 麦克风 PCB 设计。
我们将继续研究为什么 PDM 麦克风上没有 CLK 数据输出。 例如、我们可以尝试为 PDMCLK 等切换到另一个 GPO 引脚。 感谢你的帮助。
此致、
盛华
好的。 如果您有任何其他问题、敬请告知
尊敬的 Sanjay:
非常感谢。
此致、
盛华
尊敬的 Sanjay:
很抱歉回复延迟。
我们希望通过配置 PCM3180、可以使用 I2S 接口以192KHz、16位的频率接收 PDM 麦克风。
首先、我们遵循 PCM3180的数据表、以便 在 PCM3180器件中启用所有8个 PDM 通道而不启用 PDM 时钟输出。
奇怪的是、即使我们启用了 ASI_OUT_CH_EN (0x74)和 PWR_CFG (0x75)的寄存器、 DEV_STS0和 DEV_STS1 寄存器的值分别为0x00、0x0c、这意味着所有 PDM 通道都关闭。
该应用应获得正确的设置值: DEV_STS0:0xFF 和 DEV_STS1:0xE0、这意味着所有 PDM 通道均已开启。
我们如何采取下一步措施或为我们提供任何建议?
感谢你的帮助。
PCM3180的原理图如下所示。
此致、
升华
尊敬的 Shenghua:
您使用的是 EVM 还是自己的电路板? 这可能是一个硬件故障的某种.
是否已应用 BCLK 和 FSYNC 并连接到 IC 的引脚?
我还建议检查是否所有电源都达到了 IC。
尊敬的 Sanjay:
首先、我们在 pcmd3140中测试了 EVB、它可以工作。
然后、我们还按照数据表中的程序测试了我们自己电路板的 PCMD3180器件、该器件由于没有 PDM 时钟输出而出现故障。
有四个步骤(S1、S2、S3、S4)从 PC 获取正确的数字麦克风数据。
第一步、我们测量了 CLK 信号(PCMD3180中的 CLK1、MIC1中的 TP12、CLK)、发现没有向 MIC1输出 CLK 信号。
如何执行下一步或任何建议?
感谢你的帮助。
此致,盛华
一些最初的测试:
SHDNZ 引脚电压是否为3.3V?
请检查 Vref (2.75V)、Areg (1.8V)、IOVDD (3.3V)、AVDD (3.3V)上的电压?
尊敬的 Sanjay:
我们测量的 PCM3180的这些电压如下所示。
SHDNZ :3.52V
Vref:2.72V, VARG: 2.0V
IOVDD:3.52V、 AVDD:3.52V
正确吗?
感谢你的帮助。
此致,盛华
通常、我们期望 IOVDD /AVDD 为3.3V、绝对最大值为3.6。 为什么电源高于3.3V?
AREG 应为1.8V
尊敬的 Sanjay:
我们通过数字仪表而不是数字示波器重新测量这些电压、 这些值 如下所示是正确的。
SHDNZ :3.3V
Vref:2.72V, VARG: 1.8V
IOVDD:3.3V; AVDD:3.3V
然后、我们还根据 PCMD3180数据表测试了我们自己电路板的 PCMD3180器件、该器件由于没有 PDM 时钟输出而出现故障。
这些 PDM 通道应在 启用输入 Ch-1至 Ch-8和 启用 ASI 输出 Ch-1至 Ch-8后启用。
然后 我们观察了 DEV_STS0寄存器、值 为0x00表示这些 PDM 通道仍然断电。
测试代码和调试信息如下所示。
// 2024.0418通过 ysh 3180由 EVB 测试...
//w 98 01 01
// SW_RESET
//PCMD3180_WRITE_reg (0x00、0x01、0x01);
PCMD3180_wr_reg (0x00、0x01、0x01);
HAL_DELAY (1000);
//#通过 I2C 使用内部 Areg 写入 P0_R2来唤醒设备
//w 98 02 81
PCMD3180_WRITE_reg (0x00、0x02、0x81);
HAL_DELAY (1000);
rec_reg=PCMD3180_read_reg (0x00、0x02、rec_buf);
//
//#通过 I2C 写入 P0_R60将 CH1_INSRC 配置为数字 PDM 输入
//w 98 3C 40
PCMD3180_WRITE_reg (0x00、0x3c、0x40);
//#通过 I2C 写入 P0_R65将 CH2_INSRC 配置为数字 PDM 输入
//w 98 41 40
PCMD3180_WRITE_reg (0x00、0x41、0x40);
//#通过 I2C 写入 P0_R70将 CH3_INSRC 配置为数字 PDM 输入
//w 98 46 40
PCMD3180_WRITE_reg (0x00、0x46、0x40);
//#
//#通过 I2C 写入 P0_R75将 CH4_INSRC 配置为数字 PDM 输入
//w 98 4B 40
PCMD3180_WRITE_reg (0x00、0x4b、0x40);
//#通过 I2C 写入 P0_R34将 PDMCLK1_GPO1配置为 PDMCLK
//w 98 22 41/40
PCMD3180_WRITE_reg (0x00、0x22、0x40);
//#通过 I2C 写入 P0_R35将 PDMCLK1_GPO2配置为 PDMCLK
//w 98 23 41/40
PCMD3180_WRITE_reg (0x00、0x23、0x40);
//#通过 I2C 写入 P0_R36将 PDMCLK1_GPO3配置为 PDMCLK
//w 98 24 41/40
PCMD3180_WRITE_reg (0x00、0x24、0x40);
//通过 I2C 写入 P0_R37将 PDMCLK1_GPO4配置为 PDMCLK
//w 98 25 41/40
PCMD3180_WRITE_reg (0x00、0x25、0x40);
//#通过 I2C 写入 P0_R43将 PDMDIN1_GPI1和 PDMDIN2_GPI2配置为 PDMDIN1和 PDMDIN2
//带98 2B 45
PCMD3180_WRITE_reg (0x00、0x2b、0x45);
//#通过 I2C 写入 P0_R44将 PDMDIN3_GPI3和 PDMDIN4_GPI4配置为 PDMDIN3和 PDMDIN4
//w 98 2C 67
PCMD3180_WRITE_reg (0x00、0x2c、0x67);
//#通过 I2C 写入 P0_R115来使能 Ch-1到 Ch-8的输入
//w 98 73 FF
PCMD3180_WRITE_reg (0x00、0x73、0xff);
//#通过 I2C 写入 P0_R116、启用 ASI 输出 Ch-1至 Ch-8插槽
//w 98 74 FF
PCMD3180_WRITE_reg (0x00、0x74、0xff);
//#通过 I2C 写入 P0_R117来给 PDM 转换器和 PLL 上电
//w 98 75 60
PCMD3180_WRITE_reg (0x00、0x75、0x60);
如何执行下一步或为我们提供任何建议?
感谢你的帮助。
此致,盛华
您是否使用另一个芯片对此进行了测试?
我注意到您报告了3.5V 的 Vcc。 是否存在施加高电压导致损坏的可能性?
尊敬的 Sanjay:
感谢你的帮助。
我们已经测试了四块电路板、得到了相同的结果:没有3.3V Vcc 的 PDMCLK 输出。
对于 PCMD3180数据表、GPO_CFG0 (0x22)寄存器、低位字节被保留;但是、 在 数据表的示例代码中、GPO_CFG0寄存器被设置为0x41。
哪一项是正确的? 我们应该将 GPO_CFG0设置 为 0x41或0x40以启用"GPO1配置为 PDM 时钟输出"吗?
PCMD3180数据表中的示例代码。
此致、
盛华
我认为982241应该没问题。 我认为这也是您编程到 PCMD3140 EVM 中的设置、然后 PCMD3140 EVM 提供 PDM 时钟输出。
我认为该软件可能是可以的,我们可能有一个硬件故障。
我建议将 GPO1引脚设置为通用输出、并尝试使用下面的 GPO_VAL 寄存器向该引脚写入高电平和低电平。
这应确认 I2C 是否正常工作以及 GPO 引脚是否实际正常工作。
如果 GPO 引脚正常运行并通过 I2C 命令进行切换、则我看到特定于 tjhat FSYNC 和 BCLK 信号不正确或未到达 IC 引脚的唯一原因。 您应该使用示波器直接检查引脚、以查看这些信号是否达到
尊敬的 Sanjay:
感谢你的帮助。
根据您的建议、我们尝试 在引脚7中将 GPO_CFG0和 GPO_VAL 配置为 GPO1、如下所示。
然后、我们将固件设置为切换引脚7、然后测量信号且发现无信号输出。
硬件电路非常简单(没有连接到 Vdd 或接地)、但 在 PIN7中没有信号输出。
PS:设备名称是 PDM3180。
您是否有 pdm3180 evk 可供我们测试? 感谢你的帮助。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
寄存器按如下方式进行设置。
在 main while 循环中切换 GPO1
设备名称为 PDM3180。
此致、
盛华
在我看来、I2C 命令要么不正确、要么与芯片的 I2C 引脚的连接不起作用。
您如何为电路板提供 I2C?
尊敬的 Sanjay:
我们遵循 PCMD3180规范中的 I2C 命令、其 CLK 速率为100KHz。
然后、我们通过 I2C 读取和写入命令测试了 SLEEP_CFG 寄存器(寄存器地址:0x02)。
首先、我们将0x81写入地址0x02并读取0x02地址。
我们可以成功读取正确的值:0x81。 测试结果如下。
下一步我们应该做什么或任何建议?
此致、
盛华
GPIO 设置可能设置为开漏。 您可以设置为高电平和低电平有效、然后切换引脚吗? 这应该可以正常工作、并可以证明 I2C 和引脚正常。
尊敬的 Sanjay:
根据您的建议、我们将 GPIO1寄存器设置 为高电平和低电平有效、然后切换引脚。
然后、我们在 GPIO 引脚中找到如下所示的切换信号、并证明 I2C 和引脚正常。
我们要 将此器件配置为生成 具有2通道(CH1/CH2) I2S、192KHz 采样速率的音频信号。
如何配置这些寄存器、以为 PDM 麦克风生成 ASI 信号、如下所示?
将 GPIO1初始 设置为高电平和低电平有效、然后切换引脚。
用于 GPIO 切换的 while 循环
感谢您的支持。
此致、盛华
很高兴听到这个消息。 这意味着 I2C 正在工作且引脚正在激活、
PDM 时钟还需要将 GPIO 设置为高电平和低电平有效。 我建议在 PDM 麦克风代码中也使用同样的
尊敬的 Sanjay:
我们将尝试将 设置为高电平有效和低电平有效的 GPIO 添加到代码中、然后测试 PDM 麦克风。
我们要 将该器件配置为生成 具有2通道(CH1/CH2) I2S、192KHz 采样率和16/32位格式的音频信号。
如何配置这些寄存器、以为 PDM 麦克风生成 ASI 信号、如下所示?
您能提供示例代码供我们测试吗?
此致、
盛华
我首先建议将数据表中的 I2C 设置与 I2C 设置相关的时序一起使用。 这些引脚可以通过 GPIO 设置为高电平有效和低电平有效来使用。
如果您获得一个 PDM 时钟、那么我们可以适应另一个计时
尊敬的 Sanjay:
在将要设置为高电平有效和低电平有效的 GPIO 添加到代码后、重新测试 PDM 麦克风。
然后我们得到相同的结果、没有 PDM 时钟输出到 PDM 麦克风。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
# SW_RESET
W 98 01 01
延迟1秒
#通过 I2C 使用内部 Areg 写入 P0_R2唤醒设备
W 98 02 81
#延迟1秒
#GPIO1要设置为高电平和低电平有效
宽98 21 11
#
#通过 I2C 写入 P0_R60将 CH1_INSRC 配置为数字 PDM 输入
W 98 3C 40
#
#通过 I2C 写入 P0_R65将 CH2_INSRC 配置为数字 PDM 输入
W 98 41 40
#
#通过 I2C 写入 P0_R70将 CH3_INSRC 配置为数字 PDM 输入
宽98 46 40
#
#通过 I2C 写入 P0_R75将 CH4_INSRC 配置为数字 PDM 输入
W 98 4B 40
#
#通过 I2C 写入 P0_R34将 PDMCLK1_GPO1配置为 PDMCLK
W 98 22 41
#
#通过 I2C 写入 P0_R35将 PDMCLK1_GPO2配置为 PDMCLK
W 98 23 41
#
#通过 I2C 写入 P0_R36、将 PDMCLK1_GPO3配置为 PDMCLK
宽98 24 41
#
#通过 I2C 写入 P0_R37、将 PDMCLK1_GPO4配置为 PDMCLK
宽98 25 41
#
#通过 I2C 写入 P0_R43将 PDMDIN1_GPI1和 PDMDIN2_GPI2配置为 PDMDIN1和 PDMDIN2
W 98 2B 45
#
#通过 I2C 写入 P0_R44将 PDMDIN3_GPI3和 PDMDIN4_GPI4配置为 PDMDIN3和 PDMDIN4
宽98 2C 67
#
#通过 I2C 写入 P0_R115来启用 Ch-1到 Ch-8的输入
宽98 73 FF
#
#通过 I2C 写入 P0_R116启用 ASI 输出 Ch-1到 Ch-8插槽
W 98 74 FF
#
#加电 PDM 转换器和 PLL 通过 I2C 写入 P0_R117
宽98 75 60
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
此致、
盛华
是否为器件应用了用于该测试的 BCLK 和 FSYNC?
此外、您还可以尝试切换 GPO 引脚吗? 我认为 GPIO 引脚已切换至
尊敬的 Sanjay:
好消息是、GPIO1和 GPO1已经成功切换。
配置 音频 CH1/CH2后、我们应该如何 为 I2S、16/32位、192KHz 采样率设置 BCLK 和 FSYNC?
至于 对器件应用了 BCLK 和 FSYNC、必须设置哪些寄存器进行测试?
您能提供示例代码供我们测试吗?
-音频通道: CH1/CH2
- I2S 格式,16/32位,192KHz 采样速率
此致、盛华
------------------------------------------------------------------------------------------------------------------------------------------------------
GPO1切换测试流程如下所示。
首先、我们刚刚测试了两种模式 GPO_CFG0 设置以测试 GPO 切换功能。
情况1: GPO_CFG0(0x22):0x10, GPO 切换失败(GPO 电压低)
CASE2: GPO_CFG0 (0x22):0x11, GPO1切换 成功
根据数据表、寄存器 GPO_CFG0的低4位是保留的。
为了让 GPO1进行切换、 我们必须将 GPO_CFG0的低位设置 为"驱动低电平有效和高电平有效" 、如 GPIO_CFG0寄存器。
。 通常 ASI _CFGO 设置协议和位数。
我们在从模式下运行、然后需要在芯片上从外部应用 BCLK 和 FSYNC。
芯片具有一种自动时钟机制,当芯片获得了有效的传入时序时,芯片内部就可以设置芯片。
步骤:
按照数据表中给出的值加载 I2C。 如上所述启用 GPO
2.作为第一步,我建议给器件提供44.1kHz 的 FSYNC 和11.2896的 BCLK。 (192K 可稍后给出)
3.检查是否出现 PDM 时钟。 如果未出现、请参阅 ASI_STS 寄存器以确定
如果时序到达芯片引脚正常。
尊敬的 Sanjay:
我们稍后再试。 感谢您的支持。
此致、
盛华
当然可以。
此致
桑贾伊
尊敬的 Sanjay:
很抱歉回复延迟。
我们按照您的建议执行了测试步骤、最终获得了正确的麦克风数据。
现在我们在从模式下运行、然后需要从外部对芯片应用 BCLK 和 FSYNC。
步骤:
按照数据表中给出的值加载 I2C。
ASI 配置:I2S、32位模式、CH1/CH2、48KHz 采样率
#校验和0
#由 PCMD3180-SW v3.0.1生成
# PCMD3180设备配置
#------------------
#重置
#------------------
#选择页面0
W 98 00 00 00
#重置设备
W 98 01 01
# 1ms 延迟
#------------------
#开始设备内存
#------------------
#第0页(0x00)转储
#选择第0页
W 98 00 00 00
#唤醒并启用 Areg
W 98 02 81
# ASI 配置: I2S, 32位模式
W 98 07 70
#通过 I2C 写入 P0_R60将 CH1_INSRC 配置为数字 PDM 输入
W 98 3C 40
#通过 I2C 写入 P0_R60将 CH2_INSRC 配置为数字 PDM 输入
W 98 41 40
#通过 I2C 写入 P0_R34将 PDMCLK1_GPO1配置为 PDMCLK
W 98 22 41
#通过 I2C 写入 P0_R43将 PDMDIN1_GPI1配置为 PDMDIN1
W 98 2B 40
# PDM 输入通道/2使能
宽98 73 c0
#ASI 输出通道/2启用
宽98 74 c0
#加电 PDM 转换器和 PLL 通过 I2C 写入 P0_R117
宽98 75 60
#应用 FSYNC = 48kHz 且 BCLK = 3.072 MHz 和
#开始录制数据通过主机上的 ASI 总线与 I2S 协议32位信道字长
第一步,将48kHz 的 FSYNC 和3.072MHz 的 BCLK 应用到器件。
将 BCLK 设置为 3.072 MHz 且 FSYNC = 48kHz 后、我们发现 PDM 时钟成功输出到 PDM 麦克风。
3.检查是否出现 PDM 时钟。 如果未出现、请参阅 ASI_STS 寄存器以确定
ASI 状态寄存器为0x44、如数据表说明。
最后,我们尝试了测试音频数据,它可以被正确地记录。
下面是使用 Audacity 工具的麦克风记录结果。
感谢你的帮助。
此致、
盛华