Forum: Mikrocontroller und Digitale Elektronik Interfaces MSP430


von PP (Gast)


Lesenswert?

Hallo,

hatte vor einiger Zeit mal mit dem MSP430 rum gespielt und wollte jetzt 
mal was größeres damit machen.
Jetzt hab ich aber grad im Datenblatt gelesen/bzw auch der Webseite 
geschaut und herausgefunden das die max 2 USCI haben. Sprich nur zwei 
Schnittstellen wie I2C, SPI, RS232 :(
Hab ich da was falsch gelesen/verstanden?
Oder soll die im Betrieb USCI im Betrieb umgeschaltet werden? Die Pins 
für die einzelnen Modis liegen ja auf unterschiedlichen Pins...
Ist natürlich blöd wenn man nicht sagen kann wann die Daten kommen.
Bräuchte 1x I2C, 1x SPI und 1x (lieber 2x) RS232 und das ganze sollte 
auch über Batterie laufen, deshalb dachte ich an den MSP. Aber so 
scheint der erst mal aus zufallen :(

Gruß
PP

von Christian R. (supachris)


Lesenswert?

Jo richtig, die haben "nur" 2 Hardware USCI. µC mit mehr als 2 muss man 
schon recht gut suchen, und dann anderswo Abstriche machen.

von szimmi (Gast)


Lesenswert?

Brauchst Du die I2C bzw. SPI als Master oder Slave? Wenn Du sie "nur" 
als Master brauchst und die Sachen zeitunkritisch sind, dann kannste 
auch GPIO's wackeln lassen. Die beiden USCI's sind dann als RS232 
nutzbar.

von Christian R. (supachris)


Lesenswert?

Oder halt die USCI immer umkonfigurieren. Wenn du nicht gleichzeitig 
alle 4 brauchst, geht das ziemlich gut, und auch recht schnell. Die 
Funktionen liegen extra dafür ja auf verschiedenen Pins.

von Dietmar S. (dsausw)


Lesenswert?

Nette Sache scheinen auch die IIC-Bus
Port-Expander zu sein.
PCA 9564, etc., von TI z.B. .
Ich bin mir ziemlich sicher, das auch Maxim hier etwas hat.

Gruss
Dietmar

von Dietmar S. (dsausw)


Lesenswert?


von PP (Gast)


Lesenswert?

Hallo,

brauche die nur als Master und zeitkritisch ist das ganze auch nicht. 
Würde vom Prinzip also in Software gehen.
Bin mir nur nicht sicher ob dann noch die Ressourcen des MSP reichen 
(grade RAM). Wollte an die SPI ein ENC28J60 und SD-Karte hängen.
Jeden Tag soll der ENC dann aktiviert werden und die gesammelten Daten 
der SD-Karte an einen Server schicken. Der uC müsste die Daten also 
zwischenspeichern. Oder klappt das so eh nicht und ich sollte lieber 
zwei SPI nehmen?

Hatte jetzt erst mal an einen ATMega (zB 32) zu nehmen, da habe ich 
schon mal I2C, SPI und eine RS232.
Die Schaltung wird im Schlafmodus wohl nur vom uC belastet +Leckströme 
die hoffentlich nicht so groß sind. (muss noch mal die Aufwachzeit bzw 
die Stabilisierungszeit der Module anschauen, sollten die zu groß sein 
>1min kommt wohl noch was dazu)
Da in der Schaltung auch eine RTC mit eigener Batterie (macht das Sinn? 
RTC kann den Spg bereich halt viel weiter ausnutzen...) betrieben wird, 
könnte man den uC in PowerDown Modus versetzen und zyklisch über einen 
Interrupt aufwecken. Währen dann beim Mega32 auch nur 1uA nicht so gut 
wie der MSP aber auch schon nicht schlecht.

von PP (Gast)


Lesenswert?

@ Dietmar Sch.
wenn ich das richtig sehe erweitert der PCA9518 nur den I2C Bus, sprich 
mehr als 256 Geräte am Bus möglich, oder?
Das hilft mir hier ja nicht weiter, mir geht es ja darum 1x I2C, 1xSPI 
und 1xRS232 zu haben.
Oder hab ich da was falsch verstanden?

Gruß
PP

von Michael (Gast)


Lesenswert?

Bevor ihr jetzt Ideen wie Code-Expander usw. diskutiert, schaut euch die 
Datenblätter bitte nochmal ganz genau an!

Der MSP430 hat maximal 2 USCI Module. Soweit richtig. Jedes USCI Modul 
verfügt aber über ein Teilmodul A und ein Teilmodul B.

The USCI_Ax modules support:
   UART mode
   SPI mode

The USCI_Bx modules support:
   I2C mode
   SPI mode

Du kannst also eine I2C-, eine SPI- und zwei RS232-Schnittstellen ohne 
Umstände realisieren.

Viele Grüße
Michael

von Michael (Gast)


Lesenswert?

Ansonsten würde ich mich mal innerhalb der MSP430F2xx Familie umsehen 
(wenn du das nicht ohnehin schon gemacht hast). Da gibt es Devices mit 
120kB Flash und 8kB RAM. Wenn du im Moment also einen ATMEGA32 mit 2kB 
RAM verwendest, solltest du auf jeden Fall auch bei den MSP430 fündig 
werden können.

Bei der MSP430F2xx hast du im Low Power Mode 4 einen Stromverbrauch von 
100nA. Der Controller kann dann aber nur noch durch einen externen 
Interrupt (z.B vom ENC28J60) aufgeweckt werden. Ich würde aber bei 
deiner Anwendung eher den Low Power Mode 3 wählen. Der Stromverbrauch 
liegt dann bei 900nA. Dabei läuft aber ein externer 32768Hz Uhrenquartz, 
so dass der Controller auch durch einen internen Interrupt aufgeweckt 
werden kann. Somit kannst du nämlich, und das ist für dich wirklich 
interessant, die RTC auch mit dem MSP430 "erschlagen".

Viele Grüße
Michael

von PP (Gast)


Lesenswert?

@Michael
Das heißt also ich kann mit dem A Modul UART und SPI parallel betreiben
(gleiches für Modul B mit I2C und SPI) ?
Das habe ich da irgendwie nicht raus gelesen (zugegeben nur überflogen).
Werde mir das noch mal genau anschauen.

Das mit der RTC im MSP währe natürlich super, spare ich das Bauteil :)
Und von der Versorgungsspannung gehen die ja auch bis <2V.

von Patrick L. (padu64)


Lesenswert?

Hallo PP,
Selbstverständlich nicht Echt parallel ;-) aber du kamst es 
Softwaremässig umschalten, und so bspw. UART Einlesen und dann per SPI 
senden oder Umgekehrt.
Um kein externer Multiplexer zu verwenden einfach auch die Ports dabei 
umschalten.
Solltest du wirklich alle 4 SPI I2C und 2xUART simultan brauchen, wäre 
eine Software-UART-Timer Lösung eher das Richtige denke ich. Dazu kannst 
du dir den UART Softwareteil, des Original MSP430 Monitor's verwenden. 
damit habe ich schon 4 UART (RS232) Ports (Für Barcode Scanner) 
realisiert ;-)
Das Funktioniert 1 A :-)
Ansonsten ist der von Michael vorgeschlagene Weg zu beschreiten ein 
guter Rat.
Gruss Padu MSP430 Freak ;-)

von doofi (Gast)


Lesenswert?

Der MSP430F5438 hat z.B. 4 USCIs.

von Patrick L. (padu64)


Lesenswert?

Hallo doofi,
Ja das ist Richtig aber 1. Kostet er auch mehr als ne Kleinere Version, 
2. braucht etwas mehr Strom und 3. ist mit Mindestens 80 Pins nicht so 
leicht zu verlöten als ein wesentlichen "Kleinerer Bruder".
Es ist klar das zur Zeit die MSP430 wie Pilze aus dem Boden schissen :-D
aber wer die Ressourcen dieses Bauteils und die etwas aufwendigere 
Programmierung wegen seiner "X" CPU nicht braucht nehme doch die 
Software Variante. ;-)

von Mika (Gast)


Lesenswert?

@ Patrick L.

Bitte schau dir nochmal genau das Datenblatt an. Wie von Michael richtig 
beschrieben, besteht ein USCI Modul aus zwei Teilmodulen, die PARALLEL 
und weitestgehend UNABHÄNGIG von einander betrieben werden können.

Viele Grüße,
Mika

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.