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:在 McASP 帧上普遍接收重复的数据字。

Guru**** 2465890 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1472754/am5728-ramdomly-receiving-repeated-data-word-on-mcasp-frame

器件型号:AM5728

工具与软件:

您好!

我使用的是 AM5728处理器上的应用。 我正在 使用 McASP1将数据发送到另一个处理器。 另一个处理器再次将接收到的数据发回 AM5728、AM5728由 McASP2接收。  

我看到了随机错误、其中接收到的 McASP 帧与传输的帧不匹配。 某些数据字会被重复、这意味着它们的值与前一帧的值相同。

例如:如果要接收8个16位字:WORD1到 Word8表示第一帧中的8个字。 Word9至 Word16表示第二帧中的8个字 recd。

McASP 接收的帧1:WORD1、Word2、Word3、Word4、Word5、  Word6、Word7、Word8

McASP 接收帧2:Word9、Word10、WORD11、Word12、Word5、  Word14、Word15、Word16

可以看出、在第二个帧中、从要接收 Word13的第一个帧重复 Word 5。

在 McASP 总线上、发送和接收的数据似乎是正确的。 只有在接收到 McASP 帧后、一个/两个字似乎没有正确复制。  

数据流 如下:

其他处理器 -> McASP 帧->录制 在 AM5728的 McASP 端口上->通过 EDMA 传输到缓冲区->复制到本地缓冲区进行处理。

有人可以帮忙解决问题吗?

谢谢!

凹痕

                   

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

    您好、Dimple、

    您在使用什么 SDK?

    -若苏厄

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

    我正在使用 processor_sdk_rtos_am57xx_08_01_00_09和 CCS 11.1。

    谢谢!

    凹痕

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

    凹痕、

    是否可以使用 TI EVM 重现这个问题?或者您是否使用自定义板?  

    此外、这是您自己的应用还是 SDK 中包含的其中一个 McASP 测试

    -若苏厄

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

    这是一个定制板、我尚未验证它是否可在 TI EVM 上再现。
    它也是自定义应用。

    此致、

    凹痕

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

    凹痕、

    在传输中、损坏发生在何处?  

    其他处理器 -> McASP 帧->录制 在 AM5728的 McASP 端口上->通过 EDMA 传输到缓冲区->复制到本地缓冲区进行处理

    根据  

    [quote userid="563185" url="~/support/processors-group/processors/f/processors-forum/1472754/am5728-ramdomly-receiving-repeated-data-word-on-mcasp-frame McASP 总线上发送和接收的数据似乎正确无误。 只有在接收到 McASP 帧后、一个/两个字似乎没有正确复制。  [报价]

    我假设这是正常情况。 它是在这里还是在这里损坏

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

    这正是我试图找出的。 我不确定错误在这里 或这里。 为了复制到本地缓冲区、我只使用 memcpy 函数。 我将 memcpy 替换为8个字的单独 assignments、但我仍然看到错误。   

    不过、我们观察到一个现象:EDMA 目标缓冲区位于 L2 SRAM 中、本地缓冲区位于 OCMC 中。 当我将 EDMA 缓冲区移至 L2SRAM 以使 memcpy 位于同一存储器时、导致的错误比之前更多。 这是一种奇怪的行为。

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

    凹痕、

    您是否可以访问调试器?

    -若苏厄

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

    我可以访问 JTAG 调试器-但是、在 ARM 内核上运行了一个 Linux 应用、在 DSP 端进行调试并不是很方便(也因为它优化到了03)。 我们使用登录的方法进行调试。

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

    凹痕、

    McASP 通信是否在 DSP 级别进行? 无需连接至 ARM 内核即可查看 RTOS 对象、系统存储器和加载符号等。 请参阅以下  同样适用于 AM57的应用手册 www.ti.com/.../sprac17b.pdf。

    我不知道自己能帮多少忙。 我将不得不在内部征求更多想法。

    -若苏厄

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

    凹痕、

    仅仅是即兴创作、启动缓冲器和接收缓冲器16位是否进行了对齐? 这会产生影响吗?

    -若苏厄

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

    是的、缓冲区发送和接收16位对齐数据。  

    与此问题相关的问题-

    应用程序基于一个20us 计时器运行、而任务会在此20us 计时器发布的信标上挂起。  
    我们观察到、间歇性地、信标发布延迟、并在27-30us 时发生、而不是20us。 我们怀疑这可能是接收到的数据可能会受到影响的原因。  

    定时器中断具有最高优先级-即 ID 4。  事件0-3保留给事件组合器。 但我们不使用事件组合器。  

    这里的问题是-即使计时器具有最高优先级、什么可能会影响计时器的信标发布延迟?

    是否有办法从应用程序中禁用事件组合器、因为我们不在使用它? 我已经尝试将其从.cfg 文件中删除、但是应用程序并未构建此文件。

    谢谢!

    凹痕

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

    凹痕、

    事件组合器的功能。

    我不确定你是否可以禁用它、因为它是 C66中断架构的一部分、我建议你查看以下章节来了解更多信息:

    https://www.ti.com/lit/ug/sprugw0c/sprugw0c.pdf#page=169

    我们观察到、间歇性地、信标发布延迟、发生在27-30us、而不是20us。 我们怀疑这可能是接收到的数据可能会受到影响的原因。  [报价]

    如果您要连接调试器并使用 ROV 模块、您可以确认这一点并研究导致延迟的原因。

    -若苏厄

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

    我将尝试连接调试器并检查 ROV 模块。  


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

    要在其他主题中跟进的主题:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1474127/am5728-sempaphore-post-from-timer-call-back-function-being-delayed

    -若苏厄