Forum: Mikrocontroller und Digitale Elektronik Schaltung gesucht (Inhalt BCD-Code in Impulsfolge wandeln)


von Siegmar H. (Firma: privatanwender) (logiker_61)


Angehängte Dateien:

Lesenswert?

Hallo,

weil ich evtl. das Rad nicht neu erfinden will (Hat bestimmt, so mein 
Wunsch, hier bereits jemand vor mir getan!) wende ich mich mit meinem 
Anliegen ans Forumr. Die Hoffnung stirbt ja immer zuletzt ...


Die gesuchte Schaltung (Logik) -X- (siehe Abb.):
An den vier Eingängen liegt der BCD-Code eines Zählers an. Ändert sich 
der Wert des BCD-Codes, dann soll am Ausgang eine entsprechende 
Impulsserie ausgegeben werden (bei z.Bsp. BCD-Code=8 eben acht 
nacheinander folgende Impulse). Der Takt "Extern" soll die Frequenz der 
Impulsserie am Ausgang vorgeben. Run (Extern) ist wie als 
Freigabe-Eingang zu verstehen, logisch "1" die Impulsserie an Out wird 
ausgegeben, bei logisch "0" dann nicht.

Wer hat ähnliches bereits mal aufgebaut/entwickelt o.ä. und würde mir 
Unterlagen etc. zur Verfügung stellen, wenn noch verfügbar? Idealerweise 
soll die Ausführung in TTL oder H/CMOS erfolgen.

Bevor ich mich jedoch doch selbst an die Entwicklung setze, werde ich 
anderweitig ebenfalls aktiv werden (sprich: in weiteren Foren versuche 
ich Informationen abzugreifen). Dies soll auf keinen Fall die Würdigung 
dieses Forum's herabsetzen!


Also für Input bin ich offen.
Dank im Voraus für den Support.


logiker_61

von Uwe S. (de0508)


Lesenswert?

Siegmar , wie schnell ist dein Takt und welches Antwortverhalten N aus 
{ns, µs, ms} wird benötigt?

von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

Hallo,

die gesuchte Schaltung hat keine hohen Anforderungen an die 
Geschwindigkeit. Der Takt (von Extern) soll sich in einem Bereich von 
0,25... 1Hz bewegen können.
Die an Out abzunehmende Impulsfolge 0-1-0-1... usw. ist mit diesem Takt 
"syncronisiert", was die Impulsbreite betrifft.
Weiterhin ist eine Ansprechzeit von 1Sek. ausreichend.


Siegmar

von Uwe S. (de0508)


Lesenswert?

Hallo Siegmar,

dann kann man einen Atmel µC problemlos einsetzen.

Ist das ein dezimaler oder hexadezimal BCD Encoder ?

von Wolfgang (Gast)


Lesenswert?

Siegmar Heik schrieb:
> Ändert sich der Wert des BCD-Codes, dann soll am Ausgang eine
> entsprechende Impulsserie ausgegeben werden (bei z.Bsp. BCD-Code=8
> eben acht nacheinander folgende Impulse)

Kannst du das nochmal erklären, was du dir da für eine Impulsserie 
vorstellst, insbesondere wie die mit deiner 4Bit Eingangsgröße 
zusammenhängt. Was meinst du dabei mit BCD-Code. Sinnvoll von BCD-Code 
sprechen kann man erst ab 8 oder mehr Bits.

von hp-freund (Gast)


Lesenswert?

Ich würde dazu einen D193 bzw. 74xx193 als Rückwärtszähler mit 
parallelem Dateneingang nutzen.

1. P0..P3 parallele BCD-Eingänge
2. PL Übernahme der Daten -> Takt starten
3. bei nTCD also Zähler=0 -> Takt stopen

von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

Wolfgang schrieb:
> Siegmar Heik schrieb:
>> Ändert sich der Wert des BCD-Codes, dann soll am Ausgang eine
>> entsprechende Impulsserie ausgegeben werden (bei z.Bsp. BCD-Code=8
>> eben acht nacheinander folgende Impulse)
>
> Kannst du das nochmal erklären, was du dir da für eine Impulsserie
> vorstellst, insbesondere wie die mit deiner 4Bit Eingangsgröße
> zusammenhängt. Was meinst du dabei mit BCD-Code. Sinnvoll von BCD-Code
> sprechen kann man erst ab 8 oder mehr Bits.


O.k., ich habe da wohl nicht korrekt die gewünschte Funktionalität 
beschrieben. Dann jetzt hoffentlich besser.

Der BCD-Code (oder auch 1-2-4-8-Code) kommt in meiner (geplanten) 
Anwendung von den Ausgängen QA, QB, QC und QD dekadischer 
TTL-Zähler-IC's D192 (ehemalige DDR-Baureihe). Diese Ausgänge speisen 
(im Normalfall) eigentlich Dekoder-IC's. In den "4-Bit" wird somit der 
Zahlenbereich 0-9 abgebildet. Ich möchte über die gesuchte Logik -X- 
eigentlich eine "parallele-serielle Wandlung" erreichen. Entspricht 
z.Bsp. die Information an den Ausgängen des Zähler-IC's dem Wert "8", 
dann soll eine Impulsfolge am Ausgang Out ausgegeben werden die, wenn 
man diese zählen würde, ebenfalls "8" abbildet.
Die Impulsbreite, oder hier mal Ausgabegeschwindigkeit genannt, soll 
über den Eingang Takt (Extern) gesteuert werden können.
Die gesuchte Logik sollte ebenfalls mittels TTL oder CMOS, ich sage 
jetzt mal diskret, aufgebaut werden.
Ich hoffe, dass ich es verständlich formuliert habe?

Siegmar

von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

Uwe S. schrieb:
> Hallo Siegmar,
>
> dann kann man einen Atmel µC problemlos einsetzen.
>
> Ist das ein dezimaler oder hexadezimal BCD Encoder ?


Die "Hardware" soll mittels TTL oder CMOS abgebildet werden, kein 
Mikrokontroller.
Es handelt sich nicht um Encoder, sondern um TTL dekadische Zähler.

Entschuldigung, wenn ich mich unkorrekt ausgedrückt habe.


Siegmar

von hp-freund (Gast)


Lesenswert?

Siegmar Heik schrieb:
> dann soll eine Impulsfolge am Ausgang Out ausgegeben werden die, wenn
> man diese zählen würde, ebenfalls "8" abbildet.

Einfacher ist natürlich die serielle Übertragung mit 2 Schieberegistern.
Dann kommen auf der anderen Seite nicht 8 Impulse sondern wieder der BCD 
Wert an.

von holger (Gast)


Lesenswert?

>Die "Hardware" soll mittels TTL oder CMOS abgebildet werden
                ^^^^

Und wir sollen DEINE Hausaufgaben machen.

von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

holger schrieb:
>>Die "Hardware" soll mittels TTL oder CMOS abgebildet werden
>                 ^^^^
>
> Und wir sollen DEINE Hausaufgaben machen.


Nein, meine Frage lautete u.a. ob dies bereits mal jemand gemacht hat. 
Es wäre ja möglich gewesen. An Informationsaustausch hatte ich gedacht.

Dann Danke für die Tipps, ich geh dann mal selbst ans Werk.


Siegmar

von hp-freund (Gast)


Lesenswert?

Was gefällt dir an meinen Vorschlägen nicht?
Ist schon ein paar Dekaden her, da hatten wir sowas mal für ein 
Blindenuhr Projekt gemacht wenn ich mich recht erinnere...

von derguteweka (Gast)


Lesenswert?

Moin,

Eine kleine Querverseilung mit einem informativen Link erscheint mir 
hier langsam angebracht.

Erst der Link:
http://www.linux-tips-and-tricks.de/de/linux/212-multiposting-was-ist-das-und-warum-mag-die-keiner/

Und hier die Querverseilung:
http://www.transistornet.de/viewtopic.php?f=3&t=9761

Gruss
WK

von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

derguteweka schrieb:
> Moin,
>
> Eine kleine Querverseilung mit einem informativen Link erscheint mir
> hier langsam angebracht...
>


Ja, hatte ich doch am Ende des Threadstart's geschrieben:

"Bevor ich mich jedoch doch selbst an die Entwicklung setze, werde ich
anderweitig ebenfalls aktiv werden (sprich: in weiteren Foren versuche
ich Informationen abzugreifen). Dies soll auf keinen Fall die Würdigung
dieses Forum's herabsetzen!"

Wenn damit jemand ein Problem hat, ich jedenfalls wäge gern mehrere 
Meinungen ab, gleiches bei Eingang von Informationen.


Siegmar

von mnbvcxy (Gast)


Lesenswert?

Wolfgang schrieb:
> Was meinst du dabei mit BCD-Code. Sinnvoll von BCD-Code
> sprechen kann man erst ab 8 oder mehr Bits.

BCD steht für Binär Codierte Dezimalziffer. Um eine Ziffer zwischen 0 
und 9 zu codieren benötigt man lediglich 4 Bit.

http://de.wikipedia.org/wiki/BCD-Code

von mnbvcxy (Gast)


Lesenswert?

Mein Vorschlag wäre einen CPLD zu nehmen und den mit VHDL zu 
programmiernen. Sowas benötigt kaum externe Beschaltung und macht dann 
nur, was es soll.

Die Frage, die sich mir noch stellt:
Soll das Signal ständig rausgetaktet werden oder nur einmalig?
Falls ständig: Welche Pausen sollen dazwischen sein? Und was soll 
passieren, wenn sich während einer Übertragung das BCD-Wort ändert?

von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

mnbvcxy schrieb:
> Die Frage, die sich mir noch stellt:
> Soll das Signal ständig rausgetaktet werden oder nur einmalig?
> Falls ständig: Welche Pausen sollen dazwischen sein? Und was soll
> passieren, wenn sich während einer Übertragung das BCD-Wort ändert?


Das Signal soll nur einmal, nach Änderung des BCD-Codes als Signalfolge 
am Ausgang Out ausgegeben werden.
Das Intervall zwischen zwei Änderungen des BCD-Codes ist ausreichend 
groß, damit sind Fehlausgaben abgefangen.


Siegmar

von mnbvcxy (Gast)


Lesenswert?

Gibt es noch ein Signal, welches anzeigt, dass jetzt eine neue BCD-Zahl 
anliegt, also eine Art Trigger?
Das würde es etwas vereinfachen!

von mnbvcxy (Gast)


Lesenswert?

Weiterer Lösungsansatz:
Man könnte die BCD-Zahl umcodieren, also z.B. eine dezimale 4 in 
"000001111" und könnte diese Zahl dann in einem Johnson-Zähler 
(Möbius-Zähler) auf Null runterzählen.

von Wolfgang (Gast)


Lesenswert?

mnbvcxy schrieb:
> BCD steht für Binär Codierte Dezimalziffer. Um eine Ziffer zwischen 0
> und 9 zu codieren benötigt man lediglich 4 Bit.

Eben, und was unterscheidet das von einer ganz normalen Binärzahl? BCD 
kommt erst zum Tragen, wenn 11 dezimal nicht als 0x0b binär, sondern als 
0x11 binär übertragen wird. Bei 4Bit ist das völlig schnuppe.

von Simpel (Gast)


Lesenswert?

HP-Freund hat es schon angesprochen.
Ich hatte früher mal die 74LS190 (DIL16 BCD-Up/Down-Counter mit 
Preset-Eingängen) im Einsatz, für Membran-Dosierpumpen, die über 4 
kaskadierte BCD-Thumbwheel-Schalter eingestellt werden konnten. Ein 
NE555C als Taktgeber dazu.

Man legt an den Eingängen das BCD-Preset-Signal an, aktiviert Load und 
kann dann die eingestellte Impulszahl auf 0 herunterzählen, bzw. von 
Null bis Preset hochzählen. Der min- bzw. max-Ausgang kann den Taktgeber 
anhalten, der sowohl den Zähler taktet, als auch deine Ausgangsimpulse 
in der eingestellten Anzahl liefert..

von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

mnbvcxy schrieb:
> Gibt es noch ein Signal, welches anzeigt, dass jetzt eine neue BCD-Zahl
> anliegt, also eine Art Trigger?
> Das würde es etwas vereinfachen!


Ja, das gäbe es.
Das wäre der Impuls auf den Zähler-IC, welcher Zählerstand+1 bewirkt, 
also den Inhalt des Zählers +1 incrementiert. Dieser Impuls ist eine 
fallende Flanke, es müßte nur abgewartet warden (dies wäre nicht 
zeitkritisch), dass die Flanke beendet ist, dann kann dies als Trigger 
fungieren.


Siegmar

von Tom A. (toma)


Lesenswert?

Hallo Siegmar,

wenn ich die Aufgabenstellung richtig verstanden habe, genügt ein 
einfaches Schieberegister mit paralellen Eingängen und seriellen 
Ausgang. Da fällt mir spontan der 74xx166 ein, der hat zwar 8 Eingänge 
aber dann gibt man halt 8 Schiebetakte, legt die vier unteren Eingänge 
auf 0 und den BCD-Code auf die oberen Vier. Es gibt sicher auch 
Schieberegister für 4 Bit.

Ein paar klärende Worte zu BCD:

BCD steht für "Binär Codierte Dezimalziffer/zahl" Im dezimalen 
Zahlensystem gibt es 10 Ziffern 0-9 (Binär 0000....1001). Zur binären 
Codierung von zehn unterschiedlichen Ziffern werden mindestens 4 Bit 
benötigt. Mit 4 Bit können aber 16 unterschiedliche Ziffern dargestellt 
werden, also mehr als die zehn für dezimal benötigten. Der BCH-Code 
"Binär Codierte Hexadezimalziffer/zahl" nutzt den Bereich von 0-F 
(0000....1111).
Eine Einteilung mit 4 Bit Breite nennt man im deutschen Sprachraum eine 
Tetrade (Tetra = vier), im englischen wird sie als Nibble bezeichnet. So 
wie man 8 Bit Breite, in beiden Sprachräumen ein Byte nennt.

Den Bereich der Tetraden welche eine Dezimalziffer darstellen (0-9), 
nennt man "echte Tetraden", der Bereich obererhalb wird durch die 
Buchstaben A-F dargestellt und nennt sich Pseudotetraden.

BCD-Ziffer 0-9, Binär 0000-1001 - echte Tetraden
BCH-Ziffer 0-F, Binär 0000-1111 - Pseudotetraden

Die Ziffern sind durch ihre binäre Wertigkeit codiert:

8 4 2 1   Wertigkeit
0 0 0 0 = 0 BCD/BCH (echte Tetrade)
0 0 0 1 = 1 BCD/BCH (echte Tetrade)
0 0 1 0 = 2 BCD/BCH (echte Tetrade)
0 0 1 1 = 3 BCD/BCH (echte Tetrade)
0 1 0 0 = 4 BCD/BCH (echte Tetrade)
0 1 0 1 = 5 BCD/BCH (echte Tetrade)
0 1 1 0 = 6 BCD/BCH (echte Tetrade)
0 1 1 1 = 7 BCD/BCH (echte Tetrade)
1 0 0 0 = 8 BCD/BCH (echte Tetrade)
1 0 0 1 = 9 BCD/BCH (echte Tetrade)
1 0 1 0 = A (10) nur BCH (Pseudotetrade)
1 0 1 1 = B (11) nur BCH (Pseudotetrade)
1 1 0 0 = C (12) nur BCH (Pseudotetrade)
1 0 1 1 = D (13) nur BCH (Pseudotetrade)
1 1 1 0 = E (14) nur BCH (Pseudotetrade)
1 1 1 1 = F (15) nur BCH (Pseudotetrade)

Beispiele:
  5 = 0101 = 0*8 + 1*4 + 0*2 + 1*1
  9 = 1001 = 1*8 + 0*4 + 0*2 + 1*1

Ich denke damit sind alle Klarheiten beseitigt :)

Gruß. Tom

von Simpel (Gast)


Lesenswert?

Ich habe die Aufgabenstellung so verstanden:

Man legt den BCD-Code an (z.B. 1001 = dez9 ) und 'hinten' kommt eine 
entsprechende Impulsfolge raus: 010101010101010101 (9mal 01) oder 
invertiert entsprechend 10 10.... (9mal).

von Wolfgang (Gast)


Lesenswert?

Siegmar Heik schrieb:
> es müßte nur abgewartet warden (dies wäre nicht
> zeitkritisch), dass die Flanke beendet ist, dann kann dies als Trigger
> fungieren.

Kannst du das vielleicht mal in Zahlen fassen? Das Abwarten auf das 
Beenden der Flanke sollte sich doch auf wenige Nanosekunden beschränken. 
Wenn es schon um die Dauer von Flanken geht, muss man natürlich erst 
recht die Laufzeit im Zähler berücksichtigen, d.h. von der Flanke bis 
zur (sicheren) Änderung aller Ausgangszustände.

von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

Simpel schrieb:
> Ich habe die Aufgabenstellung so verstanden:
>
> Man legt den BCD-Code an (z.B. 1001 = dez9 ) und 'hinten' kommt eine
> entsprechende Impulsfolge raus: 010101010101010101 (9mal 01) oder
> invertiert entsprechend 10 10.... (9mal).


Ja, trifft genau den Kern (so hatte ich es auch beschrieben)!


Siegmar

von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

Tom Amann schrieb:
> Ein paar klärende Worte zu BCD:
>

> BCD-Ziffer 0-9, Binär 0000-1001 - echte Tetraden
> BCH-Ziffer 0-F, Binär 0000-1111 - Pseudotetraden


Hallo Tom,

genau so ist mir dies ebenfalls bekannt.

Die Q-Ausgänge (QA - QD) eines dekadischen Zähler-IC's D192 (xx192) 
bilden über 4Bit den BCD-Code in der Wertigkeit 0-9 ab, die eines D193 
(xx193) mit 4Bit von 0-F. War vielleicht von mir eine Nachlässigkeit, 
dass ich immer BCD-Code als Wortwahl verwendet habe, anstatt 
Tetraden/Pseudotetraden zu verwenden.


Siegmar

von Tom A. (toma)


Lesenswert?

Ah, jetzt glaube ich das Problem zu verstehen. Die BCD-Ziffer ist ein 
Zähler, wie oft eine bestimmte Bitkombination rausgeschoben wird.

Dann wird es etwas komplizierter. Man kann die verdoppelte (1Bit links 
versetzt) BCD-Ziffer auf die Load-Eingänge eines ladbaren 
Rückwärtszählers geben. Bei erreichen der 0 wird wieder gestoppt. Auf 
diese Weise gibt der Zähler die doppelte Anzahl Impulse am Ausgang Q0, 
also  X-mal "01" oder invertiert "10". Ist nur so eine Idee und müsste 
noch genauer ausgearbeitet werden.

Gruß. Tom

von Tom A. (toma)


Lesenswert?

Hallo Siegmar,

ich hatte kein Problem mit deinen Bezeichnungen, mir war nur die 
Funktion der Schaltung nicht klar.

Den Antworten auf deine Frage entnahm ich den Bedarf einer 
Begriffserklärung, um mit gleichem Grundverständnis/Begriffen zu 
diskutieren.

Zu meiner vorigen Idee: Der Q0-Ausgang eines Zählers liefert die 
Taktfrequenz durch 2 geteilt. Um die doppelte Anzahl Impulse zu 
erzeugen, muß die BCD-Zahl vervierfacht angelegt werden (2 Bit links 
versetzt). Müßte also mindestens ein 6Bit-Zähler sein, I0 und I1 auf 
Low.

Gruß. Tom

von Simpel (Gast)


Lesenswert?

Der 74xx190 geradezu prädestiniert für die Aufgabe.

Der 74xx190 wird im down-Modus betrieben. Soweit ich mich erinnern kann, 
hatte ich den Enable-Eingang fix auf Low und den Zähler einfach dadurch 
gestoppt, dass über den min-Ausgang der Clock angehalten wurde...

Du übernimmst deinen BCD-Wert mittels LOAD(lowaktiv) in das 
Preset-Register. Damit wird der Zähler gesetzt, der min-Ausgang wird 
wieder low. Mit diesem Low-Signal schaltest du entweder deinen Taktgeber 
ein, oder die Takte über ein Gatter oder einen PNP-Transistor auf den 
Clockeingang des Zählers durch.

Die Clock-Impulse am Zählereingang sind gleichzeitig deine 
Ausgangsimpulse in der Anzahl des BCD-Preset...
D.h. bei BCD-Preset 7 werden 7 Clockimpulse auf den Zähler gegeben und 
dann über den min-Ausgang, der bei Zählerstand 0 auf Hi geht, der Clock 
wieder gestoppt.

Nun einfach den nächsten BCD-Wert einlesen und der Vorgang startet 
erneut. Ganz simpel.

von Siegmar H. (Firma: privatanwender) (logiker_61)


Angehängte Dateien:

Lesenswert?

Simpel schrieb:
> Der 74xx190 geradezu prädestiniert für die Aufgabe.


Hallo,

Du meinst diesen IC?
Das scheint in der Tat recht simpel zu werden. Dann gehe ich mal auf die 
Suche danach und baue (wenn ich sie verfügbar habe) mal die Testumgebung 
dazu auf.


Danke.
Siegmar

von Simpel (Gast)


Lesenswert?

Genau diesen... aber du kannst auch den 74LS191 nehmen. Wenn 
sichergestellt ist, dass deine Preset-Werte eh nur von 0 bis 9 gehen, 
ist das Wurscht.

Der 74LS191 ist ein Binärcounter von 0 bis 15 und somit vielseitiger 
verwendbar, falls du dir gleich ein paar mehr von denen holst.

von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

Simpel schrieb:
> Genau diesen... aber du kannst auch den 74LS191 nehmen. Wenn
> sichergestellt ist, dass deine Preset-Werte eh nur von 0 bis 9 gehen,
> ist das Wurscht.
>
> Der 74LS191 ist ein Binärcounter von 0 bis 15 und somit vielseitiger
> verwendbar, falls du dir gleich ein paar mehr von denen holst.


Hallo,

habe gerade mal etwas rumtelefoniert, 8Stk. 74LS190 sind mir sicher. Es 
geht bei mir eh nur von 0-9!


Unklar ist mir noch folgendes:

Simpel schrieb:
> Soweit ich mich erinnern kann,
> hatte ich den Enable-Eingang fix auf Low und den Zähler einfach dadurch
> gestoppt, dass über den min-Ausgang der Clock angehalten wurde...

- Was bezeichnest Du als Enable-Eingang (im Datenblatt)?
- Die Onboard Ausgänge QA - QD, verhalten die sich analog der über Clock 
zugeführten Impulse (BCD-Code = 0001, wenn 1. Impuls, BCD-Code = 0010, 
wenn 2. Impuls uws.)?


Siegmar

von Tom A. (toma)


Lesenswert?

Hallo Siegmar,

da gibt es doch sicher einen Simulator für Digitalschaltungen, damit 
kannst du die Funktion auf die Schnelle ausprobieren.

Vielleicht kennt jemand ein brauchbares Programm?

Gruß. Tom

von Simpel (Gast)


Lesenswert?

Der CTEN(Pin4) ist der Count-Enable (lo-aktiv).

An den Datenausgängen QA-QD kannst du den aktuellen Zählerstand 
abgreifen, falls nötig. Also, wenn du ihn per Preset auf 7 geladen hast, 
stehen dort auch erstmal die 7 (0111). Die werden dann binär bei jedem 
Impuls runtergezählt...

Der min/max-Ausgang hat je nach Zähl-Modus (up/down Pin5) eine andere 
Funktion. Bei UP-count wird er beim max-Überlauf 9-->0 hi, bei 
DOWN-count geht er auf hi wenn der Zähler von 1 auf 0 zählt.

von Simpel (Gast)


Lesenswert?

oops...
Der min/max-Ausgang... Bei UP-count wird er beim Übergang von  8 --> 9 
(max-Wert) hi, nicht bei 9-->0...

von Asko B. (dg2brs)


Lesenswert?

hp-freund schrieb:
> Ich würde dazu einen D193 bzw. 74xx193 als Rückwärtszähler mit
> parallelem Dateneingang nutzen.

Das war doch von Anfang an ein Vorschlag.

Das signal "RUN" an den LOAD-Eingang des Zaehlers
und gleichzeitig an einen Flip-Flop der ein Tor freigibt.

Tor gibt "Takt" frei.

"Takt" gleichzeitig an "zaehlen rueckwaerts"

Nun zaehlt das Ding bis am "Ueberlauf" ein Impuls anliegt
was das Flip-Flop wieder zuruecksetzt und somit das Tor schliesst.

Beim Dezimalen Zaehler (D192) muss aber "Takt" mind. 10mal
groesser sein als "Run"

Gruss Asko.

von Siegmar H. (Firma: privatanwender) (logiker_61)


Angehängte Dateien:

Lesenswert?

Simpel schrieb:
> Der CTEN(Pin4) ist der Count-Enable (lo-aktiv).
>
> An den Datenausgängen QA-QD kannst du den aktuellen Zählerstand
> abgreifen, falls nötig. Also, wenn du ihn per Preset auf 7 geladen hast,
> stehen dort auch erstmal die 7 (0111). Die werden dann binär bei jedem
> Impuls runtergezählt...
>
> Der min/max-Ausgang hat je nach Zähl-Modus (up/down Pin5) eine andere
> Funktion. Bei UP-count wird er beim max-Überlauf 9-->0 hi, bei
> DOWN-count geht er auf hi wenn der Zähler von 1 auf 0 zählt.


Hallo,

dann dürfte das hier (Entwurf.jpg) dem entsprechen.
Entschuldigung für die "Skizzenform"!


Siegmar

von Simpel (Gast)


Lesenswert?

Genau so...

nur dass du die Vcc auch noch an Pin16 führen solltest. Ein weiteres 
Gatter oder ein Treiber zur Entkopplung des Ausgangssignals vom Clock, 
wäre auch nicht von Nachteil...

S.

von Simpel (Gast)


Angehängte Dateien:

Lesenswert?

So geht es ohne zusätzliche Gatter.

Der 555C liegt an Vcc 5V und liefert als astabiler MV die Impulse.
Der Trigger-Eingang des 555C wird durch den max-Ausgang hochgezogen, so 
dass er nicht weiter triggern kann, solange out_max hi ist.

von Siegmar H. (Firma: privatanwender) (logiker_61)


Angehängte Dateien:

Lesenswert?

Simpel schrieb:
> Genau so...
>
> nur dass du die Vcc auch noch an Pin16 führen solltest. Ein weiteres
> Gatter oder ein Treiber zur Entkopplung des Ausgangssignals vom Clock,
> wäre auch nicht von Nachteil...
>
> S.


Die VCC über Pin 16 habe ich bewußt weggelassen, es war ja erst einmal 
ein Entwurf.
Dein Hinweis über die Entkopplung, meintest Du das so ... 
(Entwurf_1.pdf)?


Siegmar

von Helmut S. (helmuts)


Lesenswert?

1. In deiner Schaltung darf der Trigger aber nur ein ganz schmaler 
Impuls  sein, da sonst zu viele Takte herauskommen.

2. Da der Trigger vermutlich nicht mit dem Zählertakt synchronisiert 
ist, enstteht unter Umständen ein beliebig schmaler erster Zählerimpuls.


Abhilfe:
Den Ladeimpuls mit dem Zählertakt synchronisieren.

: Bearbeitet durch User
von Simpel (Gast)


Lesenswert?

Hi Siegmar,

Verbinde einfach min_out mit dem Enable und leg deinen ext. Takt direkt 
an den Clockeingang. Die beiden Nands, so wie du es am Anfang hattest. 
Das erste als Inverter an out_min und das zweite an den Ausgang des 
ersten und an ext. Takt. Dann hast du an dessen Ausgang deine Impulse.

Wenn du deinen ext. Taktgeber irgendwie mit dem Hi-Signal des out_min 
direkt disablen könntest, wäre es noch einfacher und du könntest beide 
Gatter sparen.




@Helmut S.

Der Ausgang des 555 bleibt auf Lo solange der Trigger auf Hi gehalten 
wird. Dadurch entladt sich auch der C tiefer als 1/3Vcc. D.h. sobald der 
Trigger freigegeben wird, entsteht ein erster längerer Hi-Puls am 
Ausgang des 555.

von Helmut S. (helmuts)


Lesenswert?

Aus der Beschreibung der Anforderung an die Schaltung gehe ich davon 
aus, dass der Takt für den 190er aus einer anderen Schaltung vorgegeben 
ist. Der darf also nicht aus einem 555 kommen.

von Simpel (Gast)


Lesenswert?

@Helmut

Da das Ganze offensichtlich noch in der Designphase ist, habe ich die 
Lösung mit dem 555 einfach mal optional angeführt. Eigentlich geht es 
nur darum, ob der Takt durch das Hi_Signal gestoppt werden kann. Dann 
braucht es ausser dem 74190 keine weiteren Bauteile für die Erzeugung 
der Impulssequenz...

Das Ganze liesse sich auch mit einem 8Pin-Attiny realisieren, wenn man 
ihn den Takt generieren lässt und den Resetpin als Load-Trigger benutzt. 
Ich weiß halt nicht inwieweit die Taktfrequenz an den Rest der Schaltung 
gebunden sein muss...

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo,
Hier mal eine Schaltung mit 4 ICs und die Simulation mit LTspice. Die 
.asc-Dateien im zp-file sind die Schaltpläne. Einfach den zip-file z. B. 
nach C:\test entpacken und dann den npulse_.asc mit LTspice öffnen.

Helmut

: Bearbeitet durch User
von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Nachtrag
Es wird ein zusätzliches Flipflop benötigt um einen möglichen 
metastabilen Zustand abzufangen.
Helmut


Nachtrag/Korrektur
Beim Flipflop U5A muß CLEAR auf 1 gelegt werden.

Ich werde später eine korrigierte Schaltung nachlegen.

: Bearbeitet durch User
von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

Helmut S. schrieb:
> Aus der Beschreibung der Anforderung an die Schaltung gehe ich davon
> aus, dass der Takt für den 190er aus einer anderen Schaltung vorgegeben
> ist. Der darf also nicht aus einem 555 kommen.



Jaein.
Gedacht ist, dass der Takt (Extern) aus einem eigenen Generator kommt 
(kann ein 555 sein), welcher leicht im Bereich bis 250-1000ms variabel 
sein soll.


Siegmar

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

> Gedacht ist, dass der Takt (Extern) ... NE555 ... bis 250-1000ms ...

Hallo Siegmar,
welchen Takt meinst du da?

a) den Takt der Impulse

b) den Takt der das Impuls-Paket auslöst

Gruß
Helmut

: Bearbeitet durch User
von Siegmar H. (Firma: privatanwender) (logiker_61)


Lesenswert?

Helmut S. schrieb:
>> Gedacht ist, dass der Takt (Extern) ... NE555 ... bis 250-1000ms ...
>
> Hallo Siegmar,
> welchen Takt meinst du da?
>
> a) den Takt der Impulse
>
> b) den Takt der das Impuls-Paket auslöst
>
> Gruß
> Helmut


Ich meine "a) den Takt der Impulse"

Kurze Erklärung dazu: Die Impulsbreite, oder hier mal 
Ausgabegeschwindigkeit am Ausgang (Out) genannt, soll
über den Eingang Takt (Extern) gesteuert werden können.


Siegmar

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Im Anhang die erwähnte Änderung am U5a CLEAR Eingang.

: Bearbeitet durch User
von Asko B. (dg2brs)


Angehängte Dateien:

Lesenswert?

Hallo Helmut

Deine letzte Schaltung ist aber auch retriggerbar.

Gruss Asko.

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

> Deine letzte Schaltung ist aber auch retriggerbar.

Hallo Asko,

das kann man der Schaltung leicht abgewöhnen. Siehe Schaltplan und 
angehängte Datei "n_pulse_a.asc" im zip-file. Ich habe dazu einfach das 
übrige FF genommen. Es bleibt also bei 1x74HC14, 1x74HC00, 2x74HC74 und 
1x74HC190 bzw 74HC191. Es geht mit beiden Zählern.

Helmut

: Bearbeitet durch User
von Helmut S. (helmuts)



Lesenswert?

Hallo,

Ich muss nochmals "nachkarten".

n_pulse_a.asc speichert Retrigger.

n_pulse_b.asc ignoriert Retrigger.


Finde den Unterschied im Schaltplan. :-)
Tipp: Es ist nur eine Verbindung anders.

Gruß
Helmut

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.