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.

[参考译文] TMS570LC4357:HET2和 HTU、如何在系统处于空闲状态时复位 HTU

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1513592/tms570lc4357-het2-and-htu-how-to-reset-htu-when-system-in-idle

器件型号:TMS570LC4357

工具/软件:

你(们)好

 

我们将 TMS570LC4357 HET2与 HTU、双缓冲器、配置为127帧、每5个元素。

我想在系统空闲时停止 HET。 对于外部命令、我们需要再次开始数据传输。 这似乎是有效的,我正在使用 GCR 寄存器来启动和停止 HET。

问题在于空闲时重置 HTU。 当我们再次盯着 HET 时、读取 CDCP 的 CFCOUNT 寄存器会拾起它停止的位置。

我尝试重置 CFADFA 和 CFAD9B、并在空闲时向 CDCP 的 CFCOUNT 写入0、没有任何运气。

有什么技巧吗?

 

另外、如何在调试时停止 HTU 还没有弄清楚如何操作。

当自由运行并读取 HTU 缓冲区时、数据看起来正常、但当我中断 HTU 中断时、数据看起来错误。 大块0x00。 每个帧都有一个计数器、当系统运行时我们用于验证时、该计数器会按预期增加。  

Thnaks。  

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

    尊敬的 Thomas:

    您是否可以尝试禁用和启用 HTU 一次、并查看是否重新启动通信。

    --
    此致、
    Jagadish。

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

    谢谢你、我错过了这件事、它在 HTU 的停止和"重置"方面起了作用。  

    也可通过读取 CDCP->CFCOUNT 进行验证

    第8位、DEBM 也为0、但我可以看到缓冲器 A 在中断调试器时仍被数据填充、我的理解是它应该已停止?

     

    我现在最大的问题是、当我收到 buffer_b 中断时、缓冲区不包含有效数据、某些器件看起来可以、但大多数数据是0x00。 Buffer_A 看起来一切都很好并且是一致的。

    我已经查看了所有设置、并且中断之间的间隔看起来都是正确的。 当系统运行且在调试器中启用 Continuous Refresh 时、我可以看到这两个缓冲区均已填充并使用有效数据持续更新、只是当 Buffer_b 中断触发时、它会出现0x00点。 我还尝试移动 MCU 存储器中的缓冲区、以确保没有任何其他写操作、没有任何运气。 我将 HET2与 HTU2配合使用

    我还验证了在中断触发之前、交替缓冲器的 CFCOUNT 会递减至0。

    什么是我的缺失?

    谢谢。此致、  

    Thomas

    来自 INTERRUPT 的 memMemory 视图:

    运行时的 memmory 视图及其运行方式:

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

    尊敬的 Thomas:

    如以下线程中所述、您是否可以禁用缓存并查看行为:

    (35) TMDX570LC43HDK:TMDX570LC43HDK CCS 中的实时表达式-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    --
    此致、
    Jagadish。

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

    您好、这解决了问题、禁用缓存会造成什么后果?  

    此致、  

    Thomas

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

    尊敬的 Thomas:

    禁用高速缓存不会造成任何重大损失。 高速缓存主要有助于提高访问重复数据的性能(速度)。 我的意思是、如果 CPU 在代码中重复访问数据的某些部分、那么在这种情况下、缓存将有助于快速访问数据。 我的意思是、只有 CPU 第一次需要从主存储器中获取数据、所有其他情况下、它每次都会从缓存而不是主存储器中获取数据。

    您无需完全禁用缓存、也有一种替代方法、请参阅以下主题以了解替代方法:

    (20) TMDX570LC43HDK:DMA 无法正确读取一些数据(尝试 sci TX)-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    --
    此致、
    Jagadish。