Forum: Mikrocontroller und Digitale Elektronik 74HC595N Max. Anzahl an einem AVR


von Dieter S. (schmaddy)


Lesenswert?

Hallo,

ich möchte gerne einige 74HC595N und 74HC165 an meinen Atmega644 
anschließen (insgesamt ca. 64 stk.) Theoretisch sind ja unendlich 
möglich da SerIn immer mit SerOut des Vorherigen IC´s verbunden wird. 
Doch SCK hängt ja am Atmega, und leider weiß ich nicht, ob der Atmega am 
SCK Oder SS pin auch wirklich 60 IC´s verkraftet.

Wenn nein, kann ich dann einfach einen Transistor dazwischen schalten? 
Es kommt mir garnicht auf geschwindigkeit an, ist auch Okay wenn es mit 
300baud läuft.

2 74HC595 laufen ja Problemlos, doch wie ist es bei so einer anzahl?

Kann es da Probleme geben?

Gruß
Schmaddy

von Helmut L. (helmi1)


Lesenswert?

Patrick-pascal S. schrieb:
> Doch SCK hängt ja am Atmega, und leider weiß ich nicht, ob der Atmega am
> SCK Oder SS pin auch wirklich 60 IC´s verkraftet.

Das kann man doch aus dem Datenblatt erfahren. Jeder Eingang hat eine 
Eingangskapazitaet. Daraus ergibt sich die Gesammtkapazitaet diese 
Netzwerkes. Im Datenblatt steht auch welche Anstiegssteilheit der 
Eingang braucht. Die maximale Treiberleistung eines Portes steht auch im 
Datenblatt.
Und dann kann man die Anstiegssteilheit ausrechnen.

dt = du*C/I

Und die muss kleiner sein als die maximal erlaubte fuer den Eingang.

Frueher gab es noch die Begrenzung durch den statischen Eingangsstrom.

von KFC (Gast)


Lesenswert?

Patrick-pascal S. schrieb:
> Theoretisch sind ja unendlich
> möglich da SerIn immer mit SerOut des Vorherigen IC´s verbunden wird.

Der eine Chip wird den nächsten treiben. Einfach durchgereicht per Draht 
wird das wohl nicht.

von Peter II (Gast)


Lesenswert?

könnte es bei 60 74HC595N nicht schon Probleme mit dem Takt geben, jeder 
der IC verzögert ja die Daten, die SCK leitung ist aber nicht verzögert.

von Helmut L. (helmi1)


Lesenswert?

Peter II schrieb:
> könnte es bei 60 74HC595N nicht schon Probleme mit dem Takt geben, jeder
> der IC verzögert ja die Daten, die SCK leitung ist aber nicht verzögert.

Nein kann es nicht. Es kommt nur auf die Setupzeiten der Flipflops an 
und die ist fuer jedes Flipflop in der Kette gleich zum CLK.

von Dieter S. (schmaddy)


Lesenswert?

Helmut Lenzen schrieb:
> Im Datenblatt steht auch welche Anstiegssteilheit der
> Eingang braucht. Die maximale Treiberleistung eines Portes steht auch im
> Datenblatt.
> Und dann kann man die Anstiegssteilheit ausrechnen.
>
> dt = du*C/I
>
> Und die muss kleiner sein als die maximal erlaubte fuer den Eingang.
>

Der 74HC595 hat eine maxmale eingangskapazität von 10pf.

Muss ich jetzt noch schauen wieviel der atmega liefern kann?

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

nimm einfach einen 74HC04 mit 6 Invertern und schalte alle Eingänge an 
Clk. Dann hast du 6 Ausgänge, da kannst du mit jedem davon 10 Register 
ansteuern. Und mit weniger als einem einzigen Bauteil wirst du eh kaum 
auskommen.

Du musst natürlich berücksichtien, dass Clk invertiert wird, aber da 
dieser vom Prozessor erzeugt wird, dürfte das kein Problem sein.

Gruss Reinhard

von Ulrich (Gast)


Lesenswert?

Der Takt muss schon ziemlich gleichzeitig bei allen HC595 ankommen. Wenn 
die Verzögerungen Größer werden als die Setup Zeit des FF, gibt es 
Probleme.  Daraus kann man abschätzen wie steil die Flanken sein müssen. 
Als grobe Schätzung:
maximal ca. 20 ns Verzögerung gibt bei 1 V Unsicherheit für die Schwelle 
eine Forderung nach 50 V/µs für die Flanke.  Bei einem Strom von 50 mA 
die der AVR kurzzeitig liefern kann. wäre das eine maximale Kapazität 
von 1 nF für die Takt Leitung. mit etwa 20 pF je IC, incl. Leitung wären 
das dann etwa 50 Chips als Limit.

Etwas sicherer wäre es mit den sonst ähnlichen 74HC4094. Da wird dann 
die Flankensteilheit das Limit.

von frank (Gast)


Lesenswert?

Hallo,

also für mich sieht es so aus, dass man unter worst case die 74HC595 gar 
nicht in serie schalten darf! Sonst verletze man die Timingspec im 
Datenblatt:

dort ist angegeben:
1. propagation delay von Shift-CLK zu serieller Ausgang = 28ns (@4,5V)
2. setupzeit input zu Shift-CLK ist mind 10ns

D.h. die Daten vom ersten Shifter müssen 10ns vor der Flanke stabil sein 
-> sie werden aber erst 28ns nach der Flanke anstehen.

Oder sieht es jemand anders?

von Dennis S. (whiterussian)


Lesenswert?

...es handelt sich um taktflankengesteuerte JK-FF in Synchroner 
Schaltweise im inneren.

Mit dem Timing wird es auch bei 1000 kein Problem geben.

Man muss sich mit der "HC" Technik beschäftigen, der Clock Ausgang am 
Kontrollör muss die Eingänge treiben können.

Bei der Technik "SN" waren es oft zwischen 4 und 10 Eingänge, mehr ging 
nicht wegen der wie oben bereits erwähnt - Ströme.

Gruß,
DS

http://de.wikipedia.org/wiki/74xx

http://www.raffia.ch/?logikfamilien

http://de.wikipedia.org/wiki/Logikfamilie

Beitrag "TTL Logik"

von frank (Gast)


Lesenswert?

> Mit dem Timing wird es auch bei 1000 kein Problem geben.

Aber im Datenblatt steht doch eindeutig:
es gibt delay von out zu clk und
am input ist eine setup zeit gefordert.

Sprich:
Schaltet man zwei HC595 hintereinander, wird der zweite Schieberegister 
den eingang verpassen, weil er mit steigender flanke sampelt und die 
daten vom ersten shifter erst verzögert nach der steigender clk flanke 
ausgegeben werden.

??

von Thomas E. (thomase)


Lesenswert?

frank schrieb:
> Schaltet man zwei HC595 hintereinander, wird der zweite Schieberegister
> den eingang verpassen,
Dann überleg' dir mal, warum der Ausgang Q7' und nicht Q8 heisst.

mfg.

von Dennis S. (whiterussian)


Lesenswert?

schau mal hier:

http://www.ti.com/lit/ds/symlink/sn74hc595.pdf

Seite 3. QH und QH* sind zu unterscheiden. QH zählt zu den "Ausgängen" 
den "Nutzausgängen", QH* zur Informationsweitergabe an den nächseten 
Baustein.

Übrigens handelt es sich nicht um eine "Nacheinanderschaltung", sonden 
eher um eine Parallelschaltung. Man muss unterscheiden zwischen 
Asynchroner und Synchroner Registerverarbeitung.

Ein Gegenbeispiel wäre zum Beispiel der HC90/93

http://pdf1.alldatasheet.com/datasheet-pdf/view/15673/PHILIPS/74HC93.html

Seite 4. Asynchroner 4 Bis Zähler. Genaugenommen "hängt" hier jede 
hinzukommende Stufe der vorangehenden nach. Wenn man viele kombiniert 
und das Resultat Dezimalwandelt, gibt es Zwischenzustände zwischen den 
Zählstufen...

DS.

von Dennis S. (whiterussian)


Lesenswert?

...ach ja, was Thomas sagen wollte:

der anzunehmende Zustand für das "nachfolge" JK-FF liegt zudem bereits 
direkt nach dem vorigen Takt t-1 am nachfolgenden FF an, Wenn der Takt 
kommt kippen alle zusammen, gleichzeitig!

DS

von frank (Gast)


Lesenswert?

Ok, ich habs... Danke für die Berichtigung!

Die Verwirrung für mich war, dass der inverter auf der Seite 3. vor QH' 
eine verzögerung macht. -> das tut er auch.

Aber wie Ihr richtig sagt:
Das Kippen folgt direkt nach der steigender Flanke von CLK, dann kommt 
nach delay von 28ns QH' und erst dann kommt die nächste CLK Flanke und 
Input wird am zweiten Shifter gesampelt. Und gefordert ist, dass vor dem 
Sampeln die daten 10ns vorher stabil sind.

D.h. ein Timingproblem entsteht er dann, wenn fCLK im Vergleich zu delay 
und setupzeit sehr gorß ist:
Grneze -> 28ns+10ns (~ 26,3MHz)  so hätte ich ein problem.

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.