Geplant ist eine Schieberegisterkette, bestehend aus: 14 Stück TPIC6B595 und 4 Stück 74HCT165, also 32 digitale Eingänge und 112 digitale Ausgänge. Das "Drumrum" soll bei diser Frage hier keine Rolle spielen. Nur soviel: Die Ausgänge sind LEDs, die eine separate Spannungsversorgung haben. Die ICs laufen mit 5V, während der TPIC6B595 die LEDs gegen +12V schaltet. Den Strom der LEDs kann ich selbst ausrechnen. Interessiert mich hier erstmal nicht. Mir geht es nur darum, was die Schieberegisterkette in etwa braucht. CMOS braucht "nichts", schon klar, allerdings ist die Kette ja in Bewegung, sagen wir mal Rotationsgeschwindigkeit von 30 mal pro Sekunde. Die Schieberegisterkette (Daisy chain) soll von einem ATmega angetrieben werden, ganz simpeles 4-Leiter-Konzept: CLOCK, DATA-IN, DATA-OUT (und LOAD). Ich hoffe, ich habe es verständlich beschrieben. Wenn nicht, einfach nachfragen. Zur Frage: Der ATmega läuft mit 5V, und diese 5V will ich für die Kette abzwacken. Mit welchem Stromverbrauch muss ich bei den 18 ICs in etwa rechnen (wie gesagt, OHNE den Verbrauch der LEDs)?
Irgendwie lustig. Da wird ein Link zum Datenblatt platziert, dieses aber offenbar nicht mal gelesen: Figure 2. Supply Current vs Frequency. Ist das nicht deutlich genug??? Die Kultur des (sorgfältigen) Lesens (statt "Querlesens") scheint vom Aussterben bedroht.
TorbenK schrieb: > CMOS braucht "nichts", schon klar, allerdings ist die > Kette ja in Bewegung, sagen wir mal Rotationsgeschwindigkeit von 30 mal > pro Sekunde. Da irrst du. Bei CMOS müssen mit jedem Schaltvorgang Kapazitäten umgeladen werden. Die Stromaufnahme von CMOS ist daher, neben irgendwelchen Leckströmen, proportional zur Taktfrequenz.
TorbenK schrieb: > 14 Stück TPIC6B595 > und > 4 Stück 74HCT165 Beide IC's haben einen Eigenstromverbrauch zwischen 300 und 350 µA pro Stück. Also im ungünstigsten Fall 350 µA x 18 = 6,3 mA. Bei hohen Frequenzen würde er etwas ansteigen. Aber 30 Hz ist nicht viel. Kalkulieren würde ich mit 10 mA.
Je höher die Taktfequenz der Kette ist, um so mehr Strom zieht sie bei den Schaltvorgängen. Das kann bei 10 MHz sogar schon mehr sein, als bei "Steinzeit" TTL! Rechne aber mit vergleichbaren Impulsströmen im ns Bereich. Also jedem IC unmittelbar über Ub einen 100nF KerKo und ca für 4-5 IC's dann noch einen Elko von ca. 47µF. Bau das Ganze auf einer Leiterplatte, oder zu mindest auf Lochraster auf und verkabele KÜRZESTMÖGLICH! Bedenke, das 3 cm von IC zu IC schon 60 cm Buslänge bei 20 IC bedeuten! Das ist schon recht grenzwertig. Spendiere den Busleitungen ruhig einen Leitungstreiber. Rein statisch ist ein Fan in von 20 Pillepalle, aber dynamisch kann es sein, das da die Flanken verschliffen werden und der Logikteil sich "wunderlich" verhält. Einfach ein Gatter hinter den µC Ausgang und gut ist. Entweder 2 Nand's oder 2 Negatoren in Reihe, oder ein Gatter und im µC dann einfach die 2. Invertierung in Software.
Ralf L. schrieb: > Aber 30 Hz ist nicht viel. Es sind aber nicht nur 30Hz, sondern 30Hz * Bitanzahl, also etwa 4kHz. Immer noch sehr niedrig, aber durchaus messbar im Stromverbrauch.
Danke fürs schnelle Antworten. Das Forum ist wirklich klasse, und die Leute sehr hilfsbereit. A. B. schrieb: > Irgendwie lustig. Da wird ein Link zum Datenblatt platziert, dieses aber > offenbar nicht mal gelesen: Figure 2. Supply Current vs Frequency. > Ist das nicht deutlich genug??? Die Kultur des (sorgfältigen) Lesens > (statt "Querlesens") scheint vom Aussterben bedroht. 2x über Kopf . 1. habe ich kein Datenblatt verlinkt (das macht Mikrocontroller.net vermutlich selbst) und das 2. ist, dass du mir trotzdem geholfen hat :) Ich wollte nicht schon wieder fragen, WO ich WAS im Datenblatt finde. Danke, wieder was gelernt. Ralf L. schrieb: > Aber 30 Hz ist nicht viel. 30 Hz ist der Takt der Kette. Der Schiebetakt (CLK-Frequenz) dürfte viel schneller sein. Aber die CLK-Frequenz unterliegt wiederum den 30Hz, und das macht dann den Bock auch nicht fett, oder? > Kalkulieren würde ich mit 10 mA. Das wäre ok. Gerald B. schrieb: > Bau das Ganze auf einer Leiterplatte, oder zu mindest auf Lochraster auf > und verkabele KÜRZESTMÖGLICH! Bedenke, das 3 cm von IC zu IC schon 60 cm > Buslänge bei 20 IC bedeuten! Zwischen µC und dem ersten Schieberegister liegen ca 2 meter geschirmte Steuerleitung. Ich erwarte da eigentlich keine Probleme. Falls doch, kann ich den Takt (CLK) immer noch softseitig runtersetzen.
TorbenK schrieb: > Ich erwarte da eigentlich keine Probleme. Falls doch, > kann ich den Takt (CLK) immer noch softseitig runtersetzen. Durch Reduzieren der Taktfrequenz gewinnst du nichts. Dann müsstest du schon per SW die Flankensteilheit der Signale reduzieren können. 2m sind für HC-Technologie schon sehr viel!
TorbenK schrieb: > Zwischen µC und dem ersten Schieberegister liegen ca 2 meter geschirmte > Steuerleitung. Ich erwarte da eigentlich keine Probleme. Naja, mal schauen..., das ist schon ne lange Leitung. >Falls doch, kann ich den Takt (CLK) immer noch softseitig runtersetzen. Das hilft gar nichts. Es kommt darauf an, was an den Eingängen ankommt und ob das noch im erforderlichen Rahmen liegt (Anstiegs-/Abfallzeiten). Es gibt Flankenverschleifungen und Überschwinger, dazu Übersprechen und Masseversatz Je nachdem, was es werden soll: -einfach ausprobieren -genauer betrachten -anderes Übertragungskonzept wählen
HildeK schrieb: > 2m sind für HC-Technologie schon sehr viel! Ich verstehe. Hilft es, am entferntesten Punkt der Kette Widerstände gegen GND zu schalten, und dann eben mit etwas mehr Strom zu schieben? Das müsste doch die Lage entschärfen. Oder via LS-TTL schieben. Gerald hat das mit dem Leitungstreiber geschrieben. Gerald B. schrieb: > Spendiere den Busleitungen ruhig einen Leitungstreiber.
"erwarte da keine Probleme..." Hallo, sehr optimistisch, da eine 2m lange Leitung dran zu hängen. Das wird nur mit richtiger Anpassung funktionieren. Was ist mit dem rückwärts kommenden Datenstrom. Gibts da Übersprechen in der Leitung? http://elektroniktutor.de/elektrophysik/leitung.html https://moodle.ruhr-uni-bochum.de/m/mod/wiki/viewversion.php?pageid=1289&versionid=7655&lang=ar https://www.elektronik-kompendium.de/sites/grd/0301036.htm Beitrag "Shared Clock-Leitung: Wellenwiderstand, Anpassung etc." mit freundlichem Gruß Agent 0007
:
Bearbeitet durch User
2 Meter halte ich für sehr ambitioniert. Kannst du nicht den µC zu den Schieberegistern verfrachten und die restliche Peripherie entsprechend länger machen? I2C mit 2 Metern Länge (abgesetztes Display) habe ich schon gemacht, das hat funktioniert. Aber unter den bereits erörterten Umständen wird's schwierig. Wenn es nicht funktioniert, dann kannst du auch probieren, die Bussignale an Anfang und Ende jeweils mit einem SN75176 zu verwursten, so das die lange Strecke mit einem differenziellen Signal überbrückt wird. Eigentlich werden die 75176 für RS485 genommen, aber man kann damit auch ganz gut Punkt zu Punkt Verbindungen ohne µC realisieren. Ich habe mal testweise auf einem Breadboard 2 Stck hart verdrahtet zusammengesteckt, als Leitungstreiber funktioniert das ganz prima. Damit wären selbst Leitungslängen von 100m kein Problem :-)))
mhh. Zu den Widerständen in der Leitung habt ihr nichts geschrieben. Leitungstreiber für 2m Kabel? Ist das denn euer ernst? Mir käme eher noch die Idee - weil ich ja eh 74HCT verwenden will, das erste Schieberegister nach dem Kabel nicht mit HCT, sondern in LS-TTL zu realisieren. Aber ich werde es ausprobieren. Eins weiß ich: Wenn es auf Anhieb funbktioniert, ändere ich gar nichts ;)
"Eins weiß ich: Wenn es auf Anhieb funbktioniert, ändere ich gar nichts ;)" Diese Einstellung ist sehr schlau und zielführend, denn in diesem Fall kannst Du alle Ratschlage der vereinten Fachwelt getrost ignorieren und Dich wundern, warum sie alle so komisch mit dem erhobenen Zeigefinger warnen. Insbesondere die von mir angeführten Links brauchst Du weder lesen, noch verstehen oder mit Hilfe von zusätzlicher Literatur Dir zu erschließen. Somit ersparst Du Dir viel Blindleistung, welche in der Elektrotechnik immer schon unerwünscht war. Die Weiterführung dieser Taktik wäre, besser erst gar nicht zu fragen, denn das erspart allen Beteiligten die Ausführung unnötiger synnaptischer Aktivität. Wenn dem aber nicht so sein sollte, ist guter Rat plötzlich teuer und es liegt an Dir, die gut gemeinten Hinweise in die Realität umzusetzen, wenn das Projekt unbedingt funktionieren soll. Über die Leitung ist bisher nur deren Leitungscharakter bekannt. Mit freundlichem Gruß
Nichts ist so wertvoll für den Lerneffekt wie eigenes Erleben :-). Symmetrische Übertragung brauchst du natürlich nicht. 74HC/HCT kann man etwa bis 50cm (elektrisch kurze Leitung) mit nicht angepasster Leitung (eine einfache Drahtverbindung ist eine nicht angepasste Leitung) betreiben. Bei 74LS waren es ca. 150cm, kommt schon fast hin. Beschäftige dich mal mit Leitungsimpedanz, Anpassung und Reflexionen. Das muss erst mal nicht besonders tief gehen. Ein Grundverständnis, was da prinzipiell auf Sender- und Empfängerseite passiert reicht. Sehr interessante Effekte ergeben sich auch, wenn FlipFlop-Ausgänge (dein Rückkanal) längere Leitungen treiben sollen.
TorbenK schrieb: > Aber ich werde es ausprobieren. Eins weiß ich: Wenn es auf > Anhieb funbktioniert, ändere ich gar nichts ;) Wenn Du an der Grenze zwischen "Funktionieren" und Fehlerhaft bist, kann es passieren, daß kleine Änderungen der äußeren Umstände (Temperatur, Luftfeuchtigkeit, kleine Spannungsschwankungen, Alterung der Bauteile,...) dann irgendwann plötzlich dafür sorgen daß es nicht mehr funktioniert. Schau Dir daher, auch wenn es funktioniert, zumindest mal die Signale am Ende der 2m Kabel auf dem Oszi an.
Dass die Verlinkung automatisch erfolgte, war mit in der Tat entgangen, Asche auf mein Haupt :-( Trotzdem bleibt die erste Informationsquelle immer das Datenblatt, und das ist in diesem Fall in ein paar Sekunden gefunden und fix gelesen. In der Tat dürften 2m schon ein arges Problem sein. Auch was den Stromverbrauch angeht: Wenn das Taktsignal nicht "sauber" an den Schieberegistern ankommt (verschliffene Flanken) steigt deren Stromaufnahme u. U. beträchtlich, da im Bereich der Schaltschwelle dann ein größerer Querstrom durch die komplementären Transistoren fließt. Außerdem: Wenn das Taktsignal bei den einzelnen Schieberegistern nicht synchron ankommt (bzw. durch langsame Flanken und leicht differierende Schaltschwellen nicht synchron detektiert wird), dürfte die Kette nicht mehr korrekt funktionieren. Das könnte man mit einem Zweiphasen-Takt (für den Schiebe-Takt, eine an 1., 3., 5., ... und die andere an 2., 4., 6., ... Register) umgehen. Aber die 2m bis zum ersten Register bleiben ...
A. B. schrieb: > Das könnte man mit einem Zweiphasen-Takt > (für den Schiebe-Takt, eine an 1., 3., 5., ... und die andere an 2., 4., > 6., ... Register) umgehen. Wie ist das zu verstehen? Versetzt? also SO CLOCK ┌─┐ ┌─┐ └─┘ └─┘ └─ --- DATA -%---%---% --- % = Zeitpunkt der Pegeländerung Wenn ja, das habe ich sowieso vor. Das Schieben der paar Register ist ja nicht zeitkritisch. Christian S. schrieb: > Wenn dem aber nicht so sein sollte, ist guter Rat plötzlich teuer und es > liegt an Dir, Ja ja ... ich nin ja schon dabei. Platz zu schaffen auf der fast fertigen Masterplatine für einen Leitungstreiber. Gebt mir doch mal Zeit, die Tipps zu verarbeiten. Aber für den Leitungstreiber mache ich ein eigenes Thema auf. Hier war STROMBEDARF vangesagt. Das wird dann zu unübersichtlich.
TorbenK schrieb: > Wie ist das zu verstehen? Versetzt? > also SO > > CLOCK ┌─┐ ┌─┐ > └─┘ └─┘ └─ --- Das verstehe ich nicht. Was ich meinte ist, zwei verschiedene Taktsignale (oder auch invertiert/nichtinvertiert). Bei dem Schieberegister ist als setup und hold time je mindestens 20ns verlangt bzw. "empfohlen". Da die Schieberegister kaskadiert werden: Der serielle Datenausgang wird an den Dateneingang des nächsten gelegt. Wenn alle die positive Taktflanke gleichzeitig erhalten, sorgt die Durchlaufzeit vom CLK zum seriellen Ausgang dafür, dass die hold time (wohl) eingehalten wird. Der serielle Ausgang ändert ja seinen Zustand "als Reaktion" auf die Flanke des Taktes. Wenn zwei aufeinanderfolgende Schieberegister jedoch die Taktflanken mit gewisssen zeitlichen Versatz mitbekommen, wird u. U. setup oder hold time nicht eingehalten. Dann ist nicht mehr klar, ob das folgende den alten Zustand (vor der Taktflanke) oder den neuen (nach der Taktflanke) übernimmt. (Im Extremfall (wenn auch sehr selten) bleibt das folgende in einem undefiniertem Zustand hängen und kippt irgendwann eher zufällig in einen der beiden Zustände ("Metastability"). Das wäre in dieser Anwendung sicher harmlos.) Dummerweise kann das mit Temperatur, Versorgung etc. schwanken ... Wenn diese "Gleichzeitigkeit" nicht garantiert werden kann, muss man die Taktflanken von einer Stufe zur nächsten ein bisschen verzögern. Oder die Schieberegister triggern abwechselnd auf positive bzw. negative Flanke bzw. man versorgt sie halt abwechselnd mit phasenverschobenen Takten. > > DATA -%---%---% --- Es geht dabei NICHT um die Beziehung von Takt und erstem seriellen Dateneingang der Kaskade! Das ist ein ähnliches Problem, klar, aber das betrifft ja nur das erste Schieberegister und ist ja leicht zu umgehen, indem man die CLK und DATA Pins nacheinander und nicht "gleichzeitig" aktualisiert. > % = Zeitpunkt der Pegeländerung > > Wenn ja, das habe ich sowieso vor. Das Schieben der paar Register ist ja > nicht zeitkritisch.
> Schau Dir daher, auch wenn es funktioniert, zumindest mal die > Signale am Ende der 2m Kabel auf dem Oszi an. Nicht nur dort, sondern auch in der Mitte und am anderen Ende. Vom Ende reflektierte Signale kann man an diesem Ende nämlich nicht sehen.
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.