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.

[参考译文] TMS320F2.8069万:寄存器卡住故障检查

Guru**** 2587365 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/660000/tms320f28069-register-stuck-fail-check

部件号:TMS320F2.8069万
主题:controlSUITE中讨论的其他部件

您好,

我已为以下 寄存器实施寄存器卡住失败检查代码:

SCI,PIE,SPI,EPWM1,EPWM2, EPWM3,ADC,GPIO,ECAP1,ECAP2, EQEP1,EQEP2,外部中断寄存器。 我正在使用controlSUITE中提供的测试代码,其中 为每个寄存器准备了2个模式,如果 寄存器能够写入这些模式,则测试 被声明为成功。  我 已经准备 了一个用于测试的函数,并且在 PLL和时钟初始化后,我主要调用了此函数。  另外,在开始测试这些寄存器之前,我正在通过在  测试完成后写入DINT和写入EINT来禁用全局中断。 这很正常。

现在我的要求是每隔1秒测试这些寄存器 因此,我在初始化硬件和固件后,在1秒内调用此寄存器测试功能。 尽管所有状态寄存器都设置为只读,但某些寄存器仍出现故障。 我能看到的原因是,除了状态寄存器之外,有些寄存器有一个特定的位,该位是在启用中断后设置的,它只能由硬件清除。

例如:

外围设备= SCI A,寄存器名称= SCIFFTX,位7:TXFFINT标志-只读

此寄存器的模式= 0xA02A,写入模式后寄存器中的实际值= 0xA0AA,测试结果=失败

每个寄存器的模式都是这样形成的:只读位0写入,r/w位1写入。 但是由于中断导致设置了位7,因此不允许 清除它,因此寄存器测试失败。

您建议如何定期测试这些寄存器?  此测试仅在开机时工作一次。 请回复。

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

    能否指出您所指的controlSUITE中的测试代码? 您指的是哪两种模式?

     

    如果我理解正确,那么您尝试进行的测试在本质上是相当具有破坏性的。 完成测试后,是否重新初始化每个外围设备? 在过渡期间,应用程序会发生什么变化? 还是只寄存器?

     

    随着应用程序的持续运行,各种寄存器中的状态位不断变化,因此我看不出如何每1秒执行一次这种性质的测试。