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.

F280049M 脉冲计数和pwm输出的方案

目前我们想使用F280049M(主频100M)做高速脉冲计数器。我们产品的规格书是做到4路高速(200kHz)脉冲同时计数,4路pwm(200kHz)同时输出。

1.当我们使用eCap模块作为我们的高速脉冲计数器时:

 (1). 如果F280049M仅仅跑eCap功能的话,可以轻松达到4路高速脉冲计数器--4路200kHz同时计数

 (2). 如果跑eCap的同时跑4路pwm 200kHz输出 和 SPI  2M 的时钟速速率通信,那么4路eCap中只有2路可以抓到正确的脉冲数,其他2路不能。

2.目前我们的pwm输出使用中断进行计数,每15个脉冲中断一次,4路200kHz同时输出的话,会频繁的进入中断。

   同时eCap是接收到一次上升沿就进入中断,4路200kHz同时接收也会频繁进入中断。

   SPI的通信目前是使用2M的时钟速率,每接收1byte的数据就会进入中断。

   这三个中断优先级pwm的最高,eCap的中间,SPI最低。我们推测是因为pwm的中断优先级比eCap的中断高,所以eCap的中断被抢占,因此脉冲计数不准

3.如果我们使用外部中断XINT的模块,外部中断1--XINT1和外部中断2--XINT2这两个比PWM的优先级高,但是外部中断3--XINT3和外部中断4--XINT4比PWM和SPI的中断低,所以只有XINT1/XINT2计数准确,其他的外部中断不准。

对于这样的情况有什么建议吗?