Ich beschäftige mich grade mit der Erzeugung eines Impulses mit einer festen Dauer, der jedesmal erzeugt werden soll, wenn am Eingang einer Schaltung eine L/H Flanke auftritt, also ein klassisches Monoflop. Wie könnte ein einfaches Monoflop zum üben aussehen, welches bei einer L/H Flanke einen L-Impuls L von konstanter Dauer von z.b. 5mikrosec liefert? Das Monoflop soll NICHT nachtriggerbar sein, dafür sehr einfach. Vielen Dank für Eure Hilfe !
Duke Scarring schrieb:
> Ich würde dafür einen getakteten Zähler verwenden.
Bravo! Dann sage ich mal: Nachdem nicht bekannt ist, wie oft das
Monoflop ausgelöst werden soll, würde ich eine Schmelzsicherung
verwenden. Die ist definitiv nicht nachtriggerbar.
Ralph H. schrieb: > Ich beschäftige mich grade mit der Erzeugung eines Impulses mit einer > festen Dauer, der jedesmal erzeugt werden soll, wenn am Eingang einer > Schaltung eine L/H Flanke auftritt, also ein klassisches Monoflop. Zeiten werden (mal von bösen RC-Tricks abgesehen) in FPGAs und CPLDs immer mit Zählern gemacht... > Wie könnte ein einfaches Monoflop zum üben aussehen, welches bei einer > L/H Flanke einen L-Impuls L von konstanter Dauer von z.b. 5mikrosec > liefert? In welcher Beschreibungssprache? VHDL:
1 | signal cnt : integer range 0 to 10 := 0; |
2 | :
|
3 | :
|
4 | process (clk, eingang) begin |
5 | if eingang='1' then |
6 | cnt <= 0; |
7 | ausgang <= '1'; |
8 | elsif rising_edge(clk) then |
9 | if cnt<10 then |
10 | cnt <= cnt+1; |
11 | ausgang <= '1'; |
12 | else
|
13 | ausgang <= '0'; |
14 | end if; |
15 | end if; |
BTW: ich würde das so (mit dem asynchronem Laden) nicht machen, sondern
eine synchrone Lösung anstreben. Dafür fehlt aber noch einiges an
Information...
> Das Monoflop soll NICHT nachtriggerbar sein,
Das wäre aber das einfachste... ;-)
Hm.. ob mir die beiden Beiträge wirklich helfen ;-) Also das Monoflop wird relativ regelmäßig angestoßen, ca. aller 50ms.. und der Impuls der es anstößt liegt bei ca. 2ms Dauer.. daraus soll ein fester Impuls von 2mikrosec werden..
Sorry Lothar, da hatten sich unsere Beiträge überschnitten... Warum ist ein nachtriggerbares Monoflop einfacher ? und was ist hier der Unterschied von synchron und asynchron ? Das erschließt sich mir nicht richtig. Fakt ist, das Monoflog wird sehr regelmäßig angestoßen und zwar von einen bestimmten Zählerstand, der aber viel zu lang ist und daher verkürzt werden muss.
Du willst also einen 2ms Impuls auf 2us verkürzen. Dann solltest du im obigen beispiel "eingang" auch flankengetriggert machen. Suchst du überhaupt eine FPGA oder CPLD Lösung ?
Ralph H. schrieb: > Ich suche eine CPLD Lösung :-) Das ist schlecht, denn Zähler brauchen FFs, und CPLDs haben nur sehr wenige davon... :-/ Ralph H. schrieb: > daraus soll ein fester Impuls von 2mikrosec werden.. Waren das nicht gerade eben noch 5 us? D.h. die Pulsdauer ist nicht soooo wichtig... ;-) Dann gibt es auch einen Workaround (aka. Bastellösung): das externe RC-Glied am CPLD-Pin. Du lässt den Impulseingang einmal direkt ins CPLD (inp) und einmal über ein RC-Glied mit t=2us (inpdelay). Im CPLD ist dann etwa folgender Code:
1 | outp <= '1' when inp='1' and inpdelay='0' else '0'; |
> Warum ist ein nachtriggerbares Monoflop einfacher ? Weil dann einfach solange der Eingang '1' ist, der Ausgang auch '1' sein darf. Es muss also keine Flanke des Eingangssignals erkannt werden... > Fakt ist, das Monoflog wird sehr regelmäßig angestoßen und zwar von > einen bestimmten Zählerstand, der aber viel zu lang ist und daher > verkürzt werden muss. Normalerweise müsstest du direkt am Zähler angreifen...
OK Lothar, die externe Lösung fällt leider aus... da werd ich erstmal zum Zähler greifen müssen.. Aber ich denke, wir rutschen erstmal mal ins neue Jahr und wünschen uns das wir alle Gesund bleiben, so wir es sind :-) Nächstes Jahr gehts dann wieder los :-) und weiter mit dem Basteln :-)
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.