Kommunikation über I2C-Sensor über CAN-Bus

Ich frage mich, ob es möglich ist, die folgende Idee umzusetzen: Ich möchte ein Netzwerk von Sensoren aufbauen, die alle über das I2C-Protokoll kommunizieren, und alle diese Sensoren senden ihre Parameter über den CAN-Bus an den Hauptmikrocontroller, der all diese Daten verarbeitet einen bestimmten Befehl auszuführen. Ich weiß, dass es notwendig ist, einen Mikrocontroller für jeden Sensor zu haben, um die Kommunikation zwischen dem Sensor und dem CAN-Bus zu implementieren.

Meine Frage ist, ist es möglich, dass der Mikrocontroller (mit CAN-Peripheriegerät) diese Daten vom I2C-Protokoll empfängt, sie in das CAN-Protokoll "umwandelt" und sie an den Master-Mikrocontroller sendet, der sich an einem anderen Punkt vom CAN-BUS befindet?

Danke

Antworten (3)

Ein Mikrocontroller, der einen Sensor betreut, wäre Master auf dem I 2 C-Bus. Es würde die Daten der Sensoren verpacken und auf den CAN-Bus senden. Sie hätten einen CAN-Bus mit großer Reichweite und viele lokale I 2 C-Busse. Das ist eine ziemlich übliche Architektur für einen CAN-Bus.

Also, ja, es ist möglich.

Keine Notwendigkeit für diskrete Designs. Sie können den LT3960 I2C-zu-CAN-Konverter von Analog Devices überprüfen .

Es ist möglich, wie Nick Alexeev antwortete.

Beachten Sie, dass die Anzahl der Knoten auf einem CAN-Bus nicht unbegrenzt ist. Sie wird durch Eigenschaften der physikalischen Schicht, des verwendeten CAN-Standards usw. bestimmt.

Auch die Anzahl der Nachrichten, die der CAN-Bus verarbeiten kann, ist nicht unbegrenzt. Dies hängt von der CAN-Bus-Geschwindigkeit ab (die bei mehr Knoten normalerweise niedriger ist), der Länge der Nachricht usw. https://e2e.ti.com/support/interface/f/138/t/200360