Forum: Mikrocontroller und Digitale Elektronik 74HC595 besoffen


von Alex S. (thor368)


Lesenswert?

Tach allerseits!

Ich habe einen string aus 10x 74HC595 aufgebaut. SER und SCK des ersten 
595 gehen an das SPI eines STM32F2, RCK an ein GPIO Pin. Danach sind 
immer QH' des vorgängers mit SER des nächsten in der Kette verbunden. 
Das SPI des STM ist so konfiguriert das die Signle korrekt wie im 
Datenblatt angegeben erzeugt werden. Wenn ich immer wieder das selbe bit 
in das Register schiebe kommt es auch exakt so wie es rein geht 
hinten(QH') wieder raus. Nur halt um eine halbe bitzeit nach vorn 
verschoben. Also alles gut.

Das verrückte ist nun, dass das geshiftete byte an den Ausgängen nun um 
zwei nach links rotiert wird. Sieht aus wie folgt:

0x01 -> 0x04
0x02 -> 0x08
0x04 -> 0x10
0x08 -> 0x20
0x10 -> 0x40
0x20 -> 0x80
0x40 -> 0x01 (!)
0x80 -> 0x02 (!)

Und nein, ich habe das pinning aus dem Datenblatt korrekt gelesen ;)
Thor

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Alex S. schrieb:
> Ich habe einen string aus 10x 74HC595 aufgebaut. SER und SCK des ersten
> 595 gehen an das SPI eines STM32F2, RCK an ein GPIO Pin. Danach sind
> immer QH' des vorgängers mit SER des nächsten in der Kette verbunden.
Gibts dazu auch einen Schaltplan?

> Wenn ich immer wieder das selbe bit in das Register schiebe
In welches "Register"?

> Das verrückte ist nun, dass das geshiftete byte an den Ausgängen nun um
> zwei nach links rotiert wird.
An welchen Ausgängen?

Lies mal deinen Text so durch, wie wenn du von deinem Problem nichts 
wüsstest und deine Schaltung nicht kennen würdest. Kannst du dir dann 
einen Reim machen? Ich nicht. Oder bestenfalls nur so halb...
Ich würde einen Schaltplan bevorzugen, wo die Register, die Signale und 
die Ausgänge ihren Namen haben. Dazu noch ein oder zwei Screenshots vom 
Oszilloskop. Dann kann man helfen...

von Schlumpf (Gast)


Lesenswert?

Prüfe doch mal, ob dein Übernahmesignal an Pin12 auch zum richtigen 
Zeitpunkt kommt.

von Axel S. (a-za-z0-9)


Lesenswert?

Alex S. schrieb:
> Ich habe einen string aus 10x 74HC595 aufgebaut. SER und SCK des ersten
> 595 gehen an das SPI eines STM32F2, RCK an ein GPIO Pin. Danach sind
> immer QH' des vorgängers mit SER des nächsten in der Kette verbunden.

Ich vermisse hier eine Angabe, wie SCK der restlichen '595 beschaltet 
sind. Sie müssen alle parallel am SCK des STM32 hängen. Ebenso vermisse 
ich eine Angabe zur Frequenz auf SCK.

Bei hohen Frequenzen kommt es langsam auf die Leitungsführung an. 
Vermutlich wirst du auch Terminierungsmaßnahmen brauchen. Und sind die 
'595 auch vernünftig abgeblockt?

Ein simpler Test wäre, die Frequenz maß massiv runterzusetzen. Sagen wir 
auf ein Zehntel. Wenn es dann funktioniert, weißt du wo das Problem 
liegt.


XL

von Gregor O. (zappes)


Lesenswert?

Alex S. schrieb:
> SER und SCK des ersten
> 595 gehen an das SPI eines STM32F2, RCK an ein GPIO Pin. Danach sind
> immer QH' des vorgängers mit SER des nächsten in der Kette verbunden.

Wenn ich das richtig lese, hast Du SRCLK gar nicht und RCLK nur am 
ersten der 10 Chips angeschlossen - ist das so, oder habe ich das jetzt 
nur zu wörtlich gelesen? Der von Lothar Miller geforderte Schaltplan 
wäre tatsächlich nicht schlecht, um das sehen zu können.

von Karl H. (kbuchegg)


Lesenswert?

> Das verrückte ist nun, dass das geshiftete byte an den Ausgängen
> nun um zwei nach links rotiert wird.

An welchen Ausgängen? An jedem der 10 Stück 595 für sich oder über alle 
Ausgänge gesehen?

> Sieht aus wie folgt:
> 0x01 -> 0x04
> 0x02 -> 0x08
> 0x04 -> 0x10
> 0x08 -> 0x20
> 0x10 -> 0x40
> 0x20 -> 0x80
> 0x40 -> 0x01 (!)
> 0x80 -> 0x02 (!)
> Und nein, ich habe das pinning aus dem Datenblatt korrekt gelesen ;)

Wenn an jedem einzelnen 595 diese 'Verdrehung' erfolgt, ist es aber 
naheliegend, dass du dich an den Pins verzählt hast. Es wäre zumindest 
eine logische Erklärung.

An welchen Pins der 595 greifst du denn die einzelnen Bits in welcher 
Wertigkeit ab?

Entweder das, oder du hast im µC einen Hund drinnen und du schickst das 
Byte gar nicht so auf die Reise, wie du denkst das du das tust.

: Bearbeitet durch User
von Alex S. (thor368)


Lesenswert?

Großen Dank an den Schlumpf!

Das store (RCK) kam zu früh. Problem gelöst.
Thor

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.