Enkeltfag Engelsk 5 ECTS

Microcontroller development for advanced IoT using embedded C

Overordnede kursusmål

Dette kursus fokuserer på embedded programmering og udvikling af mikrocontrollere til low-power Internet of Things (IoT) enheder. Dette gøres ved hjælp af embedded C / bare-metal firmwareprogrammering. Formålet med dette kursus er at introducere den studerende til avancerede metoder til udvikling af firmware på ARM-Cortex mikrocontrollere (MCU’er), specielt til IoT-formål. Den studerende skal arbejde med lav-niveau MCU-konfigurering og firmwareudvikling for at konfigurere og anvende timere, interrupts, analog-til-digital-konvertering, forskellige seriel kommunikationsprotokoller samt trådløs kommunikation med IoT-relevante teknologier såsom eksempelvis Lora/LoraWAN, SigFox, BLE og NBIoT/LTE-M samt digitale og analoge sensorer. Arduino IDE vil ikke blive brugt i dette kursus.

See course description in English

Læringsmål

  • Beskrive essensen af – og udfordringerne i Internet of Things.
  • Analysere og planlægge ifht. en optimal implementering af kommunikationsteknologi
  • Implementere embedded C kode i en ARM Cortex-baseret MCU
  • Konfigurere MCU clock’en samt peripherals (interfaces) på et STM32 evalueringsboard
  • Konfigurere GPIOs til seriel kommunikation i en ARM-baseret mikrocontroller (UART, I2C, SPI)
  • Konfigurere GPIOs og anvende ADC/DAC i en ARM Cortex-baseret MCU
  • Udvikle embedded firmware der kan sende/modtage data
  • Implementere UART/SPI/I2C kommunikation i MCU firmware.
  • Beskrive koncepterne bag RTOS og multi-threading
  • Selvstændig analysere og implementere embedded firmware der løser en IoT udfordring
  • Færdiggøre og showcase et selv-udviklet IoT projekt
  • Dokumentere projektarbejde i rapport

Kursusindhold

Formålet med dette kursus er at introducere den studerende til avancerede metoder til udvikling af firmware på ARM-Cortex MCU’er til IoT-formål. Der vil især være fokus på opsætning af MCU’en, for eksempel konfiguration af GPIO’er, UART, interrupts og timere, SPI og I2C kommunikation og analog-digital (ADC/DAC) funktionalitet.
Der vil være en, Arduino-fri, embedded-tilgang til udvikling af mikrocontrollers firmware og det vil give den studerende en forståelse af mulighederne i et embedded system i relation til Internet of Things. Den studerende vil berøre emnet Real-time operating system (RTOS) og kort blive introduceret til hvordan man afvikler flere tråde i ARM-processoren.
Kurset er bygget op omkring forelæsninger og øvelser, hvor den studerende får praktisk erfaring inden for MCU firmware programmering, primært ved brug af STMCubeIDE og STMCubeMX. I løbet af øvelserne vil den studerende lære at konfigurere UART/SPI eller I2C seriel interfaces for at kommunikere med digitale sensorer/moduler. Den studerende vil også lære at konfigurere og anvende den interne analoge-til-digitale konverter (ADC) for at aflæse og digitalisere analoge sensor data.

Kurset vil have fokus på IoT således, at low-power kommunikation, f.eks. LPWAN kommunikationsteknologier (eksempelvis Lora/LoraWAN, SigFox eller NBIoT/LTE-M) og/eller BLE vil blive brugt til trådløs datatransmission under kurset og projektarbejdet.
Den studerende forventes at have forudgående viden om C/C++.

I løbet af kurset vil de studerende planlægge og udvikle deres egne projekter i grupper og evalueret ud fra en præsentation og/eller rapport.

Kursus nøgleord: Embedded systemer, Low-power embedded firmware udvikling til IoT, bare-metal programmering, STM32, Nucleo, Bluepill, CubeIDE, CubeMX, FreeRTOS, tasks and semaphores, no-Arduino.

Anbefalede forudsætninger

34315/34346/34365/34338, C programming experience / Embedded systems / Electronics / Arduino / IoT

Fakultet

Pladsbegrænsning

Maksimum: 15.

Vær opmærksom på, at dette enkeltfagskursus har et begrænset antal studiepladser. Er der for mange tilmeldinger, vil der blive trukket lod om pladserne. Du får besked om, hvorvidt du har fået tildelt en studieplads senest 8 dage før kursusstart.

Se kurset i kursusbasen

Tilmelding

Sprog

Engelsk

Varighed

13 uger

Institut

Electro

Sted

DTU Lyngby Campus

Kursus ID 34373
Kursustype Kandidat
Semesterstart Uge 5
Semester slut Uge 19
Dage tirs 8-12
Pris

7.500,00 kr.

Vær opmærksom på dette kursus har deltager begrænsninger. Læs mere

Tilmelding