Das geht über den Deadband-Generator. Mit dem kann man beide (PWMA +
PWMB) von nur einem Signal ableiten.
Wie schon gesagt, musst du dich im Technical Reference Manual einlesen.
aber hier schon mal ein ein paar Hints:
1 | pwm_register->DBCTL.bit.HALFCYCLE = 0;
|
2 | // = 0: deadband module runs with TBCTL clock
|
3 | // = 1: deadband module runs with 2*TBCTL clock
|
4 | pwm_register->DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;
|
5 | pwm_register->DBCTL.bit.POLSEL = DB_ACTV_HIC;
|
6 | pwm_register->DBCTL.bit.IN_MODE = DBA_ALL;
|
7 | pwm_register->DBRED.bit.DBRED = 50;
|
8 | pwm_register->DBFED.bit.DBFED = 50;
|
9 | // number of TBCTL clock ticks
|
10 | /* TBCTL = sysclk mit
|
11 | * PERCLKDIVSEL.bit.EPWMCLKDIV / 2
|
12 | * TBCTL.bit.CLKDIV / 1
|
13 | * somit ist TBCTL = sysclk / 2 = 100Mhz
|
14 | * 300ns --> 30
|
15 | * 400ns --> 40
|
16 | * 500ns --> 50 --> nachgemessen... Stimmt!
|
17 | */
|
Und vergiss nicht, dass du das der PWM-Clock nur max 100 Mhz sein darf.
Das ist im Datenblatt nur sehr schwer rauszulesen.