Sind alle I2C-Sensoren interoperabel?

Ich habe einen Quadcopter-Flugcontroller ( RTFQ Flip MWC ), der I2C-Sensoren unterstützt, um Dinge wie ein Barometer, ein Magnetometer und ein GPS-System hinzuzufügen. Der offiziell unterstützte Sensorblock ( BMP180 , HMC5883L auf einer Platine) wird, soweit ich das beurteilen kann, eingestellt.

Ich habe andere I2C-Barometer- und Magnetometersensoren gefunden ( BMP280 , LSM303 ), aber ich bin mir nicht einmal sicher, ob alle I2C-Geräte des gleichen Typs interoperabel sind. Sehen sie alle gleich aus (zumindest schnittstellenmäßig) für den Fluglotsen?

Ich bin auch neu bei I2C im Allgemeinen; Die Sensoren, die ich brauche, kommen auf zwei separaten Platinen. Stapele ich einfach die Platinen und verbinde den I2C-Bus direkt miteinander?

Danke im Voraus Neil

BEARBEITEN: Ich konnte die Datenblätter für die eingestellten und vorgeschlagenen Sensoren finden:

Alle sind mit dem 3,3-V-Ausgang des Flip MWC kompatibel, was gut ist.

Ich war schnell in der Lage, das zu finden, was meiner Meinung nach die Registerkarte für den BMP180 und den HMC5883L ist, aber die Tabelle, die ich für das LSM303 gefunden habe, war sehr verwirrend und ich konnte keine im Datenblatt des BMP280 finden.

Ich würde nicht davon ausgehen, dass sie es sind. Sicherlich können Sie Datenblätter vergleichen, um dies herauszufinden?
@BrianDrummond Welche Spezifikationen würde ich zwischen Datenblättern vergleichen? Pinbelegung?
Registrieren Sie Karten und Datenformate. Wenn sie unterschiedliche Daten oder unterschiedliche I2C-Adressen enthalten oder sich die Register an unterschiedlichen internen Adressen befinden usw., können Sie sie nicht verwenden, ohne die Flugsteuerungssoftware neu zu schreiben.
Oder wenn sie mit einer anderen Spannung arbeiten. Beispielsweise können Sie einen mit 5 V versorgten I2C-Sensor wahrscheinlich nicht an einen mit 3,3 V betriebenen Controller anschließen, ohne eine Spannungsumsetzerschaltung hinzuzufügen.
Die Pinbelegung ist das einzige, was für die Kompatibilität auf dem Bus keine Rolle spielt . Die Pinbelegung spielt nur eine Rolle, wenn Sie nach einem direkten Drop-in-Ersatz suchen, der auf vorhandene Pads passen muss.

Antworten (1)

Ob zwei IIC-Geräte in diesem Zusammenhang kompatibel sind, lässt sich nur durch einen sehr genauen Vergleich ihrer IIC-Schnittstelle in den beiden Datenblättern feststellen. IIC mag weitgehend Standard sein, sagt aber nichts über die über IIC übertragenen Nutzdaten aus.

Wenn ein bestimmtes Produkt populär wird, werden Konkurrenten oft ihr Produkt kompatibel machen. Es gibt jedoch keine Garantie dafür, dass zwei beliebige Geräte kompatibel sind. Jeder könnte ein anderes Format zum Senden der Daten verwenden, unterschiedliche Einstellungen in verschiedenen Registern erfordern, auf die unterschiedlich zugegriffen wird, um Funktionen auszuwählen usw.

Wenn Sie nicht wissen, dass sie kompatibel sind, gehen Sie davon aus, dass sie es nicht sind.