Ich möchte ein Netzwerk (elektrische Schaltung) aufbauen, das Hunderte von Elementen (mit eindeutigen IDs) basierend auf einem Mikrocontroller enthält.
Ein gutes Beispiel für diese Art von Netzwerk, aber viel teurer (und fortschrittlicher) ist das Internet. Zum Beispiel habe ich Hauptserver (in meinem Fall Mikrocontroller), Knoten (Computer mit Ethernet-Karten) und Kabel (zB Cat 5e), die Server mit Knoten verbinden. Wir können davon ausgehen, dass das Netzwerk eine Sterntopologie hat.
Anforderungen gemäß obiger Grafik:
Was ist der einfachste/billigste Weg, um ein Netzwerk zu erstellen, wie ich es oben erklärt habe?
Dafür ist Dallas One-Wire da.
Die Basis der 1-Wire®-Technologie ist ein serielles Protokoll, das eine einzelne Datenleitung plus Bezugsmasse für die Kommunikation verwendet. Ein 1-Wire-Master initiiert und steuert die Kommunikation mit einem oder mehreren 1-Wire-Slave-Geräten auf dem 1-Wire-Bus (Abbildung 1). Jedes 1-Wire-Slave-Gerät hat eine eindeutige, unveränderliche, werkseitig programmierte 64-Bit-ID (Identifikationsnummer), die als Geräteadresse auf dem 1-Wire-Bus dient.
Sie könnten nach so etwas suchen: http://www.mouser.com/ds/2/268/21952b-70868.pdf
Unter der Annahme, dass Ihr "Netzwerk", wie Sie es beschrieben haben, nur einen Stromkreis öffnet und schließt, können Sie E / A-Erweiterungs-ICs erhalten, die GPIO-Leitungen mit weniger Pins auf der MCU adressieren können (ähnlich wie bei einem Mux). Erstellen Sie dann auf der Knotenseite einfach eine einfache Schaltung, die eine Leitung anhebt/absenkt, wenn ein Knoten eingesteckt/herausgenommen wird.
Allerdings müssen Sie die IDs auf der MCU programmieren - Sie können die IDs nicht von den Geräten selbst abrufen. (dh Sie wissen, welcher Pin hoch oder niedrig geht, aber Sie müssen ihn selbst einem ID-Wert zuordnen)
Angenommen, ich habe Ihre Anforderungen klar (Netzwerk von Mikrocontrollern, die mit einem einzelnen Mikrocontroller verbunden sind, proprietäres Netzwerkdesign erlaubt, klein, einfach, billig) ...
Könnten Sie ein CANbus-Netzwerk mit mehreren Multidrop-CAN-Bussen in Betracht ziehen, die durch CAN-Switches (z. B. ONSemi AMIS-42770 Dual High Speed CAN Transceiver) miteinander verbunden sind? Dies passt nicht zu Ihrer Sterntopologie, es sei denn, Sie entscheiden sich dafür mit den CAN-Schaltern. Aber CANbus ist billig und auf vielen Mikrocontrollern verfügbar. Geräte können ihre Anwesenheit beim Einschalten mit einer einzigen Nachrichten-ID an den Server-Mikrocontroller melden. Jeder kann einen 1-Draht- oder I2C-IC mit eindeutiger Seriennummer haben.
Ich könnte mir auch ein Meer von I2C-verbundenen Mikrocontrollern mit einem FPGA in der Mitte vorstellen, das als Router fungiert. Das gibt Ihnen viele Punkt-zu-Punkt-I2C-Verbindungen in einem billigen IC, aber es ist ein ziemlich großer Haufen Arbeit, den Sie in VHDL/Verilog entwerfen und beweisen müssen.
Können Sie vor diesem Hintergrund noch mehr zu Ihren spezifischen Anforderungen sagen?
Wenn Sie Leiterplatten in Massenproduktion herstellen müssen, die alle eine eindeutige ID haben, ohne dass Sie sie einzeln programmieren müssen, sollten Sie eine Komponente mit einer eindeutigen Seriennummer hinzufügen, die manchmal als Silizium-Seriennummer bezeichnet wird.
Wenn Ihnen 64-Bit ausreichen, dann würde so etwas wie dieser IC die Arbeit für Sie erledigen. Sie können diese ID direkt oder als Möglichkeit zum Generieren Ihres spezifischen Formats einer eindeutigen ID verwenden.
Eugen Sch.
Benutzer323693
Trojek
Trojek
Eugen Sch.