No-Op beim MAX7219 unklar

S

Stefan Speckmann

Guest
Hallo allerseits,



wenn ich mir das PDF zum MAX7219 (8-Digit-LED Display Driver) so anschaue,
ist mir eine Sache bisher noch nicht ganz klar.

Es geht speziell um den No-Op. Ich habe testhalber eine kleine LED-Matrix
mit 2x 64 LED's (also mit zwei 7219, DOUT direkt auf DIN zum Naechsten)
aufgebaut. Mittels Delphi habe ich mir ein kleines Prograemmchen zur
Ansteuerung geschrieben. Grundsaetzlich habe ich es verstanden den MAX7219
richtig zu fuettern (TestMode, Shutdown, ScanLimit, usw. funktionieren
korrekt). Allerdings dieser No-Op macht mir zu schaffen. Wenn ich das PDF
richtig verstehe, dann muss man, um beispielsweise einen vierten 7219 in
einer Reihe anzusteuern, das 16 Bit Datenwort gefolgt von drei No-Op's
senden. Mit Wechsel von 0 auf 1 bei LOAD wird der 4te Chip dann zum Leben
erweckt . Nach einigen Probieren bin irgendwie zum Schluss gekommen das das
No-Op nicht 16Bit sondern 8Bit lang sein muss!? Das verstehe ich nun nicht.
Wobei ich sagen muss, dass man darueber nicht wirklich Informationen im PDF
findet (bezueglich der Laenge des Datenwortes). Oder habe ich da Tomaten auf
den Augen? Oder ist der zeitliche Ablauf, bzw. die Reihenfolge der
Datenwoerter anders?

Sicherlich hat hier schon mal jemand Applikationen mit dem MAX7219
entwickelt und kann mir evt. einen Tipp geben?



mfg Stefan
 
Hallo Stefan,

Stefan Speckmann schrieb:

Nach einigen Probieren bin irgendwie zum Schluss gekommen das das
No-Op nicht 16Bit sondern 8Bit lang sein muss!? Das verstehe ich nun nicht.
hast du mal die Signalform des Taktsignals kontrolliert?
Überschwinger auf dem Clock könnten dazu führen, dass die Schieberegister
pro Takt zwei Bit einschieben.

Gruß
Ernst
 
Hallo Stefan


wenn ich mir das PDF zum MAX7219 (8-Digit-LED Display Driver) so anschaue,

Ich muss hier den Vorbehalt machen, dass ich nur den MAX7221 aus eigener
Erfahrung kenne. Ich dachte der MAX7219 sei bereits obsolet und nicht
mehr erhaeltlich?


korrekt). Allerdings dieser No-Op macht mir zu schaffen. Wenn ich das PDF
richtig verstehe, dann muss man, um beispielsweise einen vierten 7219 in
einer Reihe anzusteuern, das 16 Bit Datenwort gefolgt von drei No-Op's

Richtig


senden. Mit Wechsel von 0 auf 1 bei LOAD wird der 4te Chip dann zum Leben
erweckt . Nach einigen Probieren bin irgendwie zum Schluss gekommen das das

Nein. Die 0/1 Flanke aktiviert alle Chips in der Kette. Die Idee des
No-Op Registers ist, dass solange man den No-Op Register beschreibt eben
keine Funktion ausgehfuehrt wird, das heisst man kann eben auch die
vorhergehenden Chips aktivieren und benoetigt eben nicht seperate
LOAD(#CS) Leitungen - obwohl das, falls du die notwendigen Leitungen zu
Verfuegung hast, sinnvoller sein kann.


No-Op nicht 16Bit sondern 8Bit lang sein muss!? Das verstehe ich nun nicht.
Wobei ich sagen muss, dass man darueber nicht wirklich Informationen im PDF
findet (bezueglich der Laenge des Datenwortes). Oder habe ich da Tomaten auf
den Augen? Oder ist der zeitliche Ablauf, bzw. die Reihenfolge der
Datenwoerter anders?

Das Datenwort ist 16 Bit, siehe Table 1 im Datenblatt. Wobei fuer das
No-Op Command nur die 4 Registerbits (D11-D8) Null sein muessen, die
restlichen 12 Bits sind egal.


Sicherlich hat hier schon mal jemand Applikationen mit dem MAX7219
entwickelt und kann mir evt. einen Tipp geben?

Wenn du mehrere MA7219 in einer Reihenschaltung mit den uebrigen
Kommandos ansteuern kannst, dann muss auch, dass No-Op Register
funktionieren. Angenommen du hast zwei MAX7219 in Reihe geschaltet, und
du kannst durch zweimaliges senden des gleichen 16 Bit Kommandowortes
beide Chips voellig symmetrisch ansteuern (beide Chips machen exakt das
gleiche), dann mit das No-Op auch funktionieren.

Bist du sicher dass das No-Op Command in deiner Software richtig codiert
ist (am einfachsten 16 mal 0)? Wie hoch ist dein Clock Signal bzw. bist
du sicher, dass alle Setup/Hold Zeiten wie in Figure 1 angegeben
eingehalten werden (obwohl es schwer vorstellbar ist, dass das nur
Auswirkungen auf das No-Op Register haben sollte)?

HTH

Klaus
 

Welcome to EDABoard.com

Sponsor

Back
Top