einfaches Monoflop

OP #1995973
Lesenswert?

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 !
Moderator (Firma: Titel) Persönliche Seite #1996097
Lesenswert?

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... ;-)
OP #1996123
Lesenswert?

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.
Moderator (Firma: Titel) Persönliche Seite #1996195
Lesenswert?

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...
OP #1996234
Lesenswert?

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 :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren