Part Number:TMS320F280049
您好。
想请问一个问题。问题描述如下:
采用epwm的SOCA或者SOCB事件触发ADC采样,当epwm SOCA事件发生时,每路ADC会经过一个S+H time和Conversion time,请问这段时间是否会影响epwm自己的epwm中断的执行。
另外,如果采用移相控制,比如epwm1和epwm2移相180°,如果epwm1和epwm2均会触发SOCA事件,并且用epwm1触发epwm中断,那么,如果epwm2触发SOCA事件,是否会影响或者占用epwm1的中断执行?
Green Deng:
1、如果两者都是中断方式的话,那么根据中断的执行方式,同一时间只能执行一个中断,如果S/H+conversion的时间过长的话是会影响到epwm中断的执行的。
2、如1所述,如果执行时间过长的话是会影响的
C2000的中断规则是(在补采用中断嵌套的情况下):如果2个中断同时发生,那么CPU会优先响应中断优先级高的那个中断,然后再响应优先级低的。高优先级中断执行完之后,才会响应低优先级中断,期间,中断不会被打断(没有打断机制)。
,
asher_wang Wang:
epwm是中断,ADC采样是用的epwm的SOCA进行触发的。那么如您所述,如果我采用移相PWM模式,如果我在epwm1 的时候同时触发epwm中断,并且在同一时刻触发ADC采样,那么此时会先执行epwm中断,待epwm中断执行完毕再响应ADC的采样吗?另外,如果我在epwm2的某一位置触发SOCA事件,那么事件导致的采样需要到什么时候才会实际进行采样呢?假设(epwm1和epwm2移相180,且,epwm2触发SOCA事件的时候,epwm1中断的运算还未结束)
,
Green Deng:
1、根据PIE表格中的优先级,先执行优先级高的(部分ADC的优先级高于PWM)
2、C2000的中断规则,必须执行完当前中断之后才会响应下一个中断。所以如果ADC中断到来的时候PWM中断还在执行,那么会等到PWM中断执行完再执行ADC中断