Hi Leute! Hätte mal eine Frage zum Thema Kommunikation zwischen zwei Mikrocontrollern. Welche Art von Bus ist eigentlich eure bevorzugte Möglichkeit, zwei Mikrocontroller zu verbinden. Ich habe bei einer Anwendung schon zwei Mikrocontroller mittels TWI verbunden. Für ein aktuelles Projekt habe ich vor die Verbindung mittels SPI durchzuführen. Macht UART eigentlich für die Verbindung von zwei Mikrocontrollern auch Sinn? Ich freue mich über eure Antworten und Erfahrungen. lg
wenn es den besten bus gäbe, gäbe es nur einen.... es kommt auf den anwendugsfall an. sind die µcs auf einer platine oder liegen sie weit auseinander oder beides...???? sind es immer nur 2 µcs oder auch mal mehr? für zwei controller nah beieinander ist wohl spi ganz gut, schnell und einfach... für weitere strecken can
Ich würde USB oder Ethernet empfehlen... Firewire ist eher schwieriger, aber auch nicht schlecht.
Ist natürlich eine Frage des Anwendungsfalles. - Datenrate - Datenmenge - EMV Anforderungen, Störfestigkeit - Distanz - Echtzeitanforderungen - ...
>Volkswagenbus... >Rombus! Oh wie witzig. Komm mir vor wie bei 'ner Gruppe 15 jähriger Jungs.
@ AlexX (Gast)
>Komm mir vor wie bei 'ner Gruppe 15 jähriger Jungs.
Humor hält jung!
Hallo; soweit bei deinen Controllern vorhanden: CAN Bus. Habe ich bei meinem Projekt mit STM32 Controllern auch verwendet. Für meine Zwecke hinbreichend schnell und recht einfach zu konfigurieren (mit Peripheral Library) Gruß
Peter schrieb: > Für ein aktuelles Projekt habe ich vor die Verbindung mittels SPI > durchzuführen. Machs - klingt doch gut. SPI und UART haben halt den Vorteil, das sie getrennte Hin- und Rückleitung haben im Gegensatz zu I2C. Die Sache mit der Clockleitung musst du allerdings trotzdem mit Master/Slave lösen. Insofern ist UART am 'demokratischsten', hier gibts keinen Chef.
Peter schrieb: > Hi Leute! Moin > Hätte mal eine Frage zum Thema Kommunikation zwischen zwei > Mikrocontrollern. > > Welche Art von Bus ist eigentlich eure bevorzugte Möglichkeit, zwei > Mikrocontroller zu verbinden. Um ZWEI Punkte zu verbinden brauchst du keinen Bus. Bussysteme gibt es in Multimaster oder Master/Slave für n Knoten. > Ich habe bei einer Anwendung schon zwei Mikrocontroller mittels TWI > verbunden. > Für ein aktuelles Projekt habe ich vor die Verbindung mittels SPI > durchzuführen. So richtig groß ist der Unterschied zwischen TWI und SPI nicht, abgesehen von lizenzrechtlichen Dingen. > Macht UART eigentlich für die Verbindung von zwei Mikrocontrollern auch > Sinn? Eine UART kann Sinn machen, wenn du es sinnvoll programmierst. > Ich freue mich über eure Antworten und Erfahrungen. Bitte schön. Aber mal im Ernst, über was sollen sich deine beiden Controller unterhalten? Nur um ein paar Zustände zu signalisieren kann man das auch mit normalen I/Os machen. Etwas mehr Beschreibung bitte, Gruß aus dem regennassen Berlin
Rene Schube schrieb: > So richtig groß ist der Unterschied zwischen TWI und SPI nicht, > abgesehen von lizenzrechtlichen Dingen. Doch ist er: SPI hat 4 Leitungen, TWI / IIC nur 2. Bei SPI wird das Ziel per Chip-Select-Leitung ausgewählt, bei TWI / IIC gibt es einen Address-Header. Zu dem hat SPI eine Hin- und eine Rückleitung, TWI nur eine kombinierte. SPI ist im Prinzip ein Schieberegister, TWI nicht. TWI und IIc sind im Prinzip das Gleiche, nur das IIC von Philips ist und da kommen dann die Lizenzen ins Spiel.
Bananen Joe schrieb: > Doch ist er: Ja, du hast recht. Ich hab meinen Kaffee noch nicht getrunken. TWI = I2C und nicht SPI... Mea culpa!
Rene Schube schrieb: > So richtig groß ist der Unterschied zwischen TWI und SPI nicht Der Unterschied ist gewaltig. I2C hat Handshake, d.h. der Bus richtet sich nach dem langsamsten. SPI hat nichts, da kann es schnell zu Datenverlusten kommen. Insbesondere, da viele MCs ein Krüppel-SPI haben (TXD ungepuffert). Für 2-Punkt Verbindung ist die UART am einfachsten (wenn man keinen CAN hat).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.