Hallo! Ich arbeite mit dem STM32F107VC, uVision von Keil. Ich generiere mit dem Timer 1 ein PWM Signal (Aus einem Beispiel). Interne Clockfrequenz = 8MHz Prescale = 50 dezimal Autoreload = 4095 dez. Compareregister = 168 dez. Gerechnete Zeit zwischen den positiven Flanken: 25ms Gemesse Zeit zwischen den positiven Flanke: 49ms Die Einstellungen aus dem Manual verstehe ich nicht: Die Bits 0 bis und mit 7 sind alle gesetzt (1)! Bits 7:0 DTG[7:0]: Dead-time generator setup This bit-field defines the duration of the dead-time inserted between the complementary outputs. DT correspond to this duration. DTG[7:5]=0xx => DT=DTG[7:0]x tdtg with tdtg=tDTS. DTG[7:5]=10x => DT=(64+DTG[5:0])xtdtg with Tdtg=2xtDTS. DTG[7:5]=110 => DT=(32+DTG[4:0])xtdtg with Tdtg=8xtDTS. DTG[7:5]=111 => DT=(32+DTG[4:0])xtdtg with Tdtg=16xtDTS. Example if TDTS=125ns (8MHz), dead-time possible values are: 0 to 15875 ns by 125 ns steps, 16 us to 31750 ns by 250 ns steps, 32 us to 63us by 1 us steps, 64 us to 126 us by 2 us steps Note: This bit-field can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register). Hat dies Einfluss auf die Clocktime, oder was könnte noch falsch laufen?? Vielen Dank und Gruss M.B.
M. B. schrieb: > Interne Clockfrequenz = 8MHz > Prescale = 50 dezimal > Autoreload = 4095 dez. > Compareregister = 168 dez. > Gerechnete Zeit zwischen den positiven Flanken: 25ms > Gemesse Zeit zwischen den positiven Flanke: 49ms Faktor zwei Abweichung, immerhin schon mal die selbe Größenordnung. > Die Bits 0 bis und mit 7 sind alle gesetzt (1)! Ok, damit gilt folgende Formel: > DTG[7:5]=111 => DT=(32+DTG[4:0])xtdtg with Tdtg=16xtDTS. Mit DT = ( 32 + 31 ) * Tdtg mit Tdtg = 16 * tDTS Wenn die 8 MHz stimmen (oder muß man da noch der prescaler mit rein?), dann ist DT = 63 16 tDTS = 1008 * 125 ns = 126 µs. > Hat dies Einfluss auf die Clocktime, oder was könnte noch falsch > laufen?? Die Deadtime sollte bei Deinen 50 ms nicht ins Gewicht fallen. Hast Du die evtl. die PCLK oder HCLK geteilt? Was ist, wenn Du den Prescaler auf 25 stellst? Grüße Sven
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.