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.

[参考译文] C6748中的 McASP 延迟问题

Guru**** 2614265 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/657211/mcasp-problem-with-delay-in-c6748

大家好、

我将回放 LCDK6748的声音。 所有内容都可以与以下代码良好配合使用。

while (1){
输入= McASPRxBufRead (SOC_MCASP_0_CTRL_regs、MCASP_XSER_RX);

延迟(500);

McASPTxBufWrite (SOC_MCASP_0_CTRL_regs、MCASP_XSER_TX、输入);

但是、当我以大于800的延迟运行时、代码不会播放任何内容。  延迟是一组过程的符号。 我需要代码以更大的延迟值工作。

您能帮我解决这个问题吗?

此致

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

    您能否查看 RSTAT 和 XSTAT 寄存器中是否设置了任何标志?

    此致、
    Sahin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    感谢您的回答。
    您指的是哪种标志?
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    有关 RSTAT 和 XSTAT 寄存器说明、请参阅 TRM 的第4.22和4.34节: www.ti.com/.../spru041j.pdf

    例如、如果 XSTAT.XUNDRN 位被置位、则表示发生了欠运转错误。 最好查看该位是否已设置。

    此致、
    Sahin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很好。看起来、你是对的。 我需要很长的延迟。 如何解决此问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据 TRM、要从欠运转错误中恢复、您需要重置并重新初始化 McASP。 要复位 TX 端、请在 GBLCTL 寄存器的 XSMRST 位写0。 然后像以前一样重新初始化 TX 侧。 我认为您不需要重置 RX 侧。

    此致、
    Sahin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正如您所提到的、我复位 XSMRST 位、如以下代码所示、但当我将 DEAXY 增加到1000时、它不起作用
    while (1){
    输入= McASPRxBufRead (SOC_MCASP_0_CTRL_regs、MCASP_XSER_RX);

    延迟(500);
    HWREG (SOC_MCASP_0_CTRL_regs + MCASP_XGBLCTL)&=(0xffffff7ffu);
    McASPTxBufWrite (SOC_MCASP_0_CTRL_regs、MCASP_XSER_TX、输入);

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

    拉希姆

    复位 XSMRST 位后、您仍然需要遵循 TRM 中描述的初始化序列、请参阅3.1.2节。  http://www.ti.com/lit/ug/spru041j/spru041j.pdf#page=37

    您正在尝试用较长的延迟完成哪些任务? 可能有更好的方法、例如使用 EDMA。 如果您还没有参加过 C6000嵌入式设计技术讲座、我建议您观看该讲座、该讲座将介绍实时处理和不同的处理方法。

    此致、

    Sahin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    实际上、延迟代表了一组复杂的滤波器、这些滤波器需要大量时间来完成该过程。
    实际上、我们在 LCDK6748和 C6713上运行算法。 由于该处理器的速度和架构、我们希望 LCDK6748具有更好的性能、但 C6713实际上以更快的速度运行我们的算法。 在我看来、使用 EDMA 是降低性能的可能原因之一。 因此、我将在没有中断的情况下运行 McASP 和 EDMA。 此外、当我同时使用 McASP 和 EDMA 时、我们没有问题。

    感谢您的考虑。
    此致、

    拉希姆