Der digitale Feuchte- und Temperatursensor HTU31D bietet einfache Schnittstellen für die Hardware- und Software-Integration in die Designs der Entwickler. Neben den Pins für die 3-V- bis 5,5-V-Versorgungsspannung (VDD) und Masse (GND) umfasst die Hardwareschnittstelle des Bausteins Pins für die seriellen Daten- (SDA) und Taktleitungen (SCL) nach I²C-Standard. Die verbleibenden zwei Pins sind ein Reset-Pin (RST) und ein Adress-Pin (IC_ADD). Wenn IC_ADD an GND oder VDD angeschlossen ist, antwortet das Gerät auf die I²C-Adresse 0x40 bzw. 0x41, so dass zwei HTU31D-Komponenten konfliktfrei den gleichen I²C-Bus nutzen können.
Ein Host-Prozessor sendet Befehle und liest Ergebnisse über einfache serielle I²C-Transaktionen. Die Befehle verwenden eine Zwei-Byte-Sequenz, bestehend aus der I²C-Adresse, gefolgt von einem Befehlsbyte mit Bits, die die unterstützten Funktionen spezifizieren, einschließlich kombinierter Temperatur- und Feuchtemessung, reiner Feuchtemessung, Reset, Heizung ein oder aus, Geräteseriennummer und Diagnose.
Um z. B. eine kombinierte Temperatur- und RH-Messung (T & RH) durchzuführen, würde der Host das Adressbyte und ein Byte senden, das das Konvertierungsbefehlsbit und Bits enthält, die die gewünschte Auflösung für die Temperatur- und RH-Messungen angeben. Das Gerät unterstützt ein einfaches Polling-Verfahren, d. h. nach dem Senden der Zwei-Byte-Konvertierungsbefehlssequenz würde der Host-Prozessor die im Datenblatt angegebene auflösungsabhängige Dauer abwarten, bevor er eine Zwei-Byte-Sequenz mit dem Adressbyte (0x40 oder 0x41), gefolgt vom T&RH-Lesebefehlsbyte (0x0), ausgibt (Abbildung 2, obere Zeile). Der HTU31D würde antworten, indem er die höherwertigen und niederwertigen Bytes der Rohwerte für jede angeforderte Temperatur- und Feuchtemessung überträgt (Abbildung 2, untere zwei Zeilen). Die Rohwerte werden mit Hilfe eines Gleichungspaares, das im Datenblatt des HTU31D enthalten ist, in die entsprechenden physikalischen Temperatur- und Feuchtewerte umgerechnet.
Wie in Bild 2 dargestellt, folgt der HTU31D jeder 16-bit-Datensequenz mit einem Byte, das den vom Gerät generierten Wert der zyklischen Redundanzprüfung (CRC) der Daten enthält. Diese CRC-8-Prüfsumme ermöglicht die Erkennung einzelner Bitfehler oder Doppelbitfehler an beliebiger Stelle in der Datenübertragung bzw. von Clustern von Bitfehlern innerhalb eines 8-bit-Fensters. Durch den Vergleich dieses übertragenen CRC-Werts mit dem CRC-Wert, den er aus den empfangenen Daten berechnet, kann der Host-Prozessor eine fehlgeschlagene Übertragung schnell erkennen und entsprechende Maßnahmen ergreifen, wie z. B. die Wiederholung des Messbefehls, das kurzzeitige Einschalten des integrierten Heizelements HTU31D, die Ausgabe eines Resets oder die Alarmierung des Benutzers über einen möglichen Fehler im Messsystem.
Eine weitere Funktion der Übertragungssequenz ermöglicht es dem Host, die Antwortsequenz vor ihrem normalen Abschluss zu stoppen, wenn eine übergeordnete Notwendigkeit besteht. Bei einer normalen Transaktion erwartet der HTU31D eine Bestätigung (ack) nach dem ersten Datenbyte mit einer abschließenden Ablehnung (nack) und einer Stoppsequenz ganz am Ende der Datensequenz (siehe wieder Bild 2). Entwickler können diese Funktion nutzen, um die weitere Übertragung zu stoppen, wenn CRC-Daten oder Feuchtigkeitsdaten nicht benötigt werden, oder wenn ein neuer Befehl wie ein Gerätereset oder eine Heizungsaktivierung dringend erforderlich ist. Hier kann der Host, anstatt das erwartete „ack“ nach einem Daten- oder CRC-Byte zu senden, die abschließende „nack/stop“-Sequenz ausgeben, um die Datenübertragung vom Sensor sofort zu beenden.
Der HTU31D von TE bietet eine einfache elektrische und funktionale Schnittstelle, aber der Einsatz jedes hochempfindlichen Sensors erfordert ein sorgfältiges physikalisches Design, um Messartefakte zu vermeiden, die durch elektrische oder thermische Wechselwirkungen mit anderen Geräten an Bord entstehen. In ähnlicher Weise können Fehler bei der Implementierung des Befehlsfolgeprotokolls oder der Gleichungen zur Werteumwandlung die Bewertung und das Prototyping einer Feuchte- und Temperaturmessfunktion in einem sich entwickelnden Produkt verzögern. Eine Zusatzplatine und die dazugehörige Software von MikroElektronika ermöglichen es Entwicklern, mögliche Implementierungsprobleme zu umgehen und sofort mit Design und Entwicklung zu beginnen.