TI中文支持网
TI专业的中文技术问题搜集分享网站

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计数准确,其他的外部中断不准。

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

Young Hu:200KHz的脉冲输入和200KHz的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计数准确,其他的外部中断不准。

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

mangui zhang:这个中断太多了肯定会出问题尤其是四路相近的时候
SPI的通信不是很重要会主机在得不到响应是重复发送的话可以将SPI用作查询方式

目前我们想使用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计数准确,其他的外部中断不准。

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

qingzhu wei:

回复 Young Hu:

输入和输出没有关系,只不过它们都会使用中断的方式计数,因此频率很高的时候就会频繁进入中断。这样DSP的性能就会下降,目前我们正在想办法不让他们频繁进入中断。请问有什么建议吗?

目前我们想使用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计数准确,其他的外部中断不准。

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

qingzhu wei:

回复 mangui zhang:

产品作为从SPI设备,我们也正在想办法使用DMA的方式,这样就可以减少CPU参与传输的。

目前我们想使用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计数准确,其他的外部中断不准。

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

qingzhu wei:

回复 mangui zhang:

我们的产品是做为SPI的从设备,我们目前还不会重复发送。我们正在想办法使用DMA的方式,这样就可以减少CPU参与传输。

目前我们想使用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计数准确,其他的外部中断不准。

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

10#:既然使用了F280049,建议可以利用它片上的CLA来帮助中断的处理。

目前我们想使用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计数准确,其他的外部中断不准。

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

qingzhu wei:

回复 10#:

我們嘗試了CLA的機制,每一個路的PWM觸發一個cla的任務,當多路pwm同時跑起來的時候,效果差很多。如果只是一路pwm的話,看起來還行。所以CLA的機制感覺不太給力

目前我们想使用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计数准确,其他的外部中断不准。

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

qingzhu wei:

回复 qingzhu wei:

目前把SPI的FIFO的LEVEL值,设成1,这样每次接收1Byte都进一次中断,看起来有提升了。然后把eCap换成eQep功能,这样就不用频繁进去中断了。目前可以达到6ePwm+2Qep+2eCap+spi同时使用,不会出现问题。

赞(0)
未经允许不得转载:TI中文支持网 » F280049M 脉冲计数和pwm输出的方案
分享到: 更多 (0)