Wie kann man bei der Entwicklung von intelligenten Thermostaten die Verarbeitung und Aufzeichnung digitaler Sensordaten richtig implementieren? Dieser Fachbeitrag gibt Antwort.
Bild 1 zeigt das vereinfachte Blockschaltbild eines Mikrocontrollers (MCU). Darin fungieren CPU und DMA-Controller als Busmaster des Systems.
Für den Transfer der ADC-Daten zu Funktionsabschnitten inner- und außerhalb des Chips ist eine Reihe verschiedener Datenfluss-Szenarien denkbar:
· Die ADC-Daten werden von der CPU oder dem DMA-Controller an nichtflüchtige Speicher (Non-Volatile Memory – NVM) innerhalb des Chips übertragen.
· Die ADC-Daten werden von der CPU oder dem DMA-Controller an ein chip-internes RAM transferiert. In diesem Fall können die Daten weiterverarbeitet und anschließend von der CPU oder dem DMA-Controller in ein chipinternes NVM oder an den seriellen Kommunikationspuffer übertragen werden. Über serielle Kommunikations-Module lassen sich die Daten auch an Funktionen außerhalb des Chips weiterleiten.
· Die ADC-Daten werden von der CPU oder dem DMA-Controller direkt an eine Peripheriefunktion für die serielle Kommunikation übergeben.
In der hier behandelten Applikation eines intelligenten Thermostaten wird das zweite Datenfluss-Szenario betrachtet. Dabei erfolgt ein gewisser Umfang an Datenverarbeitung und Mittelwertbildung, bevor die Temperaturmesswerte an ein externes System weitergereicht werden, wie etwa an einen mit der Cloud verbundenen Konnektivitäts-Baustein. Will man jedoch eine größere Datenmenge sammeln und Datenanalysen vornehmen (um beispielsweise Durchschnittswerte oder Maximal- und Minimaltemperaturen über die Zeit zu ermitteln), transferiert man die Messdaten an ein externes System, das dann die Verarbeitung übernimmt (z. B. per Cloud-Computing).
Gehen wir zunächst an die Datenübertragung.