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.

[参考译文] AM5728:1个 McASP 提供8个音频通道

Guru**** 2595770 points
Other Parts Discussed in Thread: AM5728, BEAGLEBOARD-X15, TLV320AIC3104, TLV320AIC3204, PCM3168A-Q1

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/640645/am5728-8-audio-channels-from-1-mcasp

器件型号:AM5728
主题中讨论的其他器件: BeagleBoard-X15TLV320AIC3104TLV320AIC3204PCM3168A-Q1

您好!

我需要从 AM5728输出8个音频通道(每个接收器为单通道;2线;600 Ω)。  

我阅读了以下文档:

"音频连接外设
•八个多通道音频串行端口(McASP):
–两个 McASP、每个支持多达16个通道、并具有独立的 TX/RX 时钟/同步域"

因此、通过使用单个 McASP 接口、似乎可以发送8个不同的音频通道。

我想我需要将8个不同的音频编解码器连接到该 McASP 接口。

连接是如何完成的? 是否可以将8个编解码器级联到单个 McASP 接口?

我需要哪种外部音频编解码器?

此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    McASP 专家已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jorge、

    从软件角度来看、单个 MCASP 上可以有8个通道。 要实现此目的、您需要进行以下修改:
    1.更改 arch/arm/boot/dts/am572xx-beagle-x15-common.dtsi 中的 TMD 插槽:
    TDM-SLOTS =<2>;
    2.更改与上述相同 dtsi 文件中的音频节点:
    ??Sound0:Sound0{
    兼容="简单音频卡";
    simple-audio-card、name ="BeagleBoard-X15";
    simple-audio-card、小工具=
    "线路"、"线路输出"、
    "线路"、"线路输入";
    简单音频卡,路由=
    "线路输出"、"LLOUT"、
    "线路输出"、"RLOUT"、
    "MIC2L"、"线路输入"、
    "MIC2R"、"线路输入";
    simple-audio-card、format ="DSP_b";
    simple-audio-card、bitclock-master =<&sound0_master>;
    simple-audio-card、frame-master =<&sound0_master>;
    简单音频卡、位时钟反转;

    简单音频卡、CPU{
    Sound-Dai =<&mcasp3>;
    };

    sound0_master:simple-audio-card、codec{
    sound-dai =<&tlv320aic3104>;
    时钟=<&clkout2_clk>;
    };
    3.检查 sound/soc/co/Davinci/Davinci-McAP.C.中的最大通道数 在最新的 TI SDK 中(SDK04.01.00.06,内核4.9.41)应该可以:
    .playback={
    CHANNES_MIN= 1、
    .channels_max= 32 * 16、
    .RAates= DaVinci_MCBSP_RAates、
    .formats= DaVinci_MCASP_PCM_FMTS、


    然后在 alsa 内映射通道时出现问题、请参阅此主题以获取参考:
    e2e.ti.com/.../313430

    此外、AM5728器件之外的硬件时钟方案也存在问题。 您应缓冲时钟以提供所有外部编解码器。

    还有另一种可能:
    使用两个 mcasps +两个4通道编解码器(请参阅此主题: e2e.ti.com/.../512683)

    我不确定使用具有8个音频通道的方案会产生什么 CPU 负载。

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

    你好 Yordan

    感谢您的回答。

    首先、我想澄清一下硬件设计(前提是具有软件配置功能)

          -选项1:8个通道的单个 MCASP 接口

    需要与编解码器连接的接口是什么? 如果我选择级联、请使用 TDM 接口连接8个编解码器、如 TLV320AIC3204。 它们是否会重现从单个 MCASP 接口传输的8个不同通道? (如果需要、缓冲时钟信号)

    -      选项2:两个 MCASP 接口连接到两个四音频编解码器

    它会通过哪种方式成为更好的解决方案? 只是为了实现时钟和路由优势? (2个时钟和数据线路与8个时钟和数据线路)、还是从 SW 的角度来看更好?

          -选项3: 单个8通道驱动器、如 pcm3168A-Q1

    这些8声道音频编解码器能否理解 MCASP 接口?

    此致、

     

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

    豪尔赫、

    我将使用选项3。  这将占用最少的布板空间、使您只需将 McASP 时钟信号从 SoC 运行到一个 DAC、而不是将其扇出到多个器件。

    是的、几乎任何音频 DAC 都可以与 McASP 进行通信。  您很可能会在 I2S 模式下将 McASP 连接到所选的 DAC、因此您将连接:

    -McASPx_AHCLKX 至 DAC MCLK (主时钟)

    -McASPx_ACLKX 至 DAC BCK (位时钟)

    -McASPx_AFSX 至 DAC LRCK 或 WCK (左-右时钟、位时钟、帧同步...相同事物的不同名称)

    McASPx_AXR[0:3](或您选择的任何串行器引脚)连接到 DAC 数据输入引脚。

    理论上、您只能使用一个 McASP 数据引脚、该引脚针对8槽 TDM 进行设置、但随后您必须以更快的速度运行时钟、这会使布局变得有点复杂。  我在上面描述的是 I2S 模式、它将在每个串行器引脚上发送两个音频通道。  下面是一个连接示例:
    http://www.ti.com/lit/df/sprr310/sprr310.pdf

    查看第9页。  这里有两个8通道 DAC、但您只需使用一个。

    至于为 I2S 模式设置 McASP、请对 I2S 进行位读取。  这是 TDM 的具体情况、其中:

    -每帧有两个时隙(AFSXCTL.XMOD = 2槽 TDM)

    帧同步的下降沿指示帧开始(AFSXCTL.FSXP =下降沿)

    1位数据延迟(XFMT.XDATDLY = 1)

    请看一下有关 McASP 的 TRM 章节;我为您提供了一些寄存器和位字段名称。  以上不是完整的 McASP 设置;我只是指出 I2S 模式的关键设置。

    很清楚-这八个输出通道彼此同步、对吧?  它们都在同一个时钟上运行?

    希望这将帮助您入门。

    Bobby

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

    谢谢 Bobby、

    这是一个非常有用的答案。

    此时很难判断音频源是否全部同步(可能不同步)。 但是、连接8个不同的 MCASP 接口(为了具有异步通道)是不可行的。

    如果我有异步通道、我会处理通道、以便在发生不匹配时复制/丢弃音频采样、以便八个音频通道可以通过单个时钟方案传输到 DAC。 听起来是否可行?

    是的、它让我开始了。

    谢谢。

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

    大家好、很抱歉我错过了这个机会。  如果 您有异步内容、并且希望通过一个 McASP 将其全部发送出去、那么您基本上必须对该数据执行 ASRC、然后再将其发送到 DAC。  这可以在软件中完成、但不确定 MIPS 的价格是多少。  原则上,你应该是可以的。