Ich wurde mit einem Projekt beauftragt, um die bestmögliche Kommunikation zwischen mehreren Leiterplatten zu finden, die Mikrocontroller für eine bestimmte Funktion haben. Ich muss alle Mikrocontroller mit der Hauptplatine kommunizieren lassen, die eine CPU enthält.
Ich muss einige Informationen vom Mainboard an die Controller senden und eine Antwort von den Controllern erhalten. Jede Steuerplatine ist für einen bestimmten Zweck ausgelegt. Ich muss nicht zwischen den Mikrocontrollern kommunizieren, aber selbst wenn ein Mikrocontroller nicht kommuniziert, hat dies keine Auswirkungen auf andere. Derzeit muss ich sechs Mikrocontroller kommunizieren lassen, aber in Zukunft mehr. Ich möchte mehr Kabelverbindungen zwischen dem Mainboard und den anderen Controllern vermeiden (es sollten weniger sein).
Die Kommunikation sollte nicht durch Temperatur (120 °C) und Druck (hoch) beeinträchtigt werden. Der Abstand zwischen dem Mainboard und dem letzten Controller kann mehr als einen Meter betragen. Welche Arten von Controllern sind die besten? Ich muss einige Berechnungen und Sensormessungen durchführen. Jede Platine mit mehr als zwei Sensoren. Ich muss einige Berechnungen mit Sensormesswerten durchführen oder Werte direkt senden.
Ich bin neu in dieser Art von Projekt. Ich habe nach der besten Kommunikation gesucht, aber ich bin verwirrt, welche die beste ist. Einige Leute schlagen mir vor, die CAN-Kommunikation zu verwenden. Wenn ich mich für die CAN-Kommunikation entscheide, welche Art von Mikrocontroller ist am besten? Ich habe ein einfaches Diagramm beigefügt, wie es aussehen wird, wie unten gezeigt.
Wenn Sie sich für CAN entscheiden, ist das "beste" Mikro eines mit eingebautem CAN (viele haben dies, Coldfire MCF5225x ist ein Beispiel).
I2C oder RS485/RS422 sind ebenfalls eine gute Wahl, abhängig von den elektrischen Eigenschaften der Situation (Entfernung, Rauschen, Leistung). Der Rest hängt vom Protokoll ab, das Sie für die Kommunikation verwenden - wie Sie Nachrichten adressieren, den Fluss steuern und Kollisionen vermeiden.
Ich wünsche Ihnen viel Glück bei der Suche nach einem Mikro, das bei 180 ° C funktioniert, die Automobilspezifikation liegt bei 125 ° C und ich glaube nicht, dass sich sogar die Militärspezifikation drastisch verbessert.
Sie müssen mit Schicht 1 (elektrisch) beginnen, um herauszufinden, was die physische Schnittstelle tun muss, danach ist es hauptsächlich ein Softwareproblem, wie Sie sprechen. Heutzutage könnte Ethernet sogar eine praktikable Option sein, wenn die Micros genug Platz haben, um ein bescheidenes Betriebssystem auszuführen.
Sie können einen Blick auf http://www.keil.com/dd/chip/3648.htm werfen LPC 2129 ARM7TDMI-S mit CAN-Unterstützung. Dies kann hilfreich sein, wenn Sie Ihre Schnittstelle als CAN festlegen. Aufgrund Ihrer Temperaturbeschränkungen können Sie auch Steckverbinder und Kabel in Industrie- oder MIL-Qualität verwenden. Schauen Sie sich Anbieter wie Radiant Cables, TE Connectivity, Amphenol, Allied Connectors an, die Produkte herstellen, die für Umgebungen mit hohen Temperaturen bestimmt sind. Sie können sich auch einige hitzebeständige Materialien wie Teflon ansehen, die zum Schutz der Kommunikationsschnittstelle beitragen.
Für CAN (und ich würde CAN dringend für Ihr Setup empfehlen) empfehle ich den LPC11C24 , einen ARM Cortex-M0. Ich denke, es ist das einzige, in das der Transceiver bereits integriert ist, sodass kein zusätzlicher Chip erforderlich ist, um die physikalische Schicht zu implementieren (wie es bei den übrigen CAN-Mikrocontrollern üblich ist). Es hat auch einige schöne und einfach zu verwendende C-Bibliotheken, die in das ROM für CAN und den CANOpen-Standard integriert sind.
Die Freescale S08D-Familie oder einige billige Kinetis haben CAN und unterstützen bis 125 ° C. Höchste Temperaturwerte bekommt man allerdings nur auf wertigen Chips auf Freescale (Quelle: parametrische Suche). Probieren Sie die parametrische Suche auf allen Websites aus!
CAN ist ziemlich kompliziert in der Implementierung in Software.
Warum nicht RS-485 verwenden, das ebenfalls Industriestandard ist? Es gibt viele RS-485-Transceiver mit einer Temperaturunterstützung von 125 °C.
Andi aka
verendra
Andi aka
Olin Lathrop
Connor Wolf
Chris Stratton
Jon Watte