Forum: Mikrocontroller und Digitale Elektronik Verständnis&genaue Funktion CD4014&21.


von W. Meyer (Gast)


Lesenswert?

Werte Damen und Herren.

Ich frage hier, weil es noch nicht richtig verstanden habe.
Bitte korrigiert mich, wenn ich irgenwo falsch liege.

Eigentlich will ich nur mit einem AtTiny2313 einen CD4014 oder 4021 
Byteweise seriell auslesen
und mit 8 Takten in einem Register des Tiny3213 zur weiteren 
Verarbeitung ablegen.

Dazu habe ich versucht die verfügbaren Datenblätter zu verstehen,
weil ja der 2313 das CMOS-Register entsprechend ansteuern und abfragen 
muß.
Für meine Zwecke muß also das ser/par-Pin und das ser/in-Pin fest auf 
Low (reine parallel zu seriell Wandlung).
Ich hoffe das der Q8-Buf-Out-Pin dann nacheinander meine 8 Bit an den 
Eingängen des CMOS-Registers durchreicht.
Eine fallender Cl-Taktflanke holt sie dann wohl ins CMOS-Register rein 
und eine aufsteigende Taktflanke reicht es zum Ausgang durch.

Nun braucht man aber nach meinem Verständnis 8 Takte dafür und woher 
weiß das CMOS-Register,
das es erst beim neunten Takt wieder parallel einlesen soll.
Der AVR soll ja schließlich auch keinen Datensalat bekommen also muß ich 
das irgenwie syncronisieren.
(8 Pin-Abfragen vom CMOS-Register-Ausgang syncron zum CI-Takt sollten 
ein AVR-Register füllen können.)

Habe auch schon irgentwo gelesen das dafür SPI empfohlen wird,
was ich aber nicht will weil dafür ganz bestimmte Pins des AVR 
vorgesehen sind,
welche ich aber wegen Pin-Knappheit nicht opfern mag und kann.

Wer kann mir da helfen. Wann genau (Reihenfolge) und an  welchem Pin 
kommt welches Bit aus dem CMOS-Register raus.
Entweder ich verstehe die Wahrheitstabelle nicht richtig oder wird es in 
den Datenblättern einfach nicht erwähnt,
weil solches "Vor"-Wissen einfach als selbstverständlich vorausgesetzt 
wird.

Besten Dank im Voraus: Wolfg.

von Stefan (Gast)


Lesenswert?

Wenn der Parallel/Seriell Pin High ist, liest er seine parallelen 
Eingänge ein. Der Ausgang Q8 liefert dann schon das Signal vom Eingang 
8.

Dann legst Du den Parallel/Seriell auf Low und taktest 7 mal. Nach jedem 
Takt schiebt er die Bits eine Stufe weiter. Zum Schluss hast Du also am 
Q8 Ausgang das Singal vom Eingang 1.

Das geht aus der Wahrheitstablle hervor, aber ohne textuelle Erklärung 
ist sie leicht falsch zu verstehen. Für mich war es erst klar, als ich 
mit das Logikdiagramm (interner Schaltplan) angesehen habe.

Das gilt zumindest für den 4014. Den anderen habe ich mir nicht 
angesehen.

von W. Meyer (Gast)


Lesenswert?

Hallo Stefan.

Erst mal vielen Dank für Deine Antwort.
Das hilft mir schon sehr viel weiter.

Die Wahrheitstabellen vom beiden unterscheiden sich etwas.
Kann aber gut sein, das es für meinen Zweck keine Bedeutung hat.
(Das weiß ich aber nicht wirklich,
weil ich die Tabellen leider nicht vollständig verstehe.)

Besten Dank und ein schönes Wochenende: Wolfg.

von Stefan F. (sfrings)


Lesenswert?

Oh oh, jetzt wo ich die beiden Datenblätter vergleiche, merke ich, dass 
ich Dir eine falsche Antwort gegeben habe.

Der 4014 lädt die Daten parallel erst wenn Parallel/Seriell=High ist und 
dann ein Takt kommt. Danach legst du den Parallel/Seriell=Low und 
taktest weitere 7 mal.

Der 4021 lädt die Daten bei einem impuls am Parallel-Load Eingang (ohne 
Takt) und schiebt bei jeden Taktimpuls. Hier brauchst Du also nur 7 
Takte.

Die IC's sind beide aber ziemlich langsam aund haben nur gering 
belastbare AUsgänge. Nimm lieber einen 74HCT165.

von W. Meyer (Gast)


Lesenswert?

Hallo Stefan.

Entschuldige bitte, wenn ich erst jetzt wieder antworten kann.
Erst mal vielen Dank für Deine weitere Hilfe.

Ich sollte wohl besser mal erklären, was ich überhaupt machen will:
Die von mir vorgesehenen CMOS-ICs brauchen nicht schnell zu sein.
Die Ausgänge werden auch so gut wie nicht belastet.
Wichtiger ist mir, das sie schon ab 3Volt funktionieren.
Ich will einfach nur ein volles Byte einlesen
und es über ein Eingangspin des 2313 als Kode-Wandler (BCD zu Hex)
mit 2 LED-Ziffernanzeigen als Hex-Zahl anzeigen.
Wegen der Trägheit des menschlichen Auge darf die Wandlung und Anzeige 
sehr langsam sein.
Mit einem 8515 mit seinen 4 Ports wäre der CMOS-IC natürlich 
entbehrlich.
Aber weil es auch räumlich möglichst klein werden soll und ich genug 
2313 da habe,
habe ich mich für diese Version entschieden.

Weil es den V(U)40511D (DDR-Typ, um Voll-Hex erweiterter West-CD4511)
ja schon lange nicht mehr gibt und ich das früher als Ersatz mit 2 
PALCE16V8 machen mußte,
was aber ordenlich Strom brauchte und nur mit 5Volt funktionierte,
hat mir Letzteres aber nie so recht gefallen.

Warscheinlich ist es dafür sogar sinnvoll den Prozessor-Takt auf 128KHz 
mit Teiler 256 zu setzen.
Weil mein AVRISPmk2-Programmiergerät das ISP bis herunter zu 50Hz kann 
sollte es eigentlich gehen.

Muß wohl endlich mal eine kleine Probier-Schaltung aufbauen und das 
Programm für den AVR schreiben.
Werde leider nur sporadisch Zeit dafür haben, aber es eilt ja nicht.
Fall es vielleicht auch auf Arbeit jemand will, will ich es später auch 
voll als SMD-Version realisieren.
So mein Plan.

Vielen Dank und einen schönen Tag noch: Wolfg.

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.