Forum: Mikrocontroller und Digitale Elektronik Frage zum LED- Treiber MAX6966


von Thomas (Gast)


Lesenswert?

Hallo Forum,
ich beginne gerade ein Projekt mit dem MAX6966. Ich habe die Verbindung 
mit dem Controller bereits aufgebaut. Jetzt sende ich per SPI ein Byte 
an den Treiber. Ich messe sowohl die Clock, als auch die MOSI- Leitung 
mit dem Oszi. Soweit alles gut. Jetzt möchte ich gerne den MAX auslesen. 
Aber wie? Ich weiß nicht ob ich das jetzt richtig mit dem SPI verstanden 
habe. Ich sende einen Befehl an den MAX (16Bit Wert) und muss dann noch 
mal so viele Bits in den MAX takten um das Ergebnis zu erhalten, oder??

Also ich möchte den Zustand den Output level von PORT 0 des MAX wissen 
(S10). Dann sende ich:
D15 = RW = 1
D14 = 0
D13 = 0
D12 = 0
D11 = 1
D10 = 0
D09 = 1
D08 = 0

Als Byte also 0x0A

Im Datenblatt (S.21) steht aber das ein Telegramm 16 Bit lang ist. Was 
muss denn dann in den Bits 0-7 stehen? Oder bekomme ich nach 16 Bits 
Takten das Ergebnis dann mit übertragen? Also die ersten 8 Bit sind 
D15-D08 dann acht Dummy- Bits und mit diesen Acht Dummy- Bits wird dann 
der Wert an den Controller rausgetaktet?
Muss ich den MAX auch generell erst mal einschalten oder läuft dieser 
sobald er an Spannung gelegt wird. (PS er hängt am STK500 mit 3,3V)
Einschalten kann man ihn ja über Run Mode (RW = 0, D14 – D8 = 0x10, D7 – 
D0 = 0x01), oder?

Danke für Eure Antworten!

Grüße, Thomas

von Roman (Gast)


Lesenswert?

Seite 21 beantwortet Deine Fragen bereits, falls noch Zweifel bestehen
ist auf Seite 23 der genaue Ablauf fürs Lesen eines Registers 
beschrieben.

Oder kurz:
Wenn Du eine Read command sendest (Bit D15 auf Seite 10), dann kommen
die Daten während den bits 7 bis 0. Du musst also nur 8 bits fürs
Kommando senden und dann 8 bits auslesen. (Natürlich dann über MISO).

> Muss ich den MAX auch generell erst mal einschalten ...

Lies mal auf Seite 11 weiter, Initial Power Up. Ich glaube Du meinst 
evtl
den Shutdown mode, der als erstes läuft, danach musst Du wohl etwas ins
Configuration Register 0x10 senden.

Ich habe noch nie mit diesem MAX gearbeitet, aber mit ähnlichen.

Gruss
Roman

von Roman (Gast)


Lesenswert?

Habs gerade nochmals selbst gelesen und Deine Annahme zum Einschalten 
stimmt genau, um in den run_mode zu gehen, sollte man senden:

0x10 0x01

Gruss
Roman

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.