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.

[参考译文] TLV320AIC3204:具有 PDM 输出的数字麦克风-请提供帮助

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1452895/tlv320aic3204-digital-microphone-with-pdm-output---help-needed-please

器件型号:TLV320AIC3204

工具与软件:

您好!

我从来没有要深入探索这一点,但我现在回到这个项目。

我的当前电路设置将 IN1_L (引脚13)和 IN2_L (引脚14)用于模拟麦克风。

出于开发目的、 IN1_R (引脚14)、IN2_R (引脚16)、IN3_R (引脚21)和 IN3_L (引脚20)输入上也有空白焊盘。 这两个灯目前未使用、但我可以在焊盘上焊接导线以接触引脚。

DIN/MFP4 (引脚4)未使用;

SCLK/MFP3 (引脚8) 用作来自调制解调器的 PCM CLK 8kHz 输入。

MISO / MFP4 (引脚11)用于将 PCM 数据输出至调制解调器。

GPIO/MFP5 (引脚32)用于 向调制解调器输出 PCM CLK 2.048MHz。

基本来说、 引脚8、11和32将音频路由到调制解调器的 PCM 输入语音通道、我需要这一点。

问题1:  根据 文档 SLOS602A–2008年9月、P0_R81 (ADC 通道设置):

D5–D4 R/W 00数字麦克风输入配置
             00:GPIO 用作数字麦克风输入
             01:SCLK 用作数字麦克风输入
             10:DIN 用作数字麦克风输入
             11:保留。 请勿使用
D3 R/W 0左声道数字麦克风功率控制
             0:未将左声道 ADC 配置为数字麦克风
             1:配置为数字麦克风的左声道 ADC
D2 R/W 0右声道数字麦克风功率控制
             0:未将右声道 ADC 配置为数字麦克风
             1:配置为数字麦克风的右通道 ADC

我认为我只需要选择上述选项中的一个? 如果要选择 正确的 ADC 作为麦克风输入、则无需配置 D5-D4、如何 配置这些寄存器? 我是否要将它们设置为"11"、尽管它显示"保留"。 请勿使用"? 基本上、我从中得到的是、一个数字麦克风可以将其 PDM 数据流式传输到5个不同的数字输入?

问题2: 根据问题1中的表、如果我决定使用"左通道"作为数字输入、我认为它会阻止整个左通道(引脚13、15和20)用于数字麦克风输入? 如果情况是这样、那么也许我应该使用正确的通道进行实验、因为它没有被使用? 因此、我会将 P0_R81设置为0bx10001xx 吗?

问题3: 同样根据 SLOS602A–2008年9月第25页图5.2 "模拟路由图"、如果我使用 INx_R 作为数字麦克风输入、在进入 ADC 之前、它进入麦克风 PGA。 由于这是数字麦克风、我想我不需要麦克风 PGA、因此我  只需将 P1_R59/60设置为左/右 MICPGA 设置为0dB? 这样也就不需要配置 P1_R52/R54/R55/R57了?

问题4:  配置数字麦克风输入(例如 IN1_R 引脚14)后、 我想我别无选择、只能牺牲引脚8、11或32作为麦克风 时钟? 或者、我是否可以使用另一个引脚为数据计时? 例如、在我的现有电路上、引脚 1 MCLK 有一个来自微控制器的3.072MHz 时钟。 我是否可以将其 用于麦克风时钟的时钟、因为这是基本的编解码器时钟、因此、所有内容都应该从该时钟同步?

问题5: 我确认 麦克风具有正确的时钟并将其数据发送到编解码器输入后、如何将该 I2S 音频路由至 DOUT/MFP2 (引脚5)或 SEC_DOUT/MISO_MFP4 (引脚11)?

希望这一切都有道理!

谢谢!

贝诺伊特

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

    尊敬的 Benoit:

    1)您实际上需要设置所有这些值。 D5-D4设置 PDM 数据将到达的引脚。 D3和 D2设置了一个多路复用器、用于将 Σ-Δ 数据(模拟 ADC)或 PDM 数据传递到串行接口。 与数据表相比、应用参考指南提供了更多有关此方面的详细信息。

    2) 2)您是对的、如果您选择一个通道作为数字输入、则模拟输入引脚将被忽略。

    3) 3)您在这里也是正确的。 如上图所示、数字麦克风输入跳过 PGA。 所以可以忽略这里的设置。

    4) 4)引脚8无法输出 PDM 时钟、但您必须使用11或32作为时钟输出。

    5) 5)默认情况下、DOUT (引脚5)是数字串行输出、因此不需要额外的配置。 引脚11是辅助接口的 DOUT、它完全是不同的总线、因此我将坚持使用引脚5。

    此致、
    Jeff McPherson

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

    尊敬的 Jeff:

    感谢您的详细解释。 我只想重申几件事、以确保我正在尝试实现的目标的背景清晰:

    我目前的设计、为了尽量避免修改、主要包含三个部分:MCU、调制解调器和编解码器。

    对于 IP 音频、MCU 与编解码器的"主"端口连接、而对于语音音频、"从"端口与调制解调器的 PCM 端口连接。

    对于主端口(IP 音频)、MCU 输出128KHz BCLK 和3.072MHz MCLK。 作为回报、编解码器输出8kHz WCLK 和 8位音频 . MCU 在 WCLK l 到 h 转换时对音频进行采样、每个字节都进行封包化、然后在某个点通过 IP 通过某种其他方式发送。

    对于从端口(语音呼叫音频)、假设调制解调器只能在一种配置下工作、调制解调器向编解码器和编解码器输出提供2.048MHz BCLK 和8kHz WCLK 16位 PCM 音频 到调制解调器的 PCM 音频输入。

    在这两种情况(IP 或语音)中的任何一种情况下、它们都使用 IN1_L 和 IN2_L 模拟输入上的模拟麦克风。 所有这些都运行得很好。

    现在、我想添加一个数字麦克风、目标是希望将其音频发送到 IP 通道(主通道)或语音通道(从通道)。

    编解码器的从端口 已与调制解调器语音通道的引脚8、11和32连接在一起、唯一可用的引脚是 DIN/MFP1 (引脚4)、这没有问题、因为它是数字音频可接受的引脚之一。

     误解更多的是麦克风的时钟:我想要么使用3.072MHz 的 MCLK ,要么使用调制解调器的2.048MHz 的 S_BCLK。 使用2.048MHz 的问题在于、它只能在语音呼叫期间工作、而 MCLK 始终存在、因为它来自 MCU、所以它能处理 IP 或语音音频。 我猜是、如果我使用编解码器的 MCLK (来自 MCU)、我认为这将使整个系统与数字麦克风的音频同步。

    现在、我的问题与您的答案有关:

    #1 - 鉴于当前未使用 DIN/MFP1 (引脚4)、这是我将不得不用于数字麦克风输入的输入。 因此我现在明白了:我不能直接使用模拟输入、例如引脚13、与我最初理解的相反(我认为这很奇怪!)。 因此、P0_R81位 D5-D4指定我将使用哪个数字输入-在本例中、我将这些位设置为 10:DIN 用作数字麦克风输入  (引脚4)。 然后我需要指定 选择 ADC 输入 我将牺牲数字麦克风作为代价、在本例中、它将选择正确的 ADC、因为我将左侧的 ADC 用于两个模拟麦克风输入、因此 D3位将保持不变 "0"左声道 ADC 未配置为数字麦克风 位 D2将设置为该模式  为数字麦克风配置了"1"右通道 ADC . 是这样吗?

    #4- 由于 S_BCLK (GPIO/MFP5)引脚32已经有一个来自调制解调器进入编解码器的2.048MHz 信号、我是否可以使用同一个时钟、只是"分离"它并将其馈送到麦克风的 CLK 输入? 但是、如果有、我可以将从 MCU 出来的3.072MHz MCLK 拆分为调制解调器的 MCLK 输入、因为该时钟在语音和 IP 音频中始终可用? 这是理想情况。

    #5 -我已经说过、理想情况下、我希望能够在 IP 或语音通道(一次一个)上流式传输音频。 您已指示 DOUT (MFP2)引脚5是数字音频的默认输出、并且没有问题。  但是、我如何将其路由到 S_DOUT (MISO/MFP4)引脚11、而不是默认引脚?

    新问题:

    #6-如果我用 MCLK 3.072MHz 将数字麦克风输入、并且将其 PDM 数据输入到 DIN (引脚4)、结果将 DOUT (引脚5)上的编解码器输出、我然后可以关闭进入编解码器 BCLK 输入的 PWM、作为回报、编解码器将停止从引脚3输出 WCLK?

    #7-对于引脚 DOUT 上的编解码器输出的格式、对于模拟音频、我使用 DSP 格式、因为这与 PCM 等效。 对于数字麦克风、可以继续使用 DSP 吗? 或者、我是否绝对必须将其强制到 I2S?

    再次感谢!

    贝诺伊特

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

    尊敬的 Benoit:

    感谢您的讲解。 我觉得我不明白你在编解码器上所说的"主器件"和"从器件"端口是什么意思。 我想您是指数据表中所说的"主"和"辅助"I2S 接口。 请回答我、如果我错了、但我认为我对您的问题的答案是相同的。

    1) 1)您是正确的。

    4) 4) 我不相信这会起作用。 此处感兴趣的时钟是来自编解码器时钟树的 ADC_MOD_CLK。 数字麦克风需要使用该时钟来正确同步到编解码器的内部并正确解码数据。 这个时钟无论如何都是从 MCLK 衍生出来的、因此我认为同步不再是一个问题、比模拟麦克风更是如此。 但我认为您没有引脚、因为您的接口已经在使用11和32。 即使其中一个时钟(3.072或2.048 MHz)等于 ADC_MOD_CLK、我也担心无法确保它与内部 ADC_MOD_CLK 同步。

    5) 5)如果将页0寄存器33的 LSB 设置为1、则引脚11成为输出。引脚11和引脚5均多路复用为从串行接口输出。

       

    6) 6)如果使用 BCLK 作为 PLL 输入源、则 WCLK 将停止。 如果使用 MCLK、则 BCLK 将不起作用。

    7)一旦数据到达串行接口,你可以选择你喜欢的格式。 不会通过使用数字麦克风强制您进入 I2S。

    此致、
    Jeff McPherson

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

    尊敬的 Jeff:

    感谢您的详细答复。

    是的、 通过编解码器上的"主器件"和"从器件"端口、我指的是"主要"和"辅助"I2S 接口。

    我将使用#4 RE:ADC_MOD_CLK 进行一些测试。 根据我现在的理解、之前 使用模拟麦克风、MCU 正在 WCLK 的高周期内从128KHz 时钟读取数据位(WCLK 引起 MCU 上的中断、从而触发 MCU 从 DOUT 引脚读取数据、时间与128KHz 时钟转换计时)。

    现在、有了数字麦克风、 必须将 GPIO 或 MISO 时钟设置为根据 ADC_MOD_CLK 输出时钟。 还可以、但是……

    通过使用模拟麦克风、每个数据位都由 BLCK 采样、但这些位的每个字节 都由 WCLK 在时钟沿关闭。

    因此、现在对于数字麦克风、S_DOUT/MISO 将用作麦克风时钟、这种时钟很可能速度非常快、且其 PDM 数据位将进入 DIN 引脚4。 很好地达到了这里。 但为了让 MCU 对这些位进行采样、它需要在什么时钟下对这些位进行采样? 我正在 努力围绕模拟信号到数字信号的映射展开工作:

    >从 MCU 的角度来看,有三件事:它向编解码器输出128KHz BLCK ,编解码器生成16KHz WCLK 并从 DOUT 输出其8位数据。

    >对于数字麦克风、需要根据 ADC_MOD_CLK 将 S_DOUT (比如)配置为输出时钟、这是馈送麦克风的时钟。 然后、麦克风将其 PDM 音频数据发送到 DIN (引脚4)、音频将在 DOUT (引脚5)上输出。 精细到这里。

    但现在的问题是:MCU 如何/在何处对 DOUT 的位进行采样? 换言之、MCU 使用什么 时钟源来对每个字节计时以便对位进行采样、使用什么时钟源来对每个位进行采样?

    此外、是否可以像我的模拟配置一样、使编解码器从 DOUT 输出8位数据?

    再次感谢!

    贝诺伊特

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

    尊敬的 Benoit:

    使用模拟麦克风、每个数据位都从 BLCK 采样、但这些位的每个字节都 由 WCLK 随时钟关闭。

    PDM /数字麦克风仍然是如此。 编解码器仍会将数字麦克风数据转换为 I2S/TDM、并将数据放入 DOUT 中、以便根据 BCLK 计时。 从 MCU 的角度来看、数据格式是相同的。

    可以将 ADC_MOD_CLK 视为同步的、但与 I2S 总线(BCLK 和 WCLK)无关。 调制器时钟帮助麦克风锁存来自麦克风的数据、编解码器接收此数据、然后在黑盒的另一侧将 PDM 数据转换为 I2S 并通过 DOUT 发送、数据锁存到 BCLK。 同样、一个样本/字节对应于 WCLK 的半个周期、就像在模拟麦克风情况下一样。

    此致、
    Jeff McPherson

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

    尊敬的 Jeff:

    工作正常!

    我正在使用的麦克风是 Knowles V2D200S。

    对于电气连接、我唯一要做的就是:

    1)将麦克风的 PDM 数据输出焊接到编解码器的引脚4输入;
    2)将麦克风的时钟 输入焊接到编解码器的引脚11输出;

    如之前的帖子所述、我编写了一个通过 IP 连接到器件的应用。 然后、我按下"play"、它将开始通过 IP 从模拟端传输至我的应用、然后我将听到我在扬声器中的声音。

    为了使数字麦克风正常工作、我只需开始 对模拟麦克风进行流式传输、然后向其发送两条命令以动态更改编解码器参数。

    以下是 数字麦克风与模拟麦克风的唯一区别:

    P0_R55模拟: 002  -->  0x02 --> 0000 0010  数字: 014 --> 0x0E --> 0000 1110
    >> D4-D1=0111:MISO 是数字麦克风的时钟输出

    P0_R81: 模拟: 228 --> 0xE4 --> 1110 0100  数字: 232  --> 0xE8 --> 1110 1000
    >>D5-D4=10:DIN 用作数字麦克风输入
    >>D3=1:已为数字麦克风配置左声道 ADC

    现在它可以正常工作了、对于我应该调整或查看的其他寄存器、您有什么建议吗? 与增益或体积相关的东西可能是什么?

    我将在今天的假期12月20日星期五,并在1月6日返回办公室,所以如果你回应我,我不,那么这就是原因。

    再次感谢您的帮助和愉快的假期!

    贝诺伊特

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

    尊敬的 Benoit:

    很高兴听到它在工作。 如果您有有效的数据流、则不需要更改太多其他内容。 您最多应该根据下一阶段预期的音量类型来调整音量。 您可以尝试增大或减小音量、以在强输出水平之间找到平衡、而不会使本底噪声过高。

    此致、
    Jeff McPherson

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

    尊敬的 Jeff:

    我知道我们是1月21日,但新年快乐!

    对不起,延迟,我有几件事在去,不得不在假期后做,现在我回到这个项目.. 那么、除了 P0 R83/84的体积、就"增益"或"体积"而言、您还能想到其他任何东西吗? 对于模拟麦克风、先是麦克风增益、然后是 ADC 音量。 PDM 麦克风呢?

    此外、我正在浏览 SLOS602A 数据表、在第4页中、引脚4说明此引脚可以是 DIN 或 MFP1。 对于 DIN、它规定为"音频串行数据总线数据输入"、如果设置为 MFP1、则其中一个选项是"数字麦克风输入"。 这两项陈述之间有什么区别? 对我来说、这似乎是完全一样的东西? 我确信不是。 你能告诉我这件事吗?

    再次感谢!

    贝诺伊特

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

    尊敬的 Benoit:

    祝你新年快乐。

    数字麦克风无法使用典型的 PGA 增益或等效数字麦克风。 您只能进行数字音量控制。 但我相信这些数字 PDM 麦克风具有某种增益、以便数据不会埋在本底噪声中。 您必须根据麦克风的灵敏度规格进行检查。

    "音频串行数据总线"是指 I2S 流。 这是一种用于传输音频(BCLK、FSYNC、DIN 等)的行业标准3线总线、用于传输 ADC 数据和接收 DAC 数据  

    数字麦克风通常不使用 I2S、而是使用 PDM 调制、导致单线数据流被锁存到给定时钟(如上所述)。

    因此、该引脚用于接收 I2S 流(如来自 MCU、PC 等)或从数字麦克风接收 PDM 数据。  

    此致、
    Jeff McPherson

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

    好的、明白了。

    我几乎完成了这个测试,但对于我的生命,还有一些事情我不能缠绕我的头。

    如前所述、MCLK (引脚1)从 MCU 获取3.072MHz PWM。  以下设置适用于模拟麦克风且可以正常工作:

    使用 IP 通道音频的主端口 、MCU 将128KHz PWM 发送到 BCLK、并将编解码器设置为使 WCLK 作为8kHz 输出返回到 MCU。 从模拟麦克风前端采样的音频被数字化并在 DOUT (引脚5)上返回。 然后、MCU 通过8kHz WCLK 对其采样、进行封包化并通过 IP 作为8位8kHz 位流发送。

    使用 用于 语音通道音频的辅助端口 、连接呼叫后、 调制解调器将向 S_BCLK 发送2.048MHz PWM、并向 S_WCLK 发送8kHz 短同步脉冲 。 这样会对模拟前端上的麦克风进行采样、并在 S_DOUT (引脚11)上返回数字化数据。 最终结果是、我可以向调制解调器发出语音呼叫、并在电话中听到音频。

    对于数字麦克风、我已经完成了以下工作(一切正常时、我最终会做一个新的电路设计):

    PDM 麦克风的数据引脚连接至编解码器 DIN (引脚4)、 麦克风的  CLK 输入连接至 MISO 引脚11。 现在仅为了进行测试、引脚11也连接到调制解调器的 PCM 数据、但我 通过寄存器将其设置为时钟(向 PDM 麦克风馈送时钟)。 当我使用应用通过 IP 连接时、按下"play"、我只需要做的是将 P0_R55设置为0x0E 并将 P0_R81设置为0xE8、 然后我就可以通过我的 IP 流听到 PDM 麦克风发出的音频。 到目前为止、一切都运行良好。

    我现在遇到的问题是、尝试找出如何通过语音通道、尽可能减少对硬件的物理修改来实现这一点。 如前所述以及根据文档、带模拟麦克风的语音音频使用的辅助接口已使用引脚11和32从调制解调器计时。 遗憾的是、对于我来说、这些引脚是唯一可用于 PDM 麦克风时钟的两个引脚。 因此、从技术上讲、正如您在之前的消息中所解释的、我将会短接一个引脚。

    不过、这正是我需要您帮助的地方:如果我要将 WCLK 输出(引脚3)用作 PDM 麦克风时钟、该怎么办? 我 知道、根据文档、PDM 时钟应该是11 (MISO/MFP4)或32 (GPIO/MFP5)"数字麦克风时钟输出"、但如果我要修改 PLL 值并使用 WCLK (引脚3)作为 PDM 麦克风时钟输出、该怎么办? 我的意思是、PDM 麦克风不知道时钟来自哪里 该时钟也将通过不同的层从 MCLK 获取、对吗? 在 MCU 上、我可以将 WCLK 输入设置为高阻抗、以便它不会影响 PDM 麦克风。

    如果这可行、 我现在正在尝试计算如何/ 配置哪些寄存器、以便编解码器的 MCLK 仍使用来自 MCU 的3.072MHz PWM、然后编解码器将从 WCLK 输出1.024MHz 时钟、然后馈送到 PDM 麦克风的时钟。 这样会将 PDM 麦克风的数据计时到 DIN (引脚4)(就像 IP 音频一样)、S_BCLK、S_WCLK 和 S_DOUT 将照常工作(当使用模拟麦克风进行语音呼叫时)。

    实际上、麦克风(Knowles V2S200D)可以在低功耗模式 (其中 fClock 需要介于600kHz 和950kHz 之间)或正常模式(其中 fClock 介于1.2MHz 和3.3MHz 之间)下工作。

    这样可以吗? 我是否可以使用 WCLK 作为时钟输出、以馈送到 PDM 麦克风的时钟输入、而时钟输入会将其音频数据发送到 DIN (引脚4)、然后将音频传递到辅助端口直至调制解调器? 如果所有时钟都来自 MCLK、为什么不起作用?

    这有什么意义吗?

    再次感谢!

    贝诺伊特

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

    尊敬的 Benoit:

    这个想法听起来很可靠、但我不认为 WCLK 是正确的选择、因为保持正确的采样率会造成麻烦。

    如果 GPIO 或 MISO 可用(很抱歉、我们在这里讨论的是没有图片、所以很快就可以告诉我)、您可以使用其中一个、并使用时钟输出功能直接与 MOD_CLK 连接(多功能表调用此 AUX 时钟输出)。

     .

    我认为这将是实现您所描述的目标的更简洁方法。

    此致、
    Jeff McPherson

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

    啊!  我没有意识到 DOUT 也可能是 CLKOUT!  

    那么、由于调制解调器的工作原理、GPIO 和 MISO 在做语音音频时用于辅助音频接口;GPIO 用于 S_BCLK 输入、MISO 用于 S_DOUT 输出。 S_BCLK 和 S_WCLK 都是来自调制解调器 PCM 通道的输入、问题是调制解调器必须驱动时钟、因此我别无选择、只能使用这些时钟。

    但当器件运行 IP 音频时、它使用主音频接口、因为 MCU 对音频数据进行采样并使用 UART 将其发送到调制解调器。

    我认为使用 DOUT 是更好的选择、因为它的输出可以分离、并将进入两个输入:MCU 的 IP 音频输入引脚和 PDM 麦克风的 CLK 引脚。

    如果这可行、 我将与这里的小组一起重新评估、看看我们是否仍然需要 IP 和语音音频。 问题在于、DOUT/MFPS2是 IP 音频的音频位流从其中传出并进入 MCU 的位置、因此、如果 DOUT 作为 IP 音频流式传输、则我将无法将 PDM 麦克风与 DOUT 结合使用。 这仅对语音通道音频有利。 但这是我的问题。 我可以始终有一个 I2C"软开关"、它根据我是需要 IP 音频还是语音音频在编解码器的不同源之间切换 PDM 时钟。

    但现在、由于我已经让 IP 音频与 PDM 麦克风配合使用、所以我的目标是现在了解让语音通道音频与 PDM 麦克风配合使用所涉及的过程。  一旦我知道要完成此类任务所涉及的内容以及需要修改的寄存器、我将重新评估团队的需求、并做出相应调整(很可能是修改了电路以适应 PDM 麦克风)。

    下面快速了解一下原理图的这一部分:

    如果您有更多意见、请随时发表评论。

    再次感谢您的帮助。 同时、我会告诉您这是否有效。

    [更新]我使用了 P0_R53并将其设置为0x16、我看到 DOUT 引脚从低电平变为高电平、但我没有看到时钟信号。 那么、应该有什么时钟信号、如何使它出现呢? 同时我将介绍这些文档。

    贝诺伊特

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

    尊敬的 Benoit:

    另两个寄存器正在播放、以使 CLK 停止工作。 您已经将 DOUT 分配给 CLK OUT、现在需要选择时钟源并对分频器上电:

    此致、
    Jeff McPherson

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

    哈! 这正是 ChatGPT 刚才给我的! 好的、现在将检查此内容、让您知道。

    谢谢!

    贝诺伊特

    [更新] 它可以正常工作、但音频流发出很大的重复滴答声。 使用我的逻辑分析仪、PDM 时钟可提供理想的1.024MHz、P0_R26=131。 如果轻触麦克风、我可以听到音频、只是点击一下即可、这一点很烦人。 我附上了另一部电话记录的样本... 不能肯定你能听到它。 录制的图像。

    e2e.ti.com/.../New-Recording-6.m4a

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

    尊敬的 Benoit:

    你的 M 分频器等于3? 正常的"数字时钟输出"给出的时钟应该是3.072MHz 正确吗? 我期望 M 分频器等于1、以便时钟输出与 MOD_clock 相同、这等于 PDM 时钟输出。

    此致、
    Jeff McPherson

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

    如果我将 M 分频器设置为1、则 PDM 时钟的频率大致为3.125MHz、但音频为白噪声。  如果我将其设置为3、则 PDM 时钟为1.024MHz、这个频率与通过 IP 传输时的频率相同(有效)。 但是、在语音通道上、将其设置为3创建像我在上一篇文章中附加的音频文件中一样的点击。  您是否成功听到了音频文件? 因此、基本上、设置为1以外的任何其他值会产生点击或白噪声。

    这真的是我需要解决的最后一个问题-如何摆脱点击。 我有信心它一定要有计时、因为一切都可以通过 IP 正常工作;当我使用模拟麦克风时、它可以通过 IP 和语音工作。

    如果您有其他想法、请告诉我。  我会继续测试。

    再次感谢!

    贝诺伊特

    [更新] 终于让它开始工作了! 我承认、 在所有可用文档中、有很多寄存器需要检查、它仍然是一个复杂的器件。 不管怎样、我认为我一直忘记设置的一个寄存器是 P0_R25、因为它被设置为0。 我将其更改为7 (CDIV_CLKIN = ADC_MOD_CLK)后、咔嗒声就消失了。 我们现在就来结束这个话题、以防我有更多问题、但现在我想我需要一段时间。 非常感谢您的帮助!

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

    尊敬的 Benoit:

    明白了。 如果不将 CDIV_CLKIN 设置为 ADC_MOD_CLK、您可能会获得正确的频率、但相位会关闭、从而产生点击。

    很高兴听到您从中获得所需的信息。 如果我还有其他需要帮助的地方、请告诉我。

    此致、
    Jeff McPherson

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

    最后一件我似乎无法开始工作的事情是 P0_R83的音量。 看来,无论我输入什么,音量总是相同的。 这是否正常?

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

    尊敬的 Benoit:

    它能否与模拟麦克风的主接口配合使用? 看这个图、我想这意味着数字麦克风跳过所有的模拟音量控制、因为抽头发生在 Σ-Δ 调制器之后。

    事后应用一些音量控制的钝化方法是实现具有平坦频率响应但增益较低的双二阶(EQ)滤波器。 但无论如何都是数字音量、因此根据系统在 I2S 接收器端应用该音量可能会更容易。

    此致、
    Jeff McPherson

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

    是的、我认为它适用于主接口、但为了进行重新测试以确认、我需要拆散电线、而且我希望避免这样做、因为我的设置目前在语音通道上与调制解调器配合使用、所以我将其保持原样、因为我还可以调整调制解调器 PCM 接口的音量、它同时具有音频音量和麦克风增益、使我能够获得比我需要的更多的音量。

    非常感谢您的所有帮助,这是非常感谢,你是真棒!

    我会将此标记为已解决。

    祝您愉快!

    Ben (来自加拿大)