Erlauben Strom-/Leistungsüberwachungs-ICs (z. B. INA219) ein häufiges erneutes Auslesen?

Ich schaue mir das Datenblatt für den Texas Instruments INA219 an und auf Seite 20 zeigt es eine Tabelle für "Shunt ADC Resolution/Averaging", die die ADC-Auflösung und die Mittelungseinstellungen beschreibt, die zusammen mit ihren Konvertierungszeiten angewendet werden können.

Ich versuche herauszufinden, wie oft ich den vom Sensor-IC berechneten Leistungswert erneut lesen kann.

Beispielsweise hat die 12-Bit-Auflösung Single-Sample-Option (Bits: 0X11) eine aufgeführte Wandlungszeit von 532 μs (die tatsächlich in den elektrischen Eigenschaften mit maximal 586 μs aufgeführt ist). Es gibt dann eine Mindestkonvertierungseingangs-Niedrigzeit von 4 μs und die Zeit, die für die Kommunikation über I2C benötigt wird (sollte unter einer Mikrosekunde liegen, wenn ich den Hochgeschwindigkeitsmodus verwende).

Sollte ich also abschließend erwarten, in einer solchen Konfiguration mindestens 1800 bis 3000 tatsächliche Sensormesswerte pro Sekunde zu erreichen? Oder ist dies wahrscheinlich eine marketingfreundlichere Rate?

Als Randbemerkung stelle ich außerdem fest, dass die Konfigurationsoptionen 0X11 und 1000 beide zu einer 12-Bit-Auflösung und Single-Sampling führen, mit der gleichen Leserate, aber mit einem Unterschied, welche ADCs verwendet werden - gibt es einen Grund, einen auszuwählen? Option über die andere?

Dieser IC ist flexibel mit Kompromissen zwischen 12-Bit-Raten bis hin zu 9-Bit-Raten. Definieren Sie zuerst Ihre Anforderungen, treffen Sie dann Ihre Auswahl und iterieren Sie die Spezifikationen, bis Sie alle Ihre Anforderungen und Prioritäten klar verstanden haben. Definieren Sie erneut 1. = Kosten vs. Leistung vs. Funktionen .... Betrachtet man das Datenblattbeispiel -15 dB bei 3 kHz, ist ein zusätzlicher Filter erforderlich, um Ihre SNR-Spezifikation zu erfüllen
Wie haben Sie 3000 Samples/s aus einer Konversionsrate von 538 US herausgeholt? Ich habe ungefähr 1800 s/s ... und wenn Sie Rechenleistung bekommen wollen, wird es mindestens die Hälfte davon sein.
@AliChen Du hast Recht, ich war müde, als ich das schrieb.

Antworten (1)

Erstens ist Ihre Schätzung der Geschwindigkeit des I2C-Busses falsch. 1 uS ist ein Zyklus bei 1 MHz, und der I2C-Bus im Hochgeschwindigkeitsmodus beträgt nur maximal 2,56 MHz. In 1uS können Sie also weniger als 3 Bits über den I2C-Bus übertragen. In 4uS erhalten Sie nur etwa 10 Bits über den Bus, also nicht genug, um einen 12-Bit-Wert + Transaktions-Overhead zu lesen.

Ich habe mit diesem Teil schon früher gearbeitet, und Sie können es so schnell lesen. Verwenden Sie kurze Spuren und fügen Sie nicht zu viel (oder keine) Kapazität zwischen Vin + und Vin- hinzu.

Die Einstellungen 0X11 und 1000 verwenden denselben ADC, die "ADCx" in der Tabelle sind Bitnamen, keine unterschiedlichen Konverter. Die beiden Einstellungen sind gleich, da es scheint, dass das Löschen von ADC4 die Auflösung um eine Anzahl von Bits verringert, 3-[ADC2...ADC1]während die Einstellung die Anzahl der gemittelten Abtastungen um erhöht 2^[ADC3...ADC1].