mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wieviele 74HC595 am SPI-Bus möglich?


Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich beschäftige mich gerade mit dem Hardware-SPI-Bus. In den Artikeln
ist ja der Anschluss eines 74HC595 erklärt und ich habe das
spaßeshalber aufgebaut. Funktioniert eigentlich sehr gut.

Nun will ich eine größere Anzeige mit Sieben-Segment-Anzeigen bauen,
die über ULN2803 ihren Saft bekommen. Diese Anzeige würde 16x 74HC595
benötigen. (Also 16 Schieberegister hintereinander und die passenden
Werte durchgetaktet...)
Kann ich diese ohne weiteres an einen ATmega32 hängen, oder muss ich
einen Treiber benutzen? Wenn ja, welchen Treiber könnte ich nehmen?

Die Frage stellte sich mir, da ja Logikgatter auch nur eine bestimmte
Anzahl von anderen Gattern treiben können (ich glaube, dass es 20
waren...) und ich will sicher gehen, da es ziemlich große Platinen
werden. Wäre schlecht, wenn ich dann alles über Bord werfen darf.

Gruß Elektrikser

Autor: TobyTetzi@t-online.de (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das würde mich auch mal interessieren.

Bin mal gespannt!

Gruß Toby

Autor: geeky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Jens D. (jens) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Über die belastbarkeit der Ports sollte einiges im Datenblatt stehen.
Die anzahl der Dchieberegister, wie angesteuert werden können ist
anhänngig von den Port Pins, die dein µC hat.
(pro Slave ein Portpin)

Gruss Jens

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

Bewertung
0 lesenswert
nicht lesenswert
beim SN74HC595 steht:

 "High-Current 3-State Outputs Can Drive up to 15 LSTTL Loads"

Autor: ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...Sorry! man soll lesen bevor man antwortet...
Gefragt ist die Belastbarkeit der Ports des ATMega32.

Autor: TobyTetzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

warum ist die Schieberegister Menge von den Portpins abhänig?

Ich kann doch alle Enable an einen Pin hängen?!

Des weiteren reden wir doch über eine Hardware SPI, oder nicht?

Gruß Toby

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

irgendwann addieren sich die Eingangskapazitäten der
Schieberegister-ICs soweit das es dem ATMega nicht mehr gelingt die
Eingänge schnell genug umzuladen bzw. es werden die nötigen
Anstiegszeiten nicht mehr eingehalten. Das kann man mit Hilfe der
Datenblätter beider ICs aber ermitteln.

Matthias

Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jens
Ich will ja einen SPI-Bus aufbauen und nicht an jedem I/O-Pin des
ATmega einen Slave anschliessen. Und zwar so:
http://www.mikrocontroller.net/articles/Porterweit...


O.K ein bißchen habe ich ja in die Datenblätter geschaut. Beim Atmega
finde ich nur beim TWI eine Angabe, die mich weiterhelfen könnte:
> Capacitance for each I/O-Pin*: 10pF
> *In Atmega32, this parameter is characterized and not 100% tested.

So nun habe ich hier ein Datenblatt von STM für den 74HC595 und dort
steht:
> Input Capacitance: 5...10pF

Wie jetzt, dann dürfte ich ja nur einen, maximal zwei Schieberegister
in Reihe schalten? Oder habe ich die falschen Werte verglichen?

Verwirrte Grüße, Elektrikser

Autor: Wiesi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein. Ich denke so kann man das nicht sehen.
Also: Der Input Leakage current, der sozusagen die Ohmsche Belastung
des ATMega32 Ausgangs darstellt, ist lt. Datenblatt +-1uA, also (wie
bei CMOS Eingängen) erwartungsgemäß klein genug um nicht ins Gewicht zu
fallen.

Viel wichtiger ist die Kapazitive Belastung. Laut Philips Datenblatt
beträgt die Eingangskapazität 3.5pF. Natürlich kommen da mehr zusammen,
wegen der Leitungen, etc.
Bei Input rise and fall time ist der min. Wert etwa 400ns. So schnell
muss der Übergang mindestens sein, damit die Flankengesteuerten
Eingänge richtig funktionieren. Nehmen wir nun an, der ATMega liefert
am Portpin z.B. 10mA (Damit der interne Spannungsabfall in Grenzen
bleibt, ist aber nur eine rechnerische Annahme.) Dann wir gemäß:
i*t=C*u --> C=i*t/u
und u=5V sowie t=400ns und i=10mA
C=10mA*400ns/5V
C=800pF

Man könnte daher so Daumen mal Pi [Weil eigentlich ist es ja keine
Aufladung an einer Konstantstromquelle wie hier angenommen sondern:
U=U0*(1-e^(-t/tau))]. 800/3.5=228 Schieberegister anschließen.
Da man aber noch die Leitungskapazitäten einrechenn müsste, ist das
dementsprechen weniger.
Aber so 25 müssten schon drin sein.

   Wiesi

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
16 Schieberegister 74HC595 hintereinander und mit gemeinsamem Strobe am
SPI sind gar kein Problem, weil schon gemacht. Die laufen dann immer
noch mit 2MHz Clockfrequenz zuverlässig. Kannste machen, ohne drüber
nachzudenken. Nicht die Blockkondensatoren pro Schieberegister
vergessen.

Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
O.K. danke für eure Auskünfte. Dann werde ich mal die Platinen
fertigmachen. ;-)

Viele Grüße, Elektrikser

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter 20 ICs würde ich mir keine Gedanken machen.

Im Gegenteil, die AVRs sind kräftiger als ein HC-Treiber-IC (74HC541).

Außerdem kannst Du ja den Takt am SPI einstellen. Probier einfach den
höchsten Takt aus, bei dem es keine Probleme gibt und halbiere dann zur
Sicherheit nochmal.


Peter

Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werde ich machen. Danke!

Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So Leute,

ich habe jetzt den ersten Versuchsaufbau seit letzter Woche am laufen.
Es sind 16x 74HC595 und sie funktionieren einwandfrei.

Hatte wieder einmal Probleme, wo es keine gab.

Ich danke allen, die mir helfen wollten.
Gruß Elektrikser

Autor: andreas schwentner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab vor kurzem für eine LED Laufschrift (5*100) 20 74HC595 mit 2
MHz verbaut und es läuft ohne Probleme. Ich hatte nur mit dem Senden
auf den SPI ein Problem, da ich einen Takt selber erzeugen musste.
Sonst wurde immer ein Bit zu wenig auf die 74HC595 gesendet.

Grüße Andi

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.