Interfaces MSP430

Gast #821082
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
Gast #821094
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.
Gast #821359
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.
Gast #821364
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
Gast #821898
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
Gast #821906
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
Gast #821936
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.
#1447840
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 ;-)
#1447910
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. ;-)
Gast #1450428
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren