Forum: Mikrocontroller und Digitale Elektronik Bitbreite vom SPI


von Muh (Gast)


Lesenswert?

Hi Leute,

ich will mit nem Atmel eine digitales Poti AD5*** ansteuern. Nun bis auf 
einen brauchen die Alle eine Nachrichtenlänge von != 8Bit, also sagen 
wir 10 Bit oder so, weil die Adresse mit 2 oder 3 Bit versendet wird und 
der Wert mit 6-10 Bit.

D.h. ich muss beim Atmel einstellen, dass der nicht alle 8 Bit aus dem 
Register schiebt, sondern sagen wir nur 3...

Geht sowas? Oder wie hat sich Analog das vorgestellt wie man mit den 
Dingern über ein standard SPI kommunizieren soll?

Ich hab in keinem der Datenblätter was sinnvolles dazu gefunden.

Grüßle!

von Plapperer (Gast)


Lesenswert?

Mit Bitbang.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Muh schrieb:

> D.h. ich muss beim Atmel einstellen, dass der nicht alle 8 Bit aus dem
> Register schiebt, sondern sagen wir nur 3...
>
> Geht sowas?

Mit der Hardware-SPI geht das nicht.  Entweder musst du das SPI dann
in Software machen, oder (falls dein Slave das verträgt) du taktest
einfach 2 x 8 Takte durch in der Annahme, dass der Slave nach dem
Nten bit sowieso nicht mehr zuhört.

von Plapperer (Gast)


Lesenswert?

Alternativ das Datenblatt genau anschauen. Meist wird der Wert mi der 
steigenden Flanke des CS uebernommen. dh die letzten N-bit. Dh alle Bit 
davor sind im Wind.

von Muh (Gast)


Lesenswert?

Plapperer scheint recht zu haben. Bei mehr als 11 Bit schiebt er den 
Rest durch sein SDO raus. Übrig bleiben die letzten 11 übertragenen Bit. 
die positive Flanke vom CS führt dann zur Übernahme von Adresse und 
Wert. (Als Info für eventuelle Nachleser)

Danke für den Hinweis :-)

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.