mikrocontroller.net

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


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.