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.

[参考译文] PROCESSOR-SDK-AM335X:McASP 异步输入和输出

Guru**** 2553260 points
Other Parts Discussed in Thread: PROCESSOR-SDK-AM335X, DIR9001, PCM1690

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/599960/processor-sdk-am335x-mcasp-asynchronous-input-and-output

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:DIR9001PCM1690

您好!

该线程中、建议在使用两个编解码器时使用两个 McASP 端口。 但是、数据表显示:

McASP 由发送和接收部分组成、这些部分可以同步运行、也可以与单独的主时钟、位时钟和帧同步完全独立运行、并使用具有不同位流格式的不同传输模式。 McASP 模块还包括串行器、这些串行器可以单独启用以进行发送或接收。

和:

接收器还可以选择与 ACLKX 和 AFSX 信号同步运行。 当发送时钟控制寄存器(ACLKXCTL)中的异步位清零时(见图22-18)、就会实现这一点。 接收器可配置为具有与发送器这些选项不同的极性(CLKRP)和帧同步数据延迟选项。

但是、还有一个达芬奇-McASP 内核驱动 程序、它指出所有串行器都需要具有相同数量的 TDM 插槽。

我已经有一个板将所有器件连接到 McASP0、因此我希望我不必重做。 任何见解都值得欢迎。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在一些 IRC 的工作中、我想我明白了。 硬件可以做到这一点、但 ALSA-SOC 设计为在接口上具有"编解码器"、并且只有一种时钟模式。

    开始使用电线进行黑客攻击的时间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    器件型号:PROCESSOR-SDK-AM335X

    您好!

    我正在努力将光学数字音频接收器(DIR9001、用于 TOSLINK/同 轴电缆)连接到 Beagle Bone Black 上的多通道音频串行端口(McASP)。 虽然我也连接了 PCM1690 DAC、但进入 CPU 输入引脚的信号存在压降和高电流消耗的问题。

    当我手动将复位低电平有效线路设置为 GPIO 高电平时、一切都正常。 当我输入光学信号时、我可以在示波器上跟踪 L/R 时钟、位时钟和数据。 然后、当我加载内核驱动程序时、 使用达芬奇系统的应用中、方波总线信号的峰值电压从3.3V 降至1.1V 左右。此外、总线线路中的22 Ω 串行电阻器的峰值测量值为0.5V、这意味着电流消耗约为20mA。 就好像我用于输入的 McASP 引脚突然获得了一个极低的电阻。
    我使用 P9引脚12、27和30 (McASP0_aclkr、McASP0_Fsr 和 McASP_axr0)、它们都表现出这种行为。 控制模式为0x2E、0x28和0x28。 换句话说、输入缓冲器被启用。 我尝试启用和禁用上拉/下拉。
    我的 McASP DTS 覆盖层为:
      碎片@2{
        目标=<&McASP0>;
        _overlay__{
         pinctrl-names ="default";
         pinctrl-0 =<&McASP0_PINs>;
         状态="正常";
         OP-MODE =<0>;      /* mcasp_iis_mode */
         TDM-SLOTS =<8>;
         serial-dir =< /* 0:非活动、1:TX、2:Rx *
          2 0 1 0 /* McASP 有四个串行器/通道。 我使用 axr0作为 DIR9001的输入、使用 axr2作为 PCM1690的输出*
         >;
         TX-num-evt =<1>;//enble TX_FIFO (布尔值)
         Rx-num-evt =<1>;//enble TX_fifo (布尔值)
        };
      };
     
    是否有人知道为什么会发生这种电压骤降和/或电流消耗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    基本上、答案与以下内容相同: e2e.ti.com/.../2205722

    整个端口只能有一个 ALSA 时钟模式、因此我的输入引脚配置为输出。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这些是 Linux 限制、而不是硬件限制。 感谢您的更新。