Forum: Mikrocontroller und Digitale Elektronik Datenaustausch zwischen 2 MSP430


von Burli (Gast)


Lesenswert?

Hallo,

ich habe zwei msp430, die unabhängig voneinander verschiedene Sensoren 
per SPI_0 auslesen.

Darüber hinaus soll jedoch auch ein Datenaustausch zwischen den beiden 
msp430 über SPI_1 stattfinden; also einer dann als Master, der andere 
als Slave fungieren.

Mein Ansatz ist nun folgender: Sobald eine bestimmte Datenmenge 
vorliegt, soll per Interrupt am USART-Port des zweiten msp ein Reset 
durchgeführt werden und dieser dann in den Slave-Modus gesetzt werden. 
Anschließend schiebt der Slave seine Sensordaten in den TX-Buffer und 
der Master kann diese empfangen.

Meine Fragen hierzu nun: Kann ich den Datenaustausch zwischen den beiden 
msp430 so durchführen? Sind die vier Leitungen, also MOSI, MISO, CLOCK 
und CHIP_SELECT (in diesem Fall der Interrupt), ausreichend oder 
benötige ich noch irgendwelche Steuerleitungen?

Vielen Dank für eure Hinweise,
Burli

von Stefan (Gast)


Lesenswert?

Chip_Select (oder STE) ist unnötig, da nur ein Slave vorhanden ist, es 
muss also keine Slave-Auswahl erfolgen. Als Interrupt braucht es auch 
keine extra Steuerleitung. Bei Empfang eines Datenbytes kann die SPI des 
Slave selbst einen IRQ auslösen.

von Burli (Gast)


Lesenswert?

Hi Stefan,

ich denke schon, dass ich die Interrupt-Leitung benötige. Der zweitweise 
msp430-Slave ist ja im "Normalfall" auch ein Master und liest die 
Sensoren aus.
Ich hab das wohl ein wenig zu kurz ausgeführt. Sorry. Also an SPI_0 hat 
jeder der beiden MSPs 4 Sensoren hängen. Diese lese ich ungefähr 5 
Sekunden aus. Dann soll der eine MSP in den Slave-Modus gehen und die 
Daten an den anderen MSP über SPI_1 senden! An SPI_1 hängt aber 
zusätzlich noch eine SD-Karte!

Gruss, Burli

von Burli (Gast)


Lesenswert?

Guten Morgen,

könnte mir vielleicht jemand mit einer "kurzen" Antwort weiterhelfen?

Danke

von Stefan (Gast)


Lesenswert?

Wo ist das Problem?
Du brauchst MOSI, MISO und CLK !
Jetzt hängt es davon ab, ob der zweite MSP und die SD-Card jeweils den 
gleichen Pegel an Chip_select haben wollen. Dann brauchst Du zwei 
CS-Leitungen um zwischen den beiden auszuwählen.
Wenn Du die zwei Kameraden aber überreden kannst, auf unterschiedliche 
CS-Pegel zu reagieren, reicht eine CS-Leitung.
Interruptleitung halte ich immer noch für unnötig, da der sendende MSP 
selbst weiß, wann er senden will und der empfangende immer noch einen 
IRQ beim Datenempfang bekommt!

von Burli (Gast)


Lesenswert?

Das wollte ich wissen, vielen Dank!!!

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.