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.

[参考译文] TMS570LS3137:HTU 处于双缓冲模式、从 CPU 到 NHET

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/752556/tms570ls3137-htu-in-double-buffer-mode-from-cpu-to-nhet

器件型号:TMS570LS3137

在浏览 此主题 https://e2e.ti.com/support/microcontrollers/hercules/f/312/t/164919后 、我似乎遇到了一个非常类似的问题。

这个线程中给出的示例项目有助于确保 HTU 被设置为单个缓冲器执行、此执行将数据从 NHET 传输到 CPU。 我需要更新 NHET 中的指令、所以我专注于 CPU 到 NHET 的传输、并且我已经使它与单个缓冲器一起工作。 我的问题是、我无法使双缓冲模式用于从 CPU 到 NHET 的传输。 根据示例项目、我似乎设置正确、但仍然无法正常工作。 关于这个特定模式和设置、即从 CPU 到 NHET 的双缓冲模式传输、似乎很少有文档可供参考。 我需要使用一个 HTU 请求来更新超过32 NHET 指令、因此我应该能够使用双缓冲模式来执行此操作。

到目前为止最有用的是此应用手册 :SPNA217。 我的项目在某种意义上是类似的、我将数据存储在 HTU 可以指向的数组中、以便更新 NHET。 不同之处在于、我需要用一个请求更新多个 NHET 指令、因此我需要在一个帧中使用多个元素、因为本应用手册在多个帧中使用1个元素。 我还查看了应用手册 :SPNA130 、正如我之前提到的论坛帖子所说的、它没有多大帮助、因为它涉及到 NHET 到 CPU 的传输、而不是 CPU 到 NHET 的传输。

总而言之、我能够在单缓冲模式中从 CPU 更新 NHET。 我目前正在使用一个 HTU 请求更新22条指令。 但是、我还需要能够尽快更新52条指令。 如果双缓冲模式的工作方式与从 NHET 到 CPU 的传输方式一样、它看起来是缓冲区大小的两倍、这样我就可以用一个 HTU 请求更新52条指令。 但是、我无法使该模式工作。 我认为我也不能使用多个帧、因为每个帧看起来都指向相同的初始 NHET 指令、所以我只能在实际需要52时更新相同的32条指令。 我还想使用两个 DCP 通道来拆分52条指令、但目前我没有更多 DCP 通道可供使用。  

我想知道的是:HTU 双缓冲模式是否可被用于将数据从 CPU 传输到 NHET? 它是否允许我传输超过每帧元素的最大数量(32)?

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

    1.是的、双缓冲模式可被用来将数据从主存储器传输到 NHET RAM。
    2.否,元素的最大数量为32。