Bluetooth-Bake ohne Batterie BLE-Betrieb mit Energy Harvester

Taktfrequenz der CPU

Die Frequenz des Prozessortakts bestimmt, wie schnell eine bestimmte Routine ausgeführt wird und wie viel Energie in dieser Zeit benötigt wird. Eine höhere Taktfrequenz bewirkt eine schnellere Verarbeitung, aber auch eine höhere Stromaufnahme. Außerdem gelten für jeden Prozessor bestimmte Höchst- und Mindestwerte für die Taktfrequenz, die eingehalten werden sollten.

Bei Prozessorschaltungen, die von einem Energy-Harvesting-System versorgt werden, muss die optimale Taktfrequenz unter Berücksichtigung der folgenden zwei Faktoren gewählt werden:

  1. Durchschnittliche Stromaufnahme,
  2. Spitzenwert der Stromaufnahme.

Bei der Kapazität des Speichers müssen beide Faktoren beachtet werden. Die durchschnittliche Stromaufnahme ist die über die Zeit gemittelte Stromstärke während eines aktiven Zustands. Der Spitzenstrom ist die kurzzeitige maximale Stromstärke während eines aktiven Zustands. Dieser Wert liegt häufig weit über der durchschnittlichen Stromstärke. So kann es vorkommen, dass der benötigte durchschnittliche Strom durchaus innerhalb des normalen Arbeitsbereiches des Energy-Harvesting-Systems liegt, der Spitzenstrom jedoch zu einer plötzlichen Entladung des Speichers führt und die Ausgangsspannung des Energy-Harvesting-Systems unter die Abschaltspannung des Geräts sinkt.

Bilder 5 und 6 zeigen den zeitlichen Verlauf der Stromaufnahme einer Routine bei verschiedenen Prozessortaktfrequenzen, einmal bei 48 MHz und dann bei 12 MHz.

Mit 48 MHz getaktet, benötigt der Prozessor ca. 300 μs zur Ausführung und nimmt während dieses Zeitraums einen Spitzenstrom von 10 mA auf. Wird der Prozessor dagegen mit 12 MHz getaktet, benötigt er 1,1 ms für die Ausführung der Routine und nimmt einen Spitzenstrom von nur 4 mA auf. Die gemessene durchschnittliche Stromstärke ist bei 12 MHz zwar höher, dafür ist aber der Spitzenstrom niedriger. Je nach Kapazität des Energy-Harvesting-Systems kann mit kurzen Ausführungszeiten bei 48 MHz, längeren Zeiten bei 12 MHz oder abwechselnd mit beiden Taktfrequenzen gearbeitet werden, wobei die Umschaltung entsprechend der im Speicher enthaltenen Energie vorgenommen wird.

Startvorgang bei Geräten mit ­niedriger Leistungsaufnahme

Wenn ein Embedded-Gerät eingeschaltet wird, durchläuft es einen Boot-Vorgang, bevor es den Anwendungscode ausführen kann. Dieser Startvorgang benötigt eine gewisse Zeit, bis der Mikrocontroller ihn ausgeführt hat, und damit auch eine bestimmte Energiemenge. Die für den Start erforderliche Energie hängt von der Art des Geräts, der Taktfrequenz des Prozessors, der Größe des Speichers und der Zeit zum Einrichten externer Takte ab. Die folgenden Punkte sollten beim Schreiben von Boot-Code beachtet werden:

  1. Es sollten nur die Speicherbereiche und Register initialisiert werden, die auch benötigt werden. Der Rest sollte auf den Standardwerten belassen werden.
  2. Die meisten Funk-Transmitter benötigen sehr genaue Taktsignale. Externe Taktoszillatoren oder Uhren-Quarzoszillatoren benötigen nach dem Einschalten eine lange Zeit zur Stabilisierung. Statt im aktiven Modus zu warten, bis sich diese Taktquellen stabilisiert haben, sollte das Mikrocontroller-System in einen Modus mit niedriger Leistungsaufnahme gebracht und erst dann aktiviert werden, wenn die Taktquellen bereit sind.

Systemstart mit niedriger ­Energieaufnahme

Wenn der Mikrocontroller mit der Ausführung des Anwendungscodes beginnt, müssen gewöhnlich verschiedene Peripherieschaltungen gestartet werden. Diese Peripherieschaltungen können im Mikrocontroller integriert sein, z.B. A/D-Umsetzer, oder externe Komponenten sein, z.B. ein Sensor. Die Startzeit der einzelnen Peripherieschaltungen mag jeweils zwar kurz sein; zusammen kann die gesamte Anordnung jedoch so viel Ausführungszeit erfordern, dass die im Energy-Harvesting-System gespeicherte Energie nicht ausreicht.