Skip to content

Layerbasierte Embedded-Systems-Laborübung mit MSP430F5335 und Crazy Car Plattform. Ziel ist die Entwicklung eines autonomen Mini-Fahrzeugs inkl. GPIO, Timer, PWM, ADC (DMA), SPI-Display, Sensorik und Regelalgorithmen in C. Projektstruktur mit HAL, DL, AL. Entwicklung mit Code Composer Studio.

Notifications You must be signed in to change notification settings

Electronic-and-Computer-Engineering/EmbeddedSystems

Repository files navigation

EmbeddedSystems

Layerbasierte Embedded-Systems-Laborübung mit MSP430F5335 und Crazy Car Plattform. Ziel ist die Entwicklung eines autonomen Mini-Fahrzeugs inkl. GPIO, Timer, PWM, ADC (DMA), SPI-Display, Sensorik und Regelalgorithmen in C. Projektstruktur mit HAL, DL, AL. Entwicklung mit Code Composer Studio.

Laborübersicht

Dieses Repository begleitet die Embedded-Systems-Laborreihe im Studiengang Elektronik und Computer Engineering (FH JOANNEUM). Im Zentrum steht die systematische Entwicklung eines autonomen Fahrzeugs (Crazy Car) auf Basis des MSP430F5335-Mikrocontrollers.

Die Übung vermittelt praxisnah:

  • Hardwarenahe C-Programmierung
  • Strukturierte Layer-Architektur (HAL / DL / AL)
  • Debugging, Registerzugriffe, ISR
  • Modularisierung und Wiederverwendbarkeit von Komponenten

Unterlagen

Kapitelübersicht & Aufgabenstellungen

1–3: Einführung, GPIO, Timer
  • Überblick zur Crazy Car Platine
  • Softwarearchitektur: HAL, DL, AL
  • Projektstruktur in CCS
  • Git-Versionierung & Setup
  • GPIO-Initialisierung
  • Interruptgesteuerte Tasterauswertung
  • Performancevergleich: Integer vs. Float
  • Debugging (Breakpoints, Register, Expressions)
  • Unified Clock System (UCS)
  • TimerB0: ISR-basierte LED/PWM-Steuerung
  • Frequenzmessung per Oszilloskop
4–6: PWM, SPI, Display
  • PWM mit TimerA1
  • Ansteuerung von Servo & ESC
  • Driver Layer für Lenkung und Gas
  • USCI_B1 SPI-Konfiguration
  • Interruptgesteuerte Übertragung
  • CS-Signal Handling
  • Displayinitialisierung (ST7565)
  • Zeichenausgabe, Cursorpositionierung
  • Zeichentabelle und Clear-Routinen
7-9: ADC, DMA, Sensorik
  • Einrichtung des ADC12_A
  • Timer-gesteuerte Abtastung (120 Hz)
  • Zwischenspeicherung in Datenstruktur
  • DMA0 für automatischen Speichertransfer
  • Status-Flag Handling
  • Messung und Darstellung der Sensor-Kennlinie
  • Linearisierung: Lookup-Table vs. Approximation
  • Filterung
10: Fahralgorithmen
  • Zustandsautomat: Links / Mitte / Rechts
  • Regler (z. B. PID) für Lenkung und Geschwindigkeit
  • Umsetzung einfacher Fahrstrategien:
    • Bandeverfolgung
    • Spurmitte halten
    • Kurvenkompensation
  • Nutzung aller verfügbaren Sensoren

Ziele

  • Modularisierung der Embedded Software (Layerstruktur)
  • Verständnis für low-level Hardwareansteuerung
  • Entwicklung von Steuerungs- und Regelalgorithmen
  • Erweiterung um zusätzliche Peripherie und Sensordatenverarbeitung
  • Umsetzung eines lauffähigen autonomen Systems auf Mikrocontroller-Basis

Projektstruktur

Die Projektstruktur folgt dem klassischen Layer-Prinzip:

  • HAL – Hardware Abstraction Layer (Registerzugriff)
  • DL – Driver Layer (Komponentensteuerung)
  • AL – Application Layer (Applikationslogik, Statemachine)
  • main.c – Einstiegspunkt, Systeminitialisierung
  • include – Globale Header und Definitionen

Verwendete Tools

  • Mikrocontroller: MSP430F5335 (Texas Instruments)
  • Entwicklungsumgebung: Code Composer Studio (TI)
  • Debugger: Spy-by-Wire / JTAG
  • Dokumentation: TI User Guide, Schaltpläne, Datenblätter
  • Versionsverwaltung (optional empfohlen): GitLab, GitHub, Git

Voraussetzungen

  • Grundkenntnisse in C (Bitmasken, Pointer, Headerstrukturen)
  • Verständnis für Mikrocontroller-Peripherie
  • Umgang mit Code Composer Studio und Debugging-Werkzeugen

Git / Versionierung

Es wird empfohlen, das Projekt versionsverwaltet in einem GitLab- oder GitHub-Repository zu entwickeln. Ein typischer Initialisierungsvorgang:

git init
git remote add origin https://gitlab.com/<benutzer>/<projekt>.git
git add .
git commit -m "Initial commit"
git push -u origin master

About

Layerbasierte Embedded-Systems-Laborübung mit MSP430F5335 und Crazy Car Plattform. Ziel ist die Entwicklung eines autonomen Mini-Fahrzeugs inkl. GPIO, Timer, PWM, ADC (DMA), SPI-Display, Sensorik und Regelalgorithmen in C. Projektstruktur mit HAL, DL, AL. Entwicklung mit Code Composer Studio.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published