Technische Universität Braunschweig
  • Study & Teaching
    • Beginning your Studies
      • Prospective Students
      • Degree Programmes
      • Application
      • Fit4TU
      • Why Braunschweig?
    • During your Studies
      • Fresher's Hub
      • Term Dates
      • Courses
      • Practical Information
      • Beratungsnavi
      • Additional Qualifications
      • Financing and Costs
      • Special Circumstances
      • Health and Well-being
      • Campus life
    • At the End of your Studies
      • Discontinuation and Credentials Certification
      • After graduation
      • Alumni*ae
    • For Teaching Staff
      • Strategy, Offers and Information
      • Learning Management System Stud.IP
    • Contact
      • Study Service Centre
      • Academic Advice Service
      • Student Office
      • Career Service
  • Research
    • Research Profile
      • Core Research Areas
      • Clusters of Excellence at TU Braunschweig
      • Research Projects
      • Research Centres
      • Professors‘ Research Profiles
    • Early Career Researchers
      • Support in the early stages of an academic career
      • PhD-Students
      • Postdocs
      • Junior research group leaders
      • Junior Professorship and Tenure-Track
      • Habilitation
      • Service Offers for Scientists
    • Research Data & Transparency
      • Transparency in Research
      • Research Data
      • Open Access Strategy
      • Digital Research Announcement
    • Research Funding
      • Research Funding Network
      • Research funding
    • Contact
      • Research Services
      • Academy for Graduates
  • International
    • International Students
      • Why Braunschweig?
      • Degree seeking students
      • Exchange Studies
      • TU Braunschweig Summer School
      • Refugees
      • International Student Support
    • Going Abroad
      • Studying abroad
      • Internships abroad
      • Teaching and research abroad
      • Working abroad
    • International Researchers
      • Welcome Support
      • PhD Studies
      • Service for host institutes
    • Language and intercultural competence training
      • Learning German
      • Learning Foreign Languages
      • Intercultural Communication
    • International Profile
      • Internationalisation
      • International Cooperations
      • Strategic Partnerships
      • International networks
    • International House
      • About us
      • Contact & Office Hours
      • News and Events
      • International Days
      • 5th Student Conference: Internationalisation of Higher Education
      • Newsletter, Podcast & Videos
      • Job Advertisements
  • TU Braunschweig
    • Our Profile
      • Aims & Values
      • Regulations and Guidelines
      • Alliances & Partners
      • The University Development Initiative 2030
      • Foundation University
      • Facts & Figures
      • Our History
    • Career
      • Working at TU Braunschweig
      • Vacancies
    • Economy & Business
      • Entrepreneurship
      • Friends & Supporters
    • General Public
      • Check-in for Students
      • The Student House
      • Access to the University Library
    • Media Services
      • Communications and Press Service
      • Services for media
      • Film and photo permits
      • Advices for scientists
      • Topics and stories
    • Contact
      • General Contact
      • Getting here
  • Organisation
    • Presidency & Administration
      • Executive Board
      • Designated Offices
      • Administration
      • Committees
    • Faculties
      • Carl-Friedrich-Gauß-Fakultät
      • Faculty of Life Sciences
      • Faculty of Architecture, Civil Engineering and Environmental Sciences
      • Faculty of Mechanical Engineering
      • Faculty of Electrical Engineering, Information Technology, Physics
      • Faculty of Humanities and Education
    • Institutes
      • Institutes from A to Z
    • Facilities
      • University Library
      • Gauß-IT-Zentrum
      • Professional and Personnel Development
      • International House
      • The Project House of the TU Braunschweig
      • Transfer Service
      • University Sports Center
      • Facilities from A to Z
    • Equal Opportunity Office
      • Equal Opportunity Office
      • Family
      • Diversity for Students
  • Search
  • Quicklinks
    • People Search
    • Webmail
    • cloud.TU Braunschweig
    • Messenger
    • Cafeteria
    • Courses
    • Stud.IP
    • Library Catalogue
    • IT Services
    • Information Portal (employees)
    • Link Collection
    • DE
    • EN
    • IBR YouTube
    • Facebook
    • Instagram
    • YouTube
    • LinkedIn
    • Mastodon
Menu
  • Organisation
  • Faculties
  • Carl-Friedrich-Gauß-Fakultät
  • Institutes
  • Institute of Operating Systems and Computer Networks
  • Open Theses
Logo IBR
IBR Login
  • Institute of Operating Systems and Computer Networks
    • News
    • About us
      • Whole Team
      • Directions
      • Floor Plan
      • Projects
      • Publications
      • Software
      • News Archive
    • Connected and Mobile Systems
      • Team
      • Courses
      • Theses
      • Projects
      • Publications
      • Software
      • Datasets
    • Reliable System Software
      • Overview
      • Team
      • Teaching
      • Theses & Jobs
      • Research
      • Publications
    • Algorithms
      • Team
      • Courses
      • Theses
      • Projects
      • Publications
    • Microprocessor Lab
    • Education
      • Winter 2025/2026
      • Summer 2025
      • Theses
    • Services
      • Library
      • Mailinglists
      • Webmail
      • Knowledge Base
      • Wiki
      • Account Management
      • Services Status
    • Spin-Offs
      • Docoloc
      • bliq (formerly AIPARK)
      • Confidential Technologies
    • Research Cooperations
      • IST.hub

Abhärtung von Programmen in fehleranfälligen WSNs

Student(visible for staff only)
SupervisorProf. Dr. Ulf Kulau
Arthur Martens
ProfessorProf. Dr.-Ing. Lars Wolf
ProjectPotatoNet
IBR GroupCM (Prof. Wolf)
TypeBachelor Thesis
Statusfinished
Start2015-07-01

Einleitung

Sensornetze sind sehr flexibel einsetzbare Rechnernetze aus Sensorknoten. Diese lassen sich sehr vielseitig einsetzen z. B. als Temperatur-, Luftfeuchtigkeit- oder auch Schadstoffsensor. Ein Problem dabei ist, dass diese Sensorknoten, sobald die eingebaute Batterie leer ist, keine weiteren Daten liefern können und gewartet werden müssen. Um diese Wartungszyklen zu vergrößern, kann entweder die Laufzeit der Batterie verlängert oder der Energieverbrauch der Sensorknoten verringert werden.

Auf modernen Mikrocontrollern, die in diesen Sensorknoten eingesetzt werden, gibt es jedoch nur noch wenige Möglichkeiten, diese Energieeffizienz weiter zu steigern. Eine Mög- lichkeit dazu ist das Undervolting, dabei wird der Mikrocontroller mit einer Spannung unterhalb der vom Hersteller spezifizierten Höhe versorgt und dadurch die Lebenszeit des Sensorknotens um bis zu 42% verlängert. Dadurch können jedoch Fehler bei der Ausführung von Aufgaben auf dem Mikrocontroller entstehen, die die ausgegebenen und berechneten Daten verfälschen.

Das Ganze könnte Anwendung finden in Sensorknoten, die beständig Daten senden müssen, z. B. ein Temperatursensor, der alle 10 Sekunden einen Wert sendet um Waldbrände zu erkennen. Bei diesen kann ein einzelner falsch positiver Wert ignoriert werden, ein falsch negativer Wert sollte jedoch nie ausgegeben sein. Momentan kann aber nicht sichergestellt werden, dass im kritischen Fall der Mikrocontroller nur zuverlässig arbeitet. Es muss also eine Art abgesicherter Modus eingeführt werden, der aufgerufen wird, sobald hier z. B. eine bestimmte Temperatur gemessen wird, in dem die Funktionen keine Fehler hervorbringen, die durch Undervolting verursacht werden könnten.

Um dies zu erreichen, wird in dieser Arbeit versucht solch sicherheitskritischen Funktionen auf eine sichere, aber schwächere, Microcontroller Unit (MCU) auszulagern, während eine Haupt-MCU, die mit Undervolting betrieben wird die normalen Funktionen ausführt. Um die Sicherheit der Daten auch auf der fehlerbehafteten MCU zu gewährleisten werden die internen Variablen durch selbst entwickelte Reliable Types vor Fehlern abgesichert.

Aufgabenstellung

ür die generelle Funktion des Undervolting, dient der ATtiny84 in dieser Arbeit als sichere Instanz und soll neben den periodischen Selbsttests nur bei Bedarf geweckt werden. Nach Außen soll der ATtiny84 als I2C EEPROM erscheinen. Er kann also einfach beschrieben und ausgelesen werden, indem man eine Adresse angibt. Intern besitzt der ATtiny84 zwei Puffer, aus denen die empfangenen Daten ausgelesen bzw. in die die zu sendenden Daten hineingeschrieben werden.

Um die Datenerhaltung auf dem potenziell fehlerbehafteten ATmega1284p zu garantieren, werden sogenannte Reliable Types eingeführt. Diese sollen zuerst für verschiedene kleine Payloadgrößen (1, 2, 4, 8 Bytes) implementiert werden. Anschließend soll das Konzept erweitert und generisch für beliebige Größen implementiert werden. Die Sicherheit dieser Typen wird dadurch hergestellt, dass sämtliche Daten in einem Container mit einer Prüfsumme versehen werden (Abb. 1 links). Der Zugriff auf die Daten kann nur über geeignete Methoden nicht aber direkt erfolgen, dadurch wird sichergestellt, dass die Daten vor jeglicher Nutzung mit der Prüfsumme verglichen und nur eine korrekte Variable herausgegeben wird . Über den I2C Bus, der zur Kommunikation zwischen den MCUs benutzt wird, werden jedoch nur die ungesicherten Variablen gesendet, um einerseits Zeit zu sparen und da andererseits der I2C Bus als sichere Übertragung angesehen wird. Beim Erstellen der Container kann zusätzlich eine Notfall-Funktion mitgegeben werden, die aufgerufen wird, sollte ein Fehler in der Variable gefunden werden. Dies kann z. B. ein Abbruch des Funktionsaufrufes oder das Setzen der Variable auf einen Standardwert sein.

Allgemein sollen die Reliable Types Funktionen zum Allozieren des Speichers, Updaten der Variablen, Kopieren der Variablen eines Reliable Types in einen anderen, Vergleichen zweier Reliable Types und zum Ausgeben der Variable besitzen. Die Kontrolle, ob die Variable mit der Prüfsumme übereinstimmt, wird bei der Ausgabe, dem Kopieren und dem Vergleich zweier Reliable Types vorgenommen.

Sobald ein Funktionsaufruf eintritt wird zuerst daraufhin geprüft, ob der Aufruf zuverlässig ausgeführt werden soll, also auf dem ATtiny84. Falls dem so ist, werden alle nötigen Daten aus dem Reliable Type zusammen mit dem Funktionsaufruf über den I 2 C Bus übertragen. In einer Erweiterung sollen für die Ausführung eventuell benötigte statische und globale Variablen mit an die sichere MCU versendet werden. Der ATtiny84 führt dann die Funktion mit den entsprechenden Daten aus und platziert das Ergebnis in seinem Ausgangspuffer. Von dort liest der ATmega1284p die Daten ein, verpackt diese wieder in einen Reliable Type und gibt die Ausgabe gegebenenfalls nach außen hin weiter. Die Daten werden ansonsten in den Reliable Types aufbewahrt und bis zu einer etwaigen Nachfrage gelagert.

Intern bekommt jede Funktion eine individuelle Kennung, mit der sie auf dem ATtiny84 vom ATmega1284p aufgerufen werden kann. Die gesendeten Pakete enthalten dann dementsprechend diese Kennung mit den nötigen Daten und zusätzlich eine fortlaufende Nummer, mit der sich mehrere gleiche Funktionsaufrufe voneinander unterscheiden lassen. Die Funktionsaufrufe werden im Eingangspuffer des ATtiny84 in Form einer Queue abgelegt, wobei ein Element die Funktionskennung mit ID und Variablen umfasst. Nach der Ausführung wird ein Paket mit Funktionskennung, ID und gegebenenfalls Rückgabewert in den Ausgangspuffer abgelegt (Abbildung s.o.). Durch Setzen eines Pins kann der ATtiny84 dem ATmega1284p mitteilen, dass Daten bereit liegen, dadurch muss der ATmega1284p nicht andauernd die I2C Leitung belegen und nachfragen, ob der Puffer belegt ist.

Links

  • INGA
  • Undervolting in WSNs
  • Hinweise zur Durchführung von studentischen Arbeiten am IBR

last changed 2015-11-11, 15:13 by Prof. Dr. Ulf Kulau

For All Visitors

Vacancies of TU Braunschweig
Career Service' Job Exchange 
Merchandising

For Students

Term Dates
Courses
Degree Programmes
Information for Freshman
TUCard

Internal Tools

Glossary (GER-EN)
Change your Personal Data

Contact

Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig

P. O. Box: 38092 Braunschweig
GERMANY

Phone: +49 (0) 531 391-0

Getting here

© Technische Universität Braunschweig
Imprint Privacy Accessibility