Datenaustausch zwischen 2 MSP430

Gast #1032598
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
Gast #1032608
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.
Gast #1032626
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
Gast #1035590
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!

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