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.

[参考译文] PCM1808:具有"Ghost & quot;值且噪声极高的数字输出

Guru**** 2350350 points
Other Parts Discussed in Thread: PCM1808, PCM5102A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1503570/pcm1808-extremely-noisy-digital-output-with-ghost-values

器件型号:PCM1808
主题: PCM5102A 中讨论的其他器件

工具/软件:

你好。 我是一名计算机工程专业的学生,正在尝试制作一个数字吉他踏板。 首先、我要尝试确保正确读取输入信号。 我使用的是 PCM1808模块、名为"CJMCU1808":

我找不到确切的原理图、但从外观来看、似乎实现了数据表中的基本典型应用电路。  

STM32H743 (在开发板上)是 I2S 主器件、48kHz、256Fs。

5V 来自开发板与笔记本电脑的 USB 连接。  

  

SPI1_RX 的配置方式相同。

当我尝试从 HSE 而不是 I2S 自己的 MCO 输出时钟时、我无法从 DOUT 获取输出。 当我将 ADC 设置为主器件时、只能使用 HSE 作为 MCK 进行输出-使用 HSE 时、将其设置为从器件不起作用。 使用 MCU I2S 中的 MCO、我在从模式下获得输出。

无论如何、这是我尝试使用 HSE 驱动 ADC 时的时钟配置:

但是、澄清一下、我确实不使用 HSE (MCO2)来馈送 ADC 时钟。 我使用的是 I2S MCK。

我通过执行以下操作获得了 STM32来生成时钟:

static void MX_I2S1_Init(void)
{
    // ... auto-generated CubeIDE stuff ... //
    
	uint32_t dummy_data[2] = { 0x00000000, 0x00000000 }; 
	HAL_I2S_Transmit_DMA(&hi2s1, (uint16_t*) dummy_data, 2);
}

当我用吉他播放音符时、这是播放音符之前逻辑分析仪上的 ADC 输出:

这是击中字符串时的瞬态:

将 ADC 插入 DAC (PCM5102A)可确认这不是一个读取/逻辑分析仪伪影。 输出听起来非常嘈杂和失真。 读数是在我的线路过滤器关闭(所有开关电源关闭)的情况下进行的、仅使用笔记本电脑电池电源。

我还尝试了使用 ADC 作为主器件、并使用 HSE MCK、它可以正常工作、但会呈现相同的输出。

我想知道我在做什么错。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Gabriel、

    您的正弦波看起来似乎正在发生文件夹覆盖/溢出效应。 这通常是由于 I2S 总线数据移位过多的位导致给定样本的数据跨越到下一帧。 仔细检查接收器和 ADC 输出是否按预期格式对齐。

    此致、
    Jeff McPherson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jeff!

    谢谢、我认为这是 STM32上设置的"数据对齐权限"属性造成的。 我将其更正为"左对齐数据":


    这种"位置失调"的噪声只发生在正弦波的负极上这一事实应该说明一点、但我仍然不理解。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Gabriel、  

    感谢您的耐心、我将研究这个延迟时间

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢! 一个重要的细节是、我尝试在具有~20cm 跳线的无焊接试验电路板上对电路进行原型设计。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Gabriel、

    我建议添加数据表典型应用所示的电路。

    例如、Vref 需要去耦至 GND、因为这是 ADC 运行的电压基准。 未使用的模拟输入也应交流耦合至 GND。 此外、需要对输入进行交流耦合、以正确地将输入信号偏置到 ADC 的共模电压。