hallo ich möchte meine MOSfet steuern aber die schalten beide gleich zeitig.nun möchte ich ein totzeit bauen, die sich auf der low side befinden ich weiss das ich meine ausgänge in low und high ändern soll aber wie ich die 1µs bauen in dieser code ist mir nicht klar.kann mir jemand helfen.
@ gast (Gast) >aber wie ich die 1µs bauen in dieser code ist mir nicht klar.kann mir >jemand helfen. Einfach das Signal über ein paar Schieberegister verzögern. MFG Falk
> aber wie ich die 1µs bauen in dieser code ist mir nicht klar
Dazu solltest du erst mal sagen/wissen, was du für eine Taktfrequenz
hast.
Und dann wäre eine Skizze zum gewünschten Signalverlauf schön.
Ich vermute (in Ermangelung genauerer Informationen), High-Side ist
aktiv, wenn PWM=1 ist, und Low-Side, wenn PWM=0 ist. Dann muß High-Side
bei einem 0-1 Übergang verzögert werden, und Low-Side bei einem 1-0
Übergang. Du brauchst also 2 Totzeiten.
Das wäre ein Ansatz:
1 | :
|
2 | signal delayhs = integer range 0 to 100; |
3 | signal delayls = integer range 0 to 100; |
4 | :
|
5 | :
|
6 | process(clk) begin |
7 | if rising_edge(clk) then |
8 | if (PWM='0') then -- Low-Side aktiv |
9 | delayhs <= 0; |
10 | PWM_HI <= '0'; -- High-side sofort aus |
11 | if (delayls<100) then -- Low-Side verzögern |
12 | delayls<=delayls+1; |
13 | else
|
14 | PWM_LO='0'; |
15 | end if; |
16 | else -- High-Side aktiv |
17 | delayls <= 0; |
18 | PWM_LO <= '1'; -- Low-Side sofort aus |
19 | if (delayhs<100) then -- High-Side verzögern |
20 | delayhs<=delayhs+1; |
21 | else
|
22 | PWM_HI='1'; |
23 | end if; |
24 | end if; |
25 | end if; |
26 | end process; |
Schöner wäre es allerdings, das in die PWM-Erzeugung zu integrieren, und zwei Komparatoren zu verwenden. BTW: Die Shift-Taste erweitert den verfügbaren ASCII-Raum um den Faktor 2. Gleichzeitig erhöht sie die Lesbarkeit deines Textes.
Ach ja ich habe vergessen zu erwähnen. nur die Low side muss vor und nach verzörgern werden. ich versuche es noch mit deine Methode .danke
> nur die Low side muss vor und nach verzörgern werden.
Ein Vorverzögern gibt es nicht :-o
Ergo muß das Einschalten der High-Side nach dem Ausschalten der
Low-side verzögert werden. Und genauso muß das Einschalten der Low-Side
nach dem Ausschalten der High-Side verzögert werden.
Aber wie gesagt: ich würde das in die PWM-Erzeugung packen. Eine
Schaltschwelle für den High-Side-Schalter, eine andere für die Low-Side.
@ gast (Gast) >Ach ja ich habe vergessen zu erwähnen. nur die Low side muss vor und >nach verzörgern werden. Nöö. Man braucht Break before Make. Das AUSschalten muss unverzögert erfogen, das EINschalten verzögert. Gilt für LOW UND HIGH Side. MFG Falk
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.