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.

[参考译文] AM3352:使用 AM3352器件树配置中的帧同步到8kHz

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1505276/am3352-frame-sync-to-8-khz-in-am3352-device-tree-configuration

器件型号:AM3352

工具/软件:

尊敬的专家:

我目前正在努力连接 AM3352 调制解调器设备设计为作为运行 PCM 从器件 2048kHz 时钟 8kHz 帧同步 。 之间的连接 配置 而调制解调器不涉及音频编解码器、配置如下:

目标是在 Linux 端播放音频文件、并在接听电话时收听音频流。 在这种情况下、我需要 AM3352 用作 PCM 主控制器 。 我已经在上配置了 PCM 接口 AM3352 、并成功生成 2 MHz 时钟 。 但是、使用此设置时、 帧同步 设置为 62.5kHz 这不是我需要的。

您能帮助我调整设备树来实现吗 8kHz 帧同步

以下是具有音频相关节点的当前器件树配置:

声音{
compatible ="simple-audio-card";
简单音频卡、名称="TI AM335x";
简单音频卡、格式="I2S_";

/* MCASP 是主站、Quectel 是从站*/
simple-audio-card、bitclock-master =<&CPU_DAI>;
simple-audio-card、frame-master =<&CPU_DAI>;

cpu_dai:simple-audio-card、cpu{
Sode-Dai =<&McASP0>;
系统时钟频率=<3072000>;
系统时钟方向输出;
};

简单音频卡、编解码器{
sound-dai =<&dummy_codec>;
};
};

dummy_codec:dummy_codec{
#sound-dai-cells =<0>;
兼容="ti、wilink8_bt";
状态="正常";
};

/*音频接口*/
McASP0_PINS:McASP0_PINS{
pinctrl-single、pins =<
AM33XX_IOPAD (0x990、PIN_OUTPUT_PULLDOWN | MUX_MODE0)/* McASP0_aclkx - COM_AUD_CLK */
AM33XX_IOPAD (0x994、PIN_OUTPUT_PULLDOWN | MUX_MODE0)/* McASP0_FSX - COM_AUD_FSYNC */
AM33XX_IOPAD (0x998、PIN_INPUT_PULLDOWN | MUX_MODE0)/* McASP0_axr0 - COM_AUD_IN */
AM33XX_IOPAD (0x99c、PIN_OUTPUT_PULLDOWN | MUX_MODE2)/* McASP0_ahclkr.McASP0_axr2 - COM_AUD_OUT */
>;
};

/*音频接口*/
&McASP0{
#sound-dai-cells =<0>;
pinctrl-names ="default";
pinctrl-0 =<&McASP0_pin>;
状态="正常";
OP-MODE =<0>;/* MCASP_I2S_MODE */
TDM 时隙=<2>;
/* 4个串行器*/
serial-dir =</* 0:不活动、1:TX、2:Rx */
2 0 1 0 /* ARX0、ARX1、ARX2和 ARX3 */
>;
tx-num-evt =<32>;
rx-num-evt =<32>;

auxclk-Fs-ratio =<256>;
};

问题:

根据文档、我了解 auxclk-fs-ratio应使用属性调整帧同步。 但是、修改该值似乎不会改变帧同步的行为、而是保持不变 62.5kHz

注意:我正在使用 ti,wilink8_bt与相同 虚拟编解码器 因为 snd-soc-dummy驱动程序无法正常工作、但我认为这不是问题的根本原因、因为它与帧同步调整有关、而与编解码器有关。

我非常感谢您帮助我调整设备树以便使用 帧同步 设置为 8kHz 根据需要。

感谢您的支持。

  

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

    您好:

    正在使用哪个版本的 Linux?

    此致、

    Nick

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

    您好 Nestor、

    您能否提供 Nick 提出的上述详细信息? 除此之外、如果 AM3352是时钟输入器、您是否使用内部 AUXCLK 来配置 BCLK?  

    另请记住: McASP 只有整数分频器、因此我们将限制可支持的频率。 例如、使用内部 AUX 时钟时、48kHz/16bit/2通道配置将不起作用:24000000/(48000*2*16)=15.625 (不是整数分频器)。 在本例中、我们的应用会请求48kHz 频率、但输出将会不同、我们会看到下溢警告消息。  

    希望这有所帮助。

    此致、

    Suren

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

    您好、Nick、

    我正在使用基于 Linux Yocto 的版本和 5.4.20-g738552d0b0内核。

    此致、

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

    您好、Suren、

    是的 AM3352 的确是 时钟启动器 一个1。 但是、在当前设置中、我未使用 AUXCLK 以配置 BCLK 。 请举例说明如何进行配置 AUXCLK 中的示例 BCLK 在中 器件树中 ? 这将有助于确保时钟设置正确。

    关于频率限制、我理解 McASP 应用 整数分频器 。 鉴于此、我 会调整 BCLK 的配置 2000kHz   和 帧同步  最终目的 7812.5kHz  是最佳选择。

    此设置避免了出现非整数除数的问题(例如 48kHz 配置)、这会导致下溢警告。

    期待您提供有关配置的指导、以便联系 McASP 时钟输入 2000kHz 帧同步  最终目的  7.8125kHz 。  

    此致、  

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

    尊敬的 Nestor:

    您提到看到2MHz 时钟? 您在哪里看到这个时钟?

    Unknown 说:
    我已经在上配置了 PCM 接口 AM3352 、并成功生成 2 MHz 时钟 。 但是、使用此设置时、 帧同步 设置为 62.5kHz 、这不是我需要的。

    还可以将系统时钟频率更改为24000000而不是3072000、然后重试一次吗?

    此外、您还可以参阅以下主题:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/607500/linux-processor-sdk-am335x-mcasp-master-mode-configuration

    此致、

    Suren

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

    您好、Suren、

    我 看到了   2 MHz 时钟 在上 McASP_ACLKX 引脚。 下面是显示信号的示波器图像:

    在相同的设置下、我测量了上的信号 McASP_FSX 该引脚当前位于 62.5kHz

    将 系统时钟频率更改为24000000而不是3072000后、我观察到以下情况:

    McASP_ACLKX  现在位于 258.078KHz

    McASP_FSX  现在位于 8.06KHz

    时钟信号在我开始播放音频文件时开始、并在文件播放结束后停止。

    感谢您对该主题的参考。 这在我尝试生成时钟时非常有用。 我将再次查看、确保没有漏掉任何内容。

    此致、   

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

    尊敬的 Nestor:

    您是否仍需要此处的支持? 如果没有、我会继续、关闭线程、现在您已经能够实现8kHz 帧同步。

    此致、

    Suren

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

    您好、Suren、

    好的、请。 我使用256KHz 时钟实现8kHz 帧同步。  连接到 AM3352 MCASP 接口的 PCM 从器件需要与 A 实现8kHz 帧同步 2048KHz 有用。

    还有其他建议吗?   

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

    您好、Suren、

    调制解调器制造商帮助我配置 PCM 从属设备以使用上述配置。  但是、我们需要短帧同步格式、而不是当前的长帧同步格式。

    您能否建议在 SOC 端是否有办法将帧同步从长同步更改为短同步?

    此致、

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

    尊敬的 Nestor:

    我正在内部与团队核实。 请给我一天/两天回复。

    此致、

    Suren