Datenaustausch zwischen 2 MSP430

Gast #1032598
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.