器件型号:TMDSHVPSFBKIT
你(们)好
我们使用来自 TDMSHUPSFBKIT 的"过流检测"机制(ADC +比较器)。
有时、我们会看到由于"过流检测"、我们的系统无法正常启动。
我们无法在启动时看到/测量硬件上的任何信号/尖峰。
过程 A1 (..) 包含以下代码:
//锁存初级过流处理(ePWM2A、ePWM2B、ePWM4A 和 ePWM4B 清理关断):
if (* ePWM[1]).TZFlG.bit.OST =1)
{
过流 Cnt =过流 Cnt + 1;
(笑声) 等等...
对于某些装置、这将始终被执行(并随后阻止装置正确启动!)。
由于 ePWM[1]是受保护的寄存器、我尝试在前面添加一个 EALLOW:
//锁存初级过流处理(ePWM2A、ePWM2B、ePWM4A 和 ePWM4B 清理关断):
EALLOW;
if (* ePWM[1]).TZFlG.bit.OST =1)
{
过流 Cnt =过流 Cnt + 1;
(笑声) 等等...
现在、启动问题已"解决"、所有单元启动良好。
到目前为止还不错、但我担心的是、我不明白为什么这会有所帮助、
因为 ePWM[1]寄存器仅针对写入操作而不针对读取操作?
我很感激有人评论这为什么现在看起来这么好!? 工作。
此致
Terje Bøhler ć