Part Number:TMS320F28379S
采用eCAP捕获霍尔信号上升沿和下降沿,计算电机转速,会偶尔出现边沿捕获不成功的现象。会是什么原因?
eCAP配置如下:
Green Deng:
你好,请问捕获的信号是标准的方波信号吗?
有没有测试过其他信号的捕获是否会出现丢失现象?比如测试板子上的PWM输出信号
,
yan liu3:
捕获的是霍尔信号,标我用示波器检测了出故障的点,确定是有跳变边沿的,信号边沿也清晰,但是没进入eCAP中断更新状态。这个问题是偶尔出现的,有时候会捕获不到,不是每次都捕获不到。
,
Green Deng:
yan liu3 说:没进入eCAP中断更新状态
这里需要明确一下,工程中是否有其他中断产生?如果有的话有可能是其他高优先级中断占用了ecap中断的时机
,
yan liu3:
有其他中断。其他中断占了的话,这个中断不会挂起,等其他中断执行完接着执行吗?
,
Green Deng:
C2000的中断机制,中断不会挂起(除非有使用中断嵌套),所有中断不管优先级先后,都会等正在执行的中断执行完之后再响应下一个中断。但如果两个中断同时出现,那么系统会优先响应优先级高的中断
,
yan liu3:
我之前的理解:两个中断同时出现,先响应完高优先级的中断后,会接着响应低优先级的中断?难道同时发生中断,低优先级中断就不响应了?
,
Green Deng:
会响应的,但是这个响应就是有延迟的响应了
,
yan liu3:
嗯 目前是检测信号有跳变沿,但中断偶尔出现没响应。
,
Green Deng:
有没有判断过是中断没有响应还是响应有延时导致的误以为是没有响应?比如通过在中断中设置一个GPIO翻转来判断是否有进中断,然后对比进中断次数和信号上升下降沿次数是否相等?