RTOS mit Energiesparfunktionen für Low-Power Applikationen



Ähnliche Dokumente
Architektur Verteilter Systeme Teil 2: Prozesse und Threads

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule

3.14 Die Programmieroberfläche Programmierung

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Mikrocontroller Grundlagen. Markus Koch April 2011

OSEK / OSEKtime - ein Vergleich

Anleitung zur Nutzung des SharePort Utility

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

DOKUMENTATION VOGELZUCHT 2015 PLUS

Summer Workshop Mehr Innovationskraft mit Change Management

Bedienungsanleitung TIME IT. a Look Solutions 1 product

Professionelle Seminare im Bereich MS-Office

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

s.beat DAP-10X White Paper USB Stromversorgung am Apple Macintosh und deren Auswirkung

Beschreibung. Elektronischer Münzprüfer G

Übung - Datensicherung und Wiederherstellung in Windows 7

Aufbau der Cutmaster Einheit

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

SJ OFFICE - Update 3.0

Projektmanagement durch Scrum-Proxies

Optimierung des Energieverbrauchs eingebetteter Software

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

INFO BLATT. Das Handbediengerät fungiert als Dialog zwischen Mensch und Steuerung. Handbediengerät. Softwareausstattung SCP

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

Gliederung Hardware fuer die Zeitmessung Zeitmanagement auf Uniprozessorsystemen. Timing Measurements. Timo Schneider. 4.

TM Bahnübergangssteuerung Benutzerhandbuch

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Quanton Manual (de) Datum: URL: )

OSEK Deadline-Analyse

Local Control Network

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

SFKV MAP Offline-Erfassungstool. Installationsanleitung

Fragen und Antworten

GRS SIGNUM Product-Lifecycle-Management

Fragen zur GridVis MSSQL-Server

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Installation des COM Port Redirectors

Bedienungsanleitung Version 1.0

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

QR Code. Christina Nemecek, Jessica Machrowiak

Energieverwaltung. Dario Freddi Übersetzung: Burkhard Lück

Einlesen einer neuen Chipkarte in der VR-NetWorld Software Seccos 6 gültig bis 2013

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Installationsvoraussetzungen

Tipps und Tricks zu Netop Vision und Vision Pro

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Revox Joy S232 App D 1.0

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

Cad-OasEs Int. GmbH. 20 Jahre UG/NX Erfahrung prägen Methodik und Leistungen. Nutzen Sie dieses Wissen!

SharePoint Demonstration

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Produktmanagement vom Kundenticket zum Release

Was tun, wenn etwas nicht funktioniert?

Mobile App Development. - Alarm -

Requirements Engineering WS 11/12

Datensicherung. Mögliche Vorgehensweisen:

IT-Tutorial. Access Microsoft. Infos zur Migration von Access I MPRESSUM

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

Objektorientierte Programmierung für Anfänger am Beispiel PHP

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Synchronisations- Assistent

N Bit binäre Zahlen (signed)

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

SafeLine GL1. Anschluss-und Programmierungs-handbuch. GSM-Alternative für unsere Aufzugtelefone. (GSM-Line)

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Some Software Engineering Principles

FrontDoor/Monitor mehr sehen von FrontDoor

Tag 2 Eingabe und Interrupts

Installation von Office 365 auf einem privaten PC

Research Note zum Thema: Laufzeit von Support-Leistungen für Server OS

Betriebsanleitung. Mikroprozessorgesteuerter Batterie-Kapazitätstester CAPTEST 1225 und 2425 Für 12V (0,3 A 25 A) oder 24V (0,3 A 25 A)

Haben Sie über elektronisches Schließfachmanagement nachgedacht? Ein Schließfach ist ohne ein solides Schloss nicht komplett.

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Anforderungsliste für asanetwork konforme DMS (Dealer Management Systeme)

mit SD-Karte SD-Karte Inhalt

Beschreibung EtherNet/IP Prozessschnittstelle

Buddy - Algorithmus Handbuch für Endnutzer Stand

Emergency Room für Projektleiter

Kurzbedienungsanleitung Empfänger für Programmierung Szenentasten für Szene 1 bis 3 Taste für AUTO Taste für HAND

Java: Vererbung. Teil 3: super()

Business Application Framework für SharePoint Der Kern aller PSC-Lösungen

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

Projekte Packen, Kopieren und Versenden

DriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH

Galaxy V7 in Deutsch ist ab sofort frei gegeben. Die Versionen Französisch, Italienisch und Englisch folgen spätestens Ende Oktober 2012.

bestens ENDLICH: DIE PRAXISSOFTWARE, DIE BESTENS FUNKTIONIERT klar aktuell mobil einfach alles alles WIE SIE ES SICH WÜNSCHEN!

Computeria Solothurn

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Bedienungsanleitung. Mailboxsystem

Software Release Notes

Algorithmen mit Python

Unternehmensname Straße PLZ/Ort Branche Mitarbeiterzahl in Deutschland Projektverantwortlicher Funktion/Bereich * Telefon

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Transkript:

mit Energiesparfunktionen für Low-Power Applikationen 2012 by roger.weber@bfh.ch

Low-Power Applikationen Portable und Batteriebetriebene Geräte Quelle: Bayer Vital GmbH Quelle: BFH-TI Quelle: www.garmin.com Quelle: handy-tests.net Quelle: www.neukomm.com Ziel: Hohe Batterielebensdauer Auswirkungen auf und Software Slide 2

Inhalt Mikroprozessor Peripherie Speisung Pull-up und Pull-down Widerstände Ansätze mit zyklischen Software-Systemen Interrupts CPU ausschalten Zeitgesteuert Einführung Energy Management Framework (EMF) Zusammenfassung Slide 3

/ Mikroprozessor Wahl des Mikroprozessors Wichtige Kriterien für die Wahl des Mikroprozessors: Tiefer Energiebedarf Verschiedene Energy-Modes (run, standby, sleep...) Gutes Verhältnis Rechenleistung / mw Kurze Wake-up Zeiten Oszillator: on/off, verschiedene Clock-Frequenzen On-Chip Peripherie ausschaltbar Durch das Design und die Software zu realisieren: Minimale Zeit im Run-Mode, maximale Zeit im besten Low-Power Mode. Slide 4

/ Mikroprozessor Wahl des Mikroprozessors Slide 5

/ Mikroprozessor Wahl des Mikroprozessors Beispiel: Energy Micro EFM32 5 verschiedene Energy-Modes: EM0 bis EM4. Peripherie läuft unabhängig von der CPU. Daten werden durch die DMA von der Peripherie ins RAM kopiert. Quelle: EFM32 Introduction White Paper Slide 6

/ Peripherie Externe Peripherie Wichtige Kriterien für die Wahl der Peripherie: Low-Power Schnelle Kommunikation (Reduktion run-time) Externe Peripherie bei Nichtgebrauch ausschalten: Slide 7

/ Speisung Speisung Bei Knopfzellen-Batterien (Lithium, Silberoxid): Problem Innenwiderstand beachten. Spannung kann kurzzeitig einbrechen. Grosser Stützkondensator parallel zur Batterie. Low-Power Speicher. Bauelemente mit möglichst tiefer Versorgungsspannung. Akku (z.b. LiFePo4), mit oder ohne PV Eigenentladung Akku beachten! grössere Ströme möglich. Slide 8

/ Pull-up und Pull-down Pull-up und Pull-down Widerstände Widerstände hochohmig wählen (wenn möglich hochohmiger als Application Notes). Output bei Nichtgebrauch im Tristate. Slide 9

/ Interrupts Zyklische Software-Systeme, ohne Interrupts Endlosschleife im Hauptprogramm. Die einzelnen Funktionen werden zyklisch aufgerufen. Eingänge werden gepollt. CPU wartet darauf, dass etwas passiert. Vorteile: Einfache Implementation. Einfache Kommunikation über shared data. Nachteile: Langsame Reaktionszeit (= Zykluszeit). Zykluszeit ( Real-time ) ist abhängig von der Applikation. Slide 10

/ Interrupts Zyklische Software-Systeme, mit Interrupts Foreground / Background Systeme. Daten werden interruptgesteuert eingelesen. Vorteile: Schnelle Reaktionszeit in der ISR. Nachteile: Interrupt-Latenzzeit steigt. shared Data ist problematisch (inkonsistente Daten). Slide 11

/ Interrupts Energiebilanz zyklische SW, Version 1 (Mit oder ohne Interrupts) Endlosschleife, CPU ist zu 100% ausgelastet. Kein geeigneter Ort, um den Mikroprozessor in einen Low-Power-Mode zu schalten. Slide 12

/ CPU ausschalten CPU punktuell ausschalten Beispiel: Optimierung bei der A/D-Wandlung. A/D-Wandler und Timer aktiv, CPU off. Steuerung über Interrupts. Probleme: Ist mühsam zu programmieren. Welche Peripherie ist aktuell aktiv (im Beispiel ev. auch die UART)? Welches ist der korrekte Energy-Mode? Die Übersicht zu behalten ist schwierig. Ist fehleranfällig. Slide 13

/ CPU ausschalten Energiebilanz zyklische SW, Version 2 CPU während der A/D-Wandlung ausgeschaltet. Bestimmung des geeigneten Energy-Modes ist schwierig. Slide 14

/ zeitgesteuert Zeitgesteuerte -Systeme Jeder Zyklus wird durch einen Timer-Interrupt gestartet. Eingänge gepollt oder interruptgesteuert. Vorteile: Zykluszeit ist definierbar. Low-Power-Mode kann nach Abschluss eines Zyklus aktiviert werden. Nachteile: Interrupt-Latenzzeit, Shared Data. Slide 15

/ zeitgesteuert Energiebilanz zyklische SW, Version 3 CPU während der A/D-Wandlung ausgeschaltet. CPU am Schluss eines Zyklus ausgeschaltet. Slide 16

/ zeitgesteuert Beispiel Geodatenlogger GDL2 Silberoxid-Batterie: 8mAh, 1.5V Betriebsdauer 10 Monate Gewicht Elektronik und Batterie: 320 mg Slide 17

/ Einführung Einführung in Aufteilung der Applikation in Tasks: Tasks führen Code aus, laufen quasi parallel. Preemptive Scheduling: Der Task mit der höchsten Priorität wird ausgewählt. Slide 18

/ Einführung Einführung in Intertask-Kommunikation: Datenaustausch über Messages Synchronisation mit Semaphoren, Events... Slide 19

/ Einführung Einführung in Taskzustände Slide 20

/ Einführung Einführung in Der Idle-Task: Wird ausgeführt, wenn keine anderen Tasks laufen. Ideal für die Implementation des Power-Managements. while(1) {... Select best possible energy mode; Start energy mode;... } Problem: Wie wird der korrekte Energy-Mode bestimmt? Unterstützung durch die Applikation erforderlich. Energy Management Framework ist hilfreich. Slide 21

/ Einführung Die Vorteile eines Solides Fundament für die Software-Architektur, erleichtert das Design. Schnellstmögliche Reaktion auf Ereignisse: Der Task mit der höchsten Priorität wird ausgeführt. Toolbox mit Messages-Queues, Timeouts usw. Implementation des Power-Managements im Idle-Task gut möglich. Slide 22

/ Einführung Anforderungen an das für Low-Power Kleine Speicherbelegung. Geringer Overhead: Schnelles Task-Switching. Schnelle Intertask-Kommunikation. Portierung für Low-Power Prozessoren. Support für Power-Management. Slide 23

/ Einführung Beispiel A/D-Wandler Task AD Task void vadtask(void *pvdata){... while(1){ /* Wait for trigger to start A/D-Conversion */... AD_StartConversion(); /* block task until conversion is done */ OS_QueueReceive(ad_queue, &buffer, timeout); } } AD ISR void AD_ISR(void) {... OS_QueueSendFromISR(ad_queue, &data);... } Slide 24

/ EMF Energy Management Framework, EMF Support für die Programmierung der Energy-Modes mit Hilfe eines High-Level Frameworks. Minimaler Aufwand für Applikations-Entwickler. Festlegen der erforderlichen Energy-Modes in den Tasks und ISRs mit Hilfe von API-Funktionen. Weniger fehleranfällig. es mit EMF-Unterstützung: AVIX-RT, IAR-System, Add-on für free. Slide 25

/ EMF Implementation eines EMFs, interne Tabellen Die erforderlichen Energy-Modes für Tasks und ISR werden im EMF in Tabellen verwaltet. Slide 26

/ EMF Implementation eines EMFs, Idle-Task void OS_IdleTask(void) {... #if ( configuse_powermanager == 1 ) vpmidlesleepmode(); #endif } void vpmidlesleepmode(void) { unsigned portchar sleep;... /* Select best possible energy mode */ sleep = ucpmgetsleepmode(); /* Start energy mode */ xpmgotosleepmode(sleep); /* WFE() */... } Slide 27

/ EMF Beispiel API-Funktionen EMF Quelle: Energy Aware for EFM32, Angelo Spalluto Slide 28

/ EMF Beispiel Applikation mit EMF void vadtask(void *pvdata){... while(1){ /* Wait for trigger to start A/D-Conversion */... xpmsetsleepmode(em1); AD_StartConversion(); /* block task until conversion is done */ OS_QueueReceive(ad_queue, &buffer, timeout); xpmsetsleepmode(em3); } } void AD_ISR(void){... OS_QueueSendFromISR(ad_queue, &data);... } Slide 29

/ EMF Beispiel Applikation mit EMF Slide 30

für die Entwicklung Effizient optimierender Compiler, verkürzt die run-time. mit Support für das Energy-Management, Verknüpfung der Strommessung mit dem Code. Beispiele: PowerScale von Hitex EnergyAware Profiler von Energy Micro DC Power Analyzer von Agilent Technologies Slide 31

Beispiel energyaware Profiler (Energy Micro) Bemerkung: for-schleife im vledtask nur für Demo-Zwecke, müsste durch ein vtaskdelay() ersetzt werden. Slide 32

Zusammenfassung Was braucht es für die Entwicklung von Low-Power Applikationen? Kow-How der Entwickler. Low-Power Mikroprozessor mit verschiedenen EnergyModes. Einen effizient optimierenden Compiler und mit Support für das Energy-Management. Effizientes, geringe Speicherbelegung und schnelles Task-Switching. mit Energy Management Framework. Slide 33