Forum: Mikrocontroller und Digitale Elektronik 74HC595 - Pull up/down


von Blevox (Gast)


Lesenswert?

Hallo wertes mikrocontroller.net-Forum,

ich hab da mal eine klitze kleine Frage nach Erfahrungen:

Ich habe meinen Raspberry pi um derzeit 4 kleine Schieberegister 74HC595 
von ti erweitert. Mein Code in Python schiebt die Daten mit 30,3kB/s 
raus, per bitbanging.
Die Register funktionieren ohne Probleme, die Qs werden beschaltet wie 
gewünscht. Physikalischer Aufbau wie folgt:

RPi - 50cm Leitung - 74HC595 - 25cm Leitung - 74HC595 - 25cm Leitung - 
74HC595 - 25cm Leitung - 74HC595

Ich plane später noch schmitt Trigger zu verbauen, aber aktuell würde 
mich mal interessieren, ob Jemand schon die CLK und DS Leitung per pull 
up auf 3,3V gezogen hat und die LATCH mit pull down auf 0V.
Mir geht es darum zum umschalten der CLK und DS Leitung mehr zu sinken, 
als zu sourcen. 30,3kB/s sind in diesem Fall eine Frequenz von ~250kHz.

LG
Blevox (Sebastian)

von Thomas E. (thomase)


Lesenswert?

Was willst du denn jetzt wissen?
Pullups und Pulldowns an Eingängen dienen dazu, definierte Zustände 
herzustellen. Ob es wirklich notwendig ist, ist von der Schaltung des 
davor liegenden Ausgangs abhängig. Schaden tut es in aller Regel nicht.

: Bearbeitet durch User
von Axel R. (Gast)


Lesenswert?

Beitrag "Re: Unterschied 595er 596er Schieberegister"
Kaskadiert gehen die 596er besser...


StromTuner

von Blevox (Gast)


Lesenswert?

Ich möchte nur wissen, ob das schon Jemand getan hat; Ich fragte nach 
Erfahrungsberichten, der 74HC595 ist ein sehr geläufiger Chip, vor allem 
hier im Forum.
@thomase: Ein kleines Gedankenspiel, ich überlege den Raspberry etwas zu 
entlasten.
    - Szenario: Sink pro Pin am Pi 16mA, Source pro Pin am Pi bis zu 
16mA, jedoch gibt die 3.3V Versorgung nur 50mA her. Bei CLK+DS sind zwei 
Pins auf HIGH zu ziehen, da mein Code aktuell vorsieht bis zu 4 Arrays 
von 74HC595, von unbekannter Länge zu unterstützen und im Zweifel alle 
per Threading parallel rauszushiften.

    - Option 1: Optokoppler fast direkt an die GPIO per NPN Transistoren 
geschaltet. (Meine EL817 sind zu lahm dafür, bräuchte daher einen neuen 
Typen)
    - Option 2: 74HC14
    - Option 3: Pull up aus einem dedizierten 3.3V (LD1117)

@axelr: Es geht mir um das sinken am GPIO des Raspberry Pi für die 
Datenleitungen, nicht am Schieberegister. Sorry war vielleicht etwas 
unverständlich ausgedrückt. Die 74HC595 funktionieren tadellos für meine 
Anwendung.

von Blevox (Gast)


Lesenswert?

PS:

Option 1 gefällt mir am besten, da ich die Pegel dann auch auf 5V ziehen 
könnte.

PPS:

LG
Blevox (Sebastian)

PPPS:

Wird Zeit, dass ich mich registriere, dann kann ich meine Beiträge 
editieren. :-)

von Thomas E. (thomase)


Lesenswert?

Blevox schrieb:
> Ein kleines Gedankenspiel, ich überlege den Raspberry etwas zu
> entlasten.

Dann lass die Pullups/-downs weg.

Hast du den Eingangsstrom eines CMOS-IC schon mal gemessen?
Vergiss es, so hochwertiges Equipment hast du nicht.

: Bearbeitet durch User
von Sebastian D. (blevox)


Lesenswert?

So, nun bin ich registriert.

Solche Werte wären im Datenblatt ganz toll und wenn es nur μA sind. Die 
Summe macht es, dazu Leitungswiderstand.
Ich mach mir manchmal vielleicht einfach nur zuviele Gedanken, dennoch 
muss eine dedizierte 3.3v Versorgung ran. 74HC595 Supply current 70mA 
und der Pi liefert nur 50mA, aktuell sind meine Ausgänge vom 74HC595 
noch mit 1kOhm in Serie und somit bei nur 3.3mA, aber 16 Ausgänge zur 
selben Zeit. Es ist noch viel zu tun. :-)

Thomas E. schrieb:
> Dann lass die Pullups/-downs weg.

Aber eben diese kämen aus einem LD1117.

von Charly B. (charly)


Lesenswert?

Sebastian D. schrieb:
...
> .... dazu Leitungswiderstand.

genau!, den musste UNBEDIGT beachten {/ironieee off}


74HC125 dazwischen und die 595 an ein eigenes NT

den 74HC125 an 3v3 die 595 koennen dann auch an 5V


VlG
Charly

von Sebastian D. (blevox)


Lesenswert?

Charly B. schrieb:
> 74HC125 dazwischen und die 595 an ein eigenes NT
>
> den 74HC125 an 3v3 die 595 koennen dann auch an 5V

Die 74HC125 sind leider nicht als DIP verfügbar, aber natürlich gut.

Charly B. schrieb:
> genau!, den musste UNBEDIGT beachten {/ironieee off}

Naja, auch Kleinvieh macht Mist, vor allem in Masse.
Habe wie gesagt derzeit knapp 1,25m Leitungslänge, 4 Register und Code 
ist erweiterbar auf 4 Stränge.
Sprich es könnten später auch gern überspitzt ausgedrückt 20 am Strang 
sein, und dann vier Stränge zu befeuern sein. Natürlich der Line Driver 
würde mein theoretisches Problem mit einem Schlag lösen, ich schau mal, 
ob ich was im DIP finde.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Sebastian D. schrieb:
> Solche Werte wären im Datenblatt ganz toll und wenn es nur μA sind. Die
> Summe macht es, dazu Leitungswiderstand.

Bei CMOS-Eingängen, die nicht mit expliziten Pull-Up- oder 
Pull-Down-Widerständen ausgestattet sind, musst man schon sehr viele 
parallelschalten, um den statischen Eingangsstrom messen zu können. Für 
die ersten Versuche empfehle ich tausend oder eine Million Eingänge 
parallel. Dann könnte man vielleicht auf ein Mikroampere kommen, sollte 
aber aufpassen, die Werte nicht durch z.B. durch Flussmittelreste oder 
Fingerabdrücke auf der Leiterplatte zu verfälschen. Ach so, die 
Leiterplatten und Kabel sollten sich im Dunkeln befinden, da sie bei 
Lichteinfall deutlich leitender als die CMOS-Eingänge werden könnten.

Viel entscheidender ist allerdings die Eingangskapazität, welche zu 
erheblich größeren dynamischen Strömen bei Schaltvorgängen führt. Bei 
Leitungsleitungen im Bereich von 1m sollte auch die 
Anstiegsgeschwindigkeit der Logiksignale nicht zu hoch sein, d.h. 
insbesondere der Taktleitungen, da ansonsten das "Klingeln" zu mehrfach 
erkannten Taktimpulsen führen kann. Im einfachsten Fall fügt man an den 
Ausgängen kleine Serienwiderstände (ca. 20-50 Ohm) ein, ggf. auch mit 
z.B. 100pF als Tiefpass erster Ordnung.

von Charly B. (charly)


Lesenswert?

Sebastian D. schrieb:
> Die 74HC125 sind leider nicht als DIP verfügbar, aber natürlich gut.

sry, aber SELTEN so ein schwachsinn gelesen.............
 
 
 

http://k-urz.de/D39C
 
 
 

: Bearbeitet durch User
von Sebastian D. (blevox)


Lesenswert?

Charly B. schrieb:
> Sebastian D. schrieb:
>> Die 74HC125 sind leider nicht als DIP verfügbar, aber natürlich gut.
>
> sry, aber SELTEN so ein schwachsinn gelesen.............
>  
>  
>  
>
> http://k-urz.de/D39C
>  
>  
>  

Kommando zurück, ich hab nur 74HC125 gesucht. Die ersten beiden 
Datenblätter gaben kein DIP her. Du hast natürlich recht.

von HildeK (Gast)


Lesenswert?

Andreas S. schrieb:
> Im einfachsten Fall fügt man an den
> Ausgängen kleine Serienwiderstände (ca. 20-50 Ohm) ein, ggf. auch mit
> z.B. 100pF als Tiefpass erster Ordnung.

Bloß nicht!
Wenn dein eingefügtes C direkt am quellseitigen Serienwiderstand sitzt, 
dann provozierst du erst recht ein Problem!
Der Serienwiderstand ist gut und sorgt für eine quellseitige 
Terminierung; an der Empfangsseite ist aber eine Totalrefelxion 
vorhanden und gewollt, um den korrekten Logikpegel zu erhalten und die 
dann im quellseitigen Serienwiderstand terminiert wird.
Sitzt jetzt quellseitig nach dem Widerstand noch ein C, dann kommt es zu 
weiteren Reflexionen, die dann zu mehrfachen Taktflanken führen können.
Ein C hat an einer digitalen Leitung nichts verloren!

Wenn du schon Störungen unterdrücken musst, dann direkt vor dem Eingang, 
der aber dann ein Schmitt-Trigger sein muss.

von Sebastian D. (blevox)


Lesenswert?

Andreas S. schrieb:
> Bei CMOS-Eingängen, die nicht mit expliziten Pull-Up- oder
> Pull-Down-Widerständen ausgestattet sind, musst man schon sehr viele
> parallelschalten, um den statischen Eingangsstrom messen zu können. Für
> die ersten Versuche empfehle ich tausend oder eine Million Eingänge
> parallel. Dann könnte man vielleicht auf ein Mikroampere kommen, sollte
> aber aufpassen, die Werte nicht durch z.B. durch Flussmittelreste oder
> Fingerabdrücke auf der Leiterplatte zu verfälschen. Ach so, die
> Leiterplatten und Kabel sollten sich im Dunkeln befinden, da sie bei
> Lichteinfall deutlich leitender als die CMOS-Eingänge werden könnten.

!
Ok, bin ich wohl etwas zu paranoid. Ich geh trotzdem mal die Hände 
waschen. :-)

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.