paradoxfx

【原创】TI C2833x介绍---ePWM(18)

0
阅读(2695)

上次提到的死区插入方法有两种;一种是插入电阻和旁路二极管,方法比较简单,但是参数无法灵活调整,另外因为电路参数漂移而造成参数的不精确。另一种则是直接对PWM脉冲进行处理,例如把开通的脉冲缩短需要的死区时间,这个时间经常叫做死区、死时或者“dead-band”等。2833x的ePWM模块的死区时间是在软件中可配置的,其硬件处理则是使用芯片的内部电路,因此死区时间的处理不需要占用CPU资源。

ePWM中与死区时间相关的寄存器有两个:

10位的上升沿延时寄存器:EPwmxRegs.DBRED和10位的下降沿延时寄存器:EPwmxRegs.DBFED。实际的死区时间为:

上升沿延时=TBCLKx DBRED

下降沿延时=TBCLKx DBFED

简化起见,给出常用的死区时间与寄存器的配置:

典型延时时间配置,SYSCLKOUT=150MHz

寄存器

死区时间(µs

DBFEDDBRED

TBCLK=SYSCLKOUT

TBCLK=SYSCLKOUT/2

TBCLK=SYSCLKOUT/4

1

0.01

0.02

0.04

5

0.05

0.10

0.20

10

0.10

0.20

0.40

100

1.00

2.00

4.00

200

2.00

4.00

8.00

300

3.00

6.00

12.00

400

4.00

8.00

16.00

500

5.00

10.00

20.00

600

6.00

12.00

24.00

700

7.00

14.00

28.00

800

8.00

16.00

32.00

900

9.00

18.00

36.00

1000

10.00

20.00

40.00

因为我们选取的死区时间一般要比开关器件的手册中开通、关断所需的典型时间略长一些,所以一般而言选取表中的值更为方便。可以看出,上表中可以产生的最大的死区为40us。但是在一些大功率的开关器件中,例如GTO、IGCT这样的器件,其开关速度很慢(一般1kHz以内),相应的需要的死区时间也较大:几十到上百微秒。为了产生这样的死区,一方面DBRED、DBFED的值要最大,另一方面就要降低TBCLK的值,即增大其分频系数。幸运的是,因为开关频率低的时候,周期寄存器的值也很大,这样就不会造成死区时间甚至比整个开关周期寄存器的值还大的异常情况了。