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.

[参考译文] TMS320C6657:在回送模式下通过 DMA 发送/接收 McBSP 的最后一个字出错

Guru**** 2609955 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/579692/tms320c6657-error-in-last-word-sent-received-with-mcbsp-through-dma-in-loopback-mode

器件型号:TMS320C6657

你(们)好

我有 TMS3206657。 我尝试在回送模式下通过 DMA 测试 McBSP。

当 TX 通道发送64个字的16位时、 RX 通道接收64个字的16位。

前63个接收到的字等于前63个发送的字。

但是、当我观察最后一个字的最后一个接收位(LSB)时、它总是为0、而15个 MSB 是可以的。

示例:

TX (字64) 0xFFFF

RX (字64) 0xFFFE

有什么想法吗?

提前感谢。

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

    这是什么软件? 还是使用裸机测试代码?
    您是否遵循了《多通道缓冲串行端口(McBSP)用户指南》(www.ti.com/.../spruhh0.pdf)第2.5.3.5节"数字回送模式:DLB "中的建议?

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

    我在第2.5.3.5节中看到,CLKXM 和 FSXM 必须为1。
    因此,我在 TX 通道中检查我的配置(请参阅 STRUCT_McBSP_ChanParams_t for TX):
    clkSetup -> frmSyncMode = McBSP_FsClkMode_DXR_XSR (发送帧同步信号源:表示已进行 DXR 到 XSR 复制的信号)
    -> clkMode = McBSP_TxRxClkMode_internal
    FSXM = 1
    FGGM = 0
    CLKXM = 1

    对于回送模式、似乎是正确的... 但我始终有误差。

    我尝试为 TX 通道设置其他源:
    clkSetup -> frmSyncMode = McBSP_FsClkMode_internal (发送帧同步信号源:采样率发生器帧同步信号、FSG)
    -> clkMode = McBSP_TxRxClkMode_internal
    FSXM = 1
    FGM = 1.
    CLKXM = 1

    然后它就可以工作了。 我不明白为什么。
    如果您有解释、我对此非常感兴趣。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我会做一些研究并提供反馈。

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

    很抱歉耽误你的时间。 我已经联系了设计团队来详细说明这一点。

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

    你(们)好

    尽管听起来好像您 在开发裸 机实现、但让我建议查看 Processor SDK 中包含的实现。 这是 http://www.ti.com/tool/processor-sdk-c665x 中的 McASP 环回示例 。 它至少将提供 回送寄存器设置的概述。 它还包括一个低级驱动程序(裸机)、您可能会发现它对您的工作非常有用。

    该驱动程序包含一个驱动程序说明文档和发行说明、用户指南中未对此进行说明。  该文件位于 C:\ti\pdk_c665x-installation_location\packages\ti\drv\McBSP\docs。

    如果您正在寻找有关如何创建示例文件的指导、e2e https://e2e.ti.com/support/arm/sitara_arm/f/791/p/581454/2135850#2135850  将提供一些指导。

    David