www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Signal erzeugen aus steigenden Flanken (TTL)


Autor: Michael K. (lump)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde mich sehr freuen, wenn mir jemand einen Tip geben könnte, wie 
ich aus den beiden Input-Signalen das Output-Signal erzeugen kann (siehe 
Dateianhang). Dabei kommt es mir vor allem darauf an, dass zum Erzeugen 
des Output-Signals jeweils die steigende Flanke des entsprechenden 
Input-Signals verwendet wird. Im Dateianhang befindet sich ein Timing 
Diagram, das das gewünschte Ergebnis zeigt.
Ich habe bereits mit positiv flanken-getriggerten JK-Flip-Flops und auch 
D-Flip-Flops herumexperimentiert, bin jedoch nicht auf ein vernünftiges 
Ergebnis gekommen.
Das Signal soll mit TTL-Bauelementen erzeugt werden.
Vielen Dank im voraus!

Michael

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du suchst einen R-S Filpflop
s. http://de.wikipedia.org/wiki/RS-Flipflop#RS-Flipflop
Signal 2 musst du noch invertieren, dann passt's

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sollte mit einem normalen 74xx74 (+ einem 74xx04) zu lösen sein.
Pin D auf HIGH legen.
Input 1 auf den Takteingang
Input 2 invertiert auf den Reset-Eingang.
Fertig.

Autor: Michael K. (lump)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Luk4s
Vielen Dank für die Antwort. Ich habe mir die RS-FlipFlops nun 
angeschaut, doch mir ist nicht so ganz klar wie die beiden Input-Signale 
mit dem FlipFlop verbunden werden müssen. Ich nehme mal an, dass die 
RS-Eingänge nicht flankengesteuert sind, sondern nur die Clock. Wenn ich 
also Input 1 mit dem /R-Eingang verbinde und Input 2(invertiert) mit dem 
/S-Eingang, dann würde sich das Output-Signal verlängern. Das würde dann 
aber in meiner Anwendung nicht mehr funktionieren.
Falls ich Deinen Tip falsch verstanden habe, wäre es sehr nett wenn Du 
mir das etwas genauer erklären würdest.

Autor: Michael K. (lump)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@HildeK
Danke für den Vorschlag, aber bei dieser Konfiguration würde das 
Output-Signal bis zur Flanke von Input 2 auf HIGH bleiben.

Autor: Magnetus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es damit?

Autor: Falk Brunner (falk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@  HildeK (Gast)

>Das sollte mit einem normalen 74xx74 (+ einem 74xx04) zu lösen sein.
>Pin D auf HIGH legen.
>Input 1 auf den Takteingang
>Input 2 invertiert auf den Reset-Eingang.

Nöö, denn dann wäre es ja am Input 2 NICHT flankensensitiv!

Eine "normale" synchrone Logik, welche auf ZWEI Flanken regaiert gibt es 
nicht. Aber wie immer gibt es einen Quick & Dirty Workaround. Siehe 
Anhang. Die Schaltung ist sogar immun gegen race conditions, weil Input 
1 dominant ist und der Reset sequentiell erfolgt.

MFG
Falk

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mist zu langsam :-)

Autor: Magnetus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Falk:

Ich glaubs jetzt echt nicht. Genau meine Schaltung... LOL

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zwei Dumme, ein Gedanke :-0

Autor: Magnetus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wir beide haben es mal eben auf die Schnelle mit dem 
ach-so-verpöhnten Eagle gepinselt ;)

Autor: Michael K. (lump)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Falk
@Magnetus

Vielen Dank Euch Beiden!!!
Ich werde es jetzt gleich mal in meine Anwendung integrieren und testen.
Mit meinen Versuchen das Ganze mit JK-FlipFlops und Toggle zu erzeugen 
war ich von Eurer raffinierten Lösung wirklich meilenweit entfernt.

Beste Grüße
Michael

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael K. schrieb:
> @HildeK
> Danke für den Vorschlag, aber bei dieser Konfiguration würde das
> Output-Signal bis zur Flanke von Input 2 auf HIGH bleiben.

Dann nimm den /Q als Ausgang ...

Falk Brunner schrieb:
> @  HildeK (Gast)
>
>>Das sollte mit einem normalen 74xx74 (+ einem 74xx04) zu lösen sein.
>>Pin D auf HIGH legen.
>>Input 1 auf den Takteingang
>>Input 2 invertiert auf den Reset-Eingang.
>
> Nöö, denn dann wäre es ja am Input 2 NICHT flankensensitiv!

Was macht das schon? Wenn Input2 wechselt, wird der Output 
zurückgesetzt. Entsprechend der Vorgabe wird das richtige Signal 
generiert.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@HildeK (Gast)

>> Nöö, denn dann wäre es ja am Input 2 NICHT flankensensitiv!

>Was macht das schon?

Es entspricht nicht den Anforderungen und ist im Zweifelsfall 
unbrauchbar.

>Wenn Input2 wechselt, wird der Output
>zurückgesetzt. Entsprechend der Vorgabe wird das richtige Signal
>generiert.

Das Diagramm allein ist nicht ein-eindeutig, die Anforderung der 
Flankensensitivität schon.

MFG
Falk

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner schrieb:
> Das Diagramm allein ist nicht ein-eindeutig, die Anforderung der
> Flankensensitivität schon.

Meine Interpretation war genau umgekehrt:
> wie
> ich aus den beiden Input-Signalen das Output-Signal erzeugen kann (siehe
> Dateianhang)

also: Vorgabe siehe Diagramm,
und

> Dabei kommt es mir vor allem darauf an, dass zum Erzeugen
> des Output-Signals jeweils die steigende Flanke des entsprechenden
> Input-Signals verwendet wird.

Das kann man unterschiedlich auslegen. Ich habe es so interpretiert, 
dass zu Zeitpunkt der steigenden Flanke der Eingangssignale geschaltet 
werden soll.

Das Verhalten der Schaltung, wenn sich beide Pulse überlappen, hat der 
TO nicht spezifiziert und ist natürlich bei deiner Lösung eine anderes 
als bei meiner.

Autor: Michael K. (lump)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
HildeK schrieb:
> Michael K. schrieb:
>> @HildeK
>> Danke für den Vorschlag, aber bei dieser Konfiguration würde das
>> Output-Signal bis zur Flanke von Input 2 auf HIGH bleiben.
>
> Dann nimm den /Q als Ausgang ...

@HildeK
Wenn ich mich jetzt nicht total irre, dann wäre doch wärend der Phase t1 
(siehe Dateianhang) bei Deinem Aufbau der /Q-Ausgang auf LOW. Falls ich 
falsch liege, wäre es nett wenn Du mir kurz erklären könntest warum.

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael K. schrieb:
> @HildeK
> Wenn ich mich jetzt nicht total irre, dann wäre doch wärend der Phase t1
> (siehe Dateianhang) bei Deinem Aufbau der /Q-Ausgang auf LOW. Falls ich
> falsch liege, wäre es nett wenn Du mir kurz erklären könntest warum.
>
Ja, das kann schon sein - es liegt an den Anfangsbedingungen des FFs. 
Diese solltest du grundsätzlich nicht dem Zufall überlassen.
Bei Falks/Magnetus' Lösung ist das aber auch so.

In beiden Lösungen ist der /Q der Ausgang und wenn das FF beim Startup 
zurückgesetzt ist/wird, dann beginnt es sicher mit einem HIGH-Pegel. 
Ansonsten ist beides zufällig möglich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.