Forum: Mikrocontroller und Digitale Elektronik MSP430 9-BIT SPI


von Forsberg (Gast)


Lesenswert?

Hallo,

kann man mit einem MSP430Fxxx den 9-Bit SPI Modus betreiben ?
Ich habe nur 7- oder 8 Bit Modi in Verbindung mit dem MSP430Fxxx 
gesehen.

Wie steuert man denn dann z.B. das Nokia6100 Display an ?
Das unterscheidet im ersten Bit des Datestroms, ob die restlichen 8 Bit 
einen Befehl oder Daten enthalten.

Software SPI ? Das kann es doch nicht sein.

Danke für eure Hilfe !

von Stefan (Gast)


Lesenswert?

>MSP430Fxxx
Da fehlt leider genau die Angabe von xxx !!!
Bei den F20xx-Typen beispielsweise ist SPI mit bis zu 16bit möglich!

von Forsberg (Gast)


Lesenswert?

Hallo Stefan,

danke für Antwort.

Wie siehts beim MSP430F1611 aus ?

Ich glaube da gehen nur 7 oder 8 Bit.

von Stefan (Gast)


Lesenswert?

>Wie siehts beim MSP430F1611 aus ?
>Ich glaube da gehen nur 7 oder 8 Bit.
Würd ich jetzt auch mal so vermuten, gehört schließlich zur 
F1xxx-Familie

von Daniel P. (ppowers)


Lesenswert?

Also die PICs haben auch nur eine 8-Bit SPI. Da sendet man dann halt 
einfach ein Byte, schaltet die Hardware-SPI ab und schickt den einen 
Clock-Pulse und das zugehörige Datenbit von Hand. Danach Hardware-SPI 
wieder einschalten. Bezweifle, dass es bei den MSP430 komplizierter 
abläuft...

von Forsberg (Gast)


Lesenswert?

Hallo,

also die dsPICs haben ein 9-Bit SPI Mode.

Was passiert eigentlich nachdem 8 Bit gesendet wurden ?
Kann man direkt weitere 8Bit hinterherschießen ?
Oder wird zwischen den 8-Bit Datenpaketen eine "Pause" auf dem Bus 
eingelegt ?

MfG

von Christian R. (supachris)


Lesenswert?

Der 1611 kann nur 7 oder 8 Bit. Steht ja auch im User Guide. Den sollte 
man schon mal lesen.

Die F2xx Reihe kann ebenfalls nur 7/8 Bit. Steht auch im User Guide.

Alles, was Vielfache davon sind, ist ja leicht mit mehreren 
Übertragungen machbar, für krumme Werte muss man halt SPI in Software 
machen. Ist ja auch nicht so schlimm.

von Forsberg (Gast)


Lesenswert?

Hallo,


das ist schon klar.

Ich habe mich nur gefragt, wieso bei AVR 9-Bit implementiert sind und 
beim MSP430 nicht.

MfG

von Stefan (Gast)


Lesenswert?

@supachris
>Die F2xx Reihe kann ebenfalls nur 7/8 Bit. Steht auch im User Guide.
Das stimmt so nicht, denn die F20xx können eben 16bit!

von Forsberg (Gast)


Lesenswert?

Hallo,

ich habe einen MSP430F2013 und der kann auch nur 7/8 Bit.

Wie sollen denn da 16Bit gehen ?

MfG

von Stefan (Gast)


Lesenswert?

>ich habe einen MSP430F2013 und der kann auch nur 7/8 Bit.
>Wie sollen denn da 16Bit gehen ?

MSP430x2xx Family User Guide, p.14-8:

"The Universal Serial Interface (USI) module provides SPI and I2C serial
communication with one hardware module. This chapter discusses both
modes. The USI module is implemented in the MSP430x20xx devices.
...
The 16-bit USISR is made up of two 8-bit registers, USISRL and USISRH.
Control bit USI16B selects the number of bits of USISR that are used for 
data transmit and receive. When USI16B = 0, only the lower 8 bits, 
USISRL, are used.
...
When USI16B = 1, all 16 bits are used for data handling."

von Christian R. (supachris)


Lesenswert?

Die können auch 14 Bit, 16 Bit, 24 Bit, 32 Bit usw....das ist doch nur 
eine Frage, wieviele Bytes ich hintereinander schicke, bevor ich das CS 
wieder wegnehme. Das CS muss eh manuell bedient werden, die SPI ist 
synchron, also können die Pausen zwischen den Bytes beliebig lang sein, 
es wird ja eh immer nur zur Taktflanke übernommen. Da kann man beliebige 
Vielfache von 7 und 8 Bit schicken.

Im User Guide stehts übrigens auf Seite 499. Außerdem ist der 
Transmit-Buffer und der Receive-Buffer nur 8 Bit Breit, wo sollen da 16 
Bit auf einmal reinpassen? (Seite 517 im User Guide)

Edit: Tatsache, da gibts ja USI auch noch. Ich hatte bei USCI geschaut. 
OK.

von Forsberg (Gast)


Lesenswert?

Hallo,

na einfach /CS auf High zu ziehen ist ja keine Lösung.

Ich habe mich nur auf USCI bezogen.

MfG

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.