Forum: Mikrocontroller und Digitale Elektronik 74HC299 8-bit PIPO Shift Register


von Nee M. (coke189)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

Ich hab ein Problem, ich bin dabei einen 10x10x10 LED Cube zu bauen und 
arbeite mit einem MBED Controller der nur 26 Ports hat die ich 
programmieren kann.
Deswegen hab ich mir den 74HC299 8 bit shift register geholt, bin damit 
aber komplett überfordert.

Wie muss ich bei diesem Chip die Eingänge belegen ?

Ich hab 100 Pins vom LED Cube und muss die alle an den Mikrocontroller 
bringen, deswegen eigentlich die shift register.

Wie sollte ich mich da am besten anlegen ?

Oben hab ich euch das Datenblatt angehängt.

mfg Coke

: Bearbeitet durch User
von Erst denken, dann kaufen (Gast)


Lesenswert?

Nee Merci schrieb:
> 26 Ports
26 Ports sind leich genut 26*8=208. Ich glaube du meinst Pins...

Nee Merci schrieb:
> Deswegen hab ich mir den 74HC299 8 bit shift register geholt, bin damit
> aber komplett überfordert.
>
> Wie muss ich bei diesem Chip die Eingänge belegen ?
Wieso hast du dir das nicht überleg, bevor du irgendwelche 
Schieberegister gekauft hast?

74HC595 sind viel einfacher zu verwenden und habe weniger Pins: Siehe 
Porterweiterung mit SPI.

Um ehrlich zu sein, blicke ich durch den 74HC299 so schnell auch nicht 
durch.

von Nee M. (coke189)


Lesenswert?

Ja genau ich meinte pins, auf jedenfall ist auf meinem
Controller nur platz für 26 und uch hab 110...
Soweit ich verstanden hab gibt es shift register mit 8 ausgängen und es 
gibt welche mit 8 eingängen und der 74hc299 kann beides.

Ich würde sofort neue bestellen wenn mir die zeit bleiben würde um noch 
alles umzubaun :/

Desegen muss ich halt versuchen mit dem zu arbeiten, den ich habe.

Vielleicht weiss ja einer wie das teil funktioniert :)

Mfg coke

von bko (Gast)


Lesenswert?

Auf die Schnelle aus dem o.g. Datenblatt, Seite 5, da ist doch ein 
schönes Timingdiagramm:

Nur Linksschieben und Ausgeben (Shiftleft und Hold):
Feste Pins: S0, OE1 und OE2 auf 0 (Gnd),
            Clear auf 1 (+5V)

Zum schieben dann: Serielle Daten auf "SL", Takt auf "clock" Pin des 299

x299 Pins: clock   SL     S1
            0     Bit0    0    ; shift 8 x  wenns ein 299 in Serie ist.
            1     Bit0    0    ;       16 x        2               sind
            0     Bit0    0    ;       24          3
            0     Bit1    0
            1     Bit1    0
            0     Bit1    0
      .... noch 5 mal
            0     Bit7    0
            1     Bit7    0
            0     Bit7    0
            0     egal    1   ; "Hold"
            1     egal    1   ; nun sollten die bits parallel rauskommen
            0     egal    1

Zum durchleiten an den nächsten Chip: Ausgang QA' mit Eingang SL
des nächsten 299s verbinden und dann aber 16 mal shiften bevor Hold

Also:
up pin1  -> alle   299-clocks
   pin2  -> erster 299-SL   -QA'-> zweiter 299-SL -> nächster usw....
   pin3  -> alle   299-S1

Und wenn die Anzeige am Anfang nicht irgendwie Leuchten soll, auch noch
den clear verbinden, und gleich am Programmanfang auf 0 und dann
wieder auf 1.
   pin4  -> 299-clear

besser - falls vorhanden: Reset mit richtiger Polarität -> 299-clear

Wiegesagt ein Schnellschuss, Am besten mal auf
Steckbrett o.ä. ausprobieren ....

von Peter D. (peda)


Lesenswert?

Steht doch alles schön in der TRUTH TABLE. Entweder als SHIFT RIGHT oder 
SHIFT LEFT beschalten.
Und wärend des Schiebens /G1 oder /G2 auf high, sonst sieht man es 
durchlaufen.

von Nee M. (coke189)


Lesenswert?

Okay danke schon mal für das kleine Beispiel, werde es morgen nochmal 
versuchen und dann rückmeldung geben :)

Mfg coke

von bko (Gast)


Lesenswert?

Peter Dannegger schrieb:
...
> Und wärend des Schiebens /G1 oder /G2 auf high, sonst sieht man es
> durchlaufen.
Ah stimmt, das ist beim 74xx595 anders, der hat ein zusätzliches
Ausgangsregister.

von Max H. (hartl192)


Lesenswert?

Hast du eigentlich schon mehr geplant, als welche Schieberegister du 
verwenden willst?
Ich würde dir raten, das mit der Ansteuerung + Treiber fertig zu Planen 
bevor du anfängst die LEDs zusammen zu Löten. Wir hatten hier in letzter 
Zeit ein paar fällen, in denen die LEDs suboptimal verlötet wurden und 
die Ansteuerung dann unnötig Aufwändig wurde…

von Nee M. (coke189)


Lesenswert?

Meine leds sind schon fertig, alle anoden wurden vertikal und die 
katoden wurden horizontal zusammengelötet. Die katoden bilden als 10 
"stockwerke" und die anoden bilden 100 vertikale "türme" mit jeweils 10 
leds.

Die schaltung war auch schon fast fertig , nur hatten wir nicht mit 
solchen schwierigkeiten bei den shift registern gerechnet, weil im 
internet ist zu unserem model auch nicht besonders viel zu finden :/

Danke aber für den hinweis

Mfg coke

von Nee M. (coke189)


Angehängte Dateien:

Lesenswert?

Nee Merci schrieb:
> Meine leds sind schon fertig, alle anoden wurden vertikal und die
> katoden wurden horizontal zusammengelötet. Die katoden bilden als 10
> "stockwerke" und die anoden bilden 100 vertikale "türme" mit jeweils 10
> leds.
> Die schaltung war auch schon fast fertig , nur hatten wir nicht mit
> solchen schwierigkeiten bei den shift registern gerechnet, weil im
> internet ist zu unserem model auch nicht besonders viel zu finden :/
> Danke aber für den hinweis
> Mfg coke

von Max H. (hartl192)


Lesenswert?

Wie willst du die LEDs ansteuern? Ist dir klar, dass der 74HC299 max. 
25mA pro Pin liefern kann, 50mA gesamt und dass wenn du den Cube 1:10 
multiplext, die LEDs mit 10mA gleich hell wie mit 1mA continous sind.

Bildformate

: Bearbeitet durch User
von Nee M. (coke189)


Lesenswert?

Wenn ich mich nicht verrechnet hab, haben wir nachher 13 shift register 
die jeweils 80 leds ansteuern. Mit der helligkeit werden wir 
warscheinlig ein auch ein problem bekommen :/ ich dachte an ne art 
verstärkerschtung hinter den ICs aber falls du was anderes im kopf hast, 
ich bin offen für kritik und vorschläge :)

Mfg

von Karl H. (kbuchegg)


Lesenswert?

Muss schon sagen: Super durchgeplantes Projekt.
Ist ja nicht so, dass auf diesem Planeten schon mal irgendwer einen Cube 
gebaut hätte, bei dem man sich ansehen könnte, wie man das macht.

: Bearbeitet durch User
von Wolfgang B. (Firma: privat) (umsteiger)


Lesenswert?

Bei diesen Bausteinen musst Du eines Bedenken:
-Die Daten, die du auf die Bausteine schiebst, werden "nicht" 
zwischengespeichert, sind also nur so lange am Ausgang der Bausteine 
vorhanden, bis andere Daten kommen.....Es handelt sich also "nicht" um 
Register die eine Info Speichern, behalten...

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.