<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<document>
<title>Micro-Controller-Systeme</title>
<cid>MST.MCS</cid>
<sapsubmodule>P231-0059</sapsubmodule>
<bkey>mst2</bkey>
<ctypes>
<hours>1</hours>
<type>V</type>
<hours>3</hours>
<type>SU</type>
</ctypes>
<cp>5</cp>
<semester>5</semester>
<mandatory>ja</mandatory>
<language>Englisch/Deutsch</language>
<exam>Projektarbeit</exam>
<curriculum>
<curriculum_entry>
<cid>MST.MCS</cid>
<branch>Mechatronik/Sensortechnik</branch>
<semester>5</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>MST.MCS</cid>
<branch>Mechatronik/Sensortechnik</branch>
<semester>5</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
</curriculum>
<workload>
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtaufwand des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Stunden/ECTS Punkt). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
</workload>
<prerequisites>
<prerequisite>
<pfcid>MST.MPR</pfcid>
<pftitle>Mikroprozessortechnik</pftitle>
</prerequisite>
<prerequisite>
<pfcid>MST.TPR</pfcid>
<pftitle>Technische Programmierung</pftitle>
</prerequisite>
</prerequisites>
<prerequisitesfor>
</prerequisitesfor>
<convenor>Prof. Dr.-Ing. Jürgen Schäfer</convenor>
<convenor-person-key>jus</convenor-person-key>
<lecturers>
<lecturer>Prof. Dr.-Ing. Jürgen Schäfer</lecturer>
<lecturer-person-key>jus</lecturer-person-key>
</lecturers>
<objectives>Die  Studierenden  erlernen anhand einer modernen 32-Bit-RISC-Architektur den Aufbau und die Arbeitsweise eines Mikrocontrollers inklusive der zugehörigen Peripherie (USART, SPI, I2C, RTC, GPIO, Timer) kennen. Sie lernen die Methoden zur Abstraktion der verwendeten Hardware, sie erkennen mögliche Probleme bzgl. Test und Wartung der Software bereits in der Design-Phase und werden in der Lage versetzt unterschiedliche Implementierungsvarianten qualitativ zu beurteilen.</objectives>
<content>1. Werkzeuge der Softwareerstellung
- Entwicklungsumgebung µVison ARM-IDE
- Wichtige Unterstützungsprogramme
-- TortoiseSVN
-- Doxygen
2. Wichtige Entwurfsmuster
3. Nebenläufigkeit
- Problematik
- Lösungsmöglichkeiten
-- Compare and Swap
-- Load link/Store conditional
4. Abstraktion der Hardware (HAL)
5. Anwendungen aus der Praxis (exemplarisch)
- Abstrakte Implementierung einer Kommunikationsschnittstelle am Beispiel eines Interfaces zum Empfang und Senden 
-- einzelner Datenbytes einer (seriellen) Schnittstelle und
-- von Datenpaketen
- Verwendung von Rückruf-Methoden in Verbindung mit Interrupts (Inversion of Control)
- Realisierung eines Consumer-producer-Modells zur Datenverarbeitung in mechatronischen Systeme
</content>
<media>Seminaristischer Unterricht + eigenverantwortliche Projektarbeit</media>
<literature>Jospeh Yiu: &quot;The Definite Guide to the ARM Cortex-M3&quot;, Newnes 
Bruce P. Douglass: &quot;Design Patterns for Embeddd Systems in C&quot;, Newnes
Daniel W. Lewis: &quot;Fundamentals of Embedded Software with the ARM Cortex-M3&quot;, Pearson International Ed.
Thomas Eißenlöffel: &quot;Embedded-Software entwickeln&quot;, dpunkt.verlag
J. A. Langbridge: Professional Embedded ARM Development, John Wiley &amp; Sons, 2014
ST: &quot;RM0008 Reference Manual&quot;, www.st.com
ARM: &quot;ARM Compiler toolchain, Compiler Reference&quot;, http://infocenter.arm.com/help 
ARM: &quot;ARM Compiler toolchain, Usiong the Compiler&quot;, http://infocenter.arm.com/help

</literature>
<offered>
</offered>
<moduldb-query>Sun Jun  7 23:01:31 CEST 2026, CKEY=xmids, BKEY=mst2, CID=[?], LANGUAGE=de, DATE=07.06.2026</moduldb-query>
</document>
