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
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...
Prüfe doch mal, ob dein Übernahmesignal an Pin12 auch zum richtigen Zeitpunkt kommt.
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
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.
> 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.