Informationstechnik

Referenz ⚙️ Mechatronik 9 Abschnitte Stand 04.09.2026

Wie aus Pegeln Information wird — und wie man sie rechnet, überträgt und schützt: Codierung und Fehlerschutz, Rechnerarchitektur und Befehlssätze, Betriebssysteme und Echtzeit, Softwaretechnik, Netzwerke, Funk, Signalverarbeitung und Security.

01 / 09Start & Landkarte

Informationstechnik fragt, wie aus Spannungspegeln Bedeutung wird — und wie man sie rechnet, speichert, überträgt und schützt. Die Logik dahinter steht im Modul Elektronik; hier beginnt es dort, wo aus Gattern ein Rechner wird und aus Bits ein Protokoll.

Landkarte

Die drei Fragen an jedes System

Wie viel Information entsteht, und wie oft?

Ein Temperatursensor liefert 2 Byte pro Minute, eine Kamera 30 MB pro Sekunde. Daraus folgen Bandbreite, Speicher, Energiebedarf und Übertragungstechnik — nicht umgekehrt.

Was passiert, wenn ein Bit kippt?

Bei einem Temperaturwert nichts Schlimmes, bei einem Firmware-Update das Ende des Geräts. Der nötige Fehlerschutz folgt aus dieser Antwort — siehe Information & Codierung.

Wie schnell muss reagiert werden — und was passiert bei Verspätung?

Die Trennlinie zwischen harter und weicher Echtzeit — siehe Betriebssysteme & Echtzeit.

Wie dieses Modul zum Rest des Hubs steht

Zahlensysteme, Logik, Flipflops, Timing, Speicher — die Hardware, auf der alles hier läuft.
Der Mikrocontroller in der Praxis: Peripherie, Toolchain, RTOS-Einsatz, Debuggen.
I²C, SPI, UART aus Anwendersicht — anschließen, ansprechen, mit dem Logikanalysator prüfen.
Netzwerke und Betriebssysteme in echt: Heimnetz, Dienste, Sicherung.
Grundlage dieses Moduls
  • Andrew S. Tanenbaum, Computerarchitektur und Computernetzwerke, Pearson.
  • Bryant & O'Hallaron, Computer Systems: A Programmer's Perspective, Pearson.
  • Harris & Harris, Digital Design and Computer Architecture, Morgan Kaufmann — der Übergang von der Logik zum Rechner.

02 / 09Information & Codierung

Ein Bit ist die Antwort auf eine Ja-Nein-Frage, deren Ausgang vorher offen war. Je unwahrscheinlicher ein Ereignis, desto mehr Information trägt seine Meldung. Daraus folgt beides: Kompression entfernt Redundanz bis zur Entropiegrenze, Fehlerschutz fügt sie gezielt wieder hinzu. Die Leitfrage beim Schutz ist nie „welcher Code ist der beste“, sondern: Kann ich die Nachricht wiederholen?

Informationsgehalt und Entropie

I(x) = −log₂ p(x)  ·  H = −Σ p(x)·log₂ p(x) I ist der Gehalt eines einzelnen Zeichens in Bit, H die Entropie — der mittlere Gehalt je Zeichen. Beides von Claude Shannon, 1948.
Fairer Münzwurf
p = 0,5 je Ausgang → H = 1 Bit. Maximale Unsicherheit, nichts vorhersagbar.
Gezinkte Münze
p = 0,9 / 0,1 → H ≈ 0,47 Bit. Meist kommt Kopf, die Meldung trägt wenig Neues.
Deutscher Text
Rund 4,1 Bit je Buchstabe bei Einzelbetrachtung, im Kontext etwa 1–1,5 Bit. Genau diese Lücke nutzt jede Textkompression.
Sensorwert
Ein Temperaturwert, der sich pro Minute um 0,1 K ändert, trägt kaum Information — hier lohnt Differenzcodierung statt Absolutwerten.

Die Entropie ist die untere Grenze verlustfreier Kompression. 1 GB Zufallsdaten lässt sich nicht komprimieren; langsam veränderliche Sensordaten dagegen um Größenordnungen, ohne ein Bit zu verlieren.

Kompression

VerfahrenPrinzipVerlustfreiTypisch für
Lauflängencodierung (RLE)Wiederholungen als Paar (Wert, Anzahl)jaFlächige Grafiken, Fax, einfache Sensorprotokolle
HuffmanHäufige Symbole bekommen kurze CodesjaBaustein in DEFLATE, JPEG, MP3
Arithmetisch / ANSGanze Nachricht als eine Zahl im IntervalljaNäher an der Entropiegrenze; Zstandard, AV1, JPEG XL
LZ77 / LZ78Verweise auf frühere VorkommenjaDEFLATE (ZIP, gzip, PNG), LZ4, Zstandard
Delta-CodierungNur die Änderung zum VorgängerjaZeitreihen, Datenlogger, Firmware-Differenzupdates
Transformation (DCT/Wavelet)Umrechnen, dann unwichtige Anteile grob quantisierenneinJPEG, H.264/H.265, AAC
Für Mikrocontroller: heatshrink und LZ4 laufen mit wenigen Kilobyte RAM und passen zu Firmware-Updates und Logdaten. Zstandard ist stärker, braucht aber mehr Speicher. Für reine Zeitreihen schlägt Delta plus Varint fast jeden Allzweckalgorithmus — bei einem Bruchteil des Aufwands.

Kanalkapazität und Codierungsebenen

C = B · log₂(1 + S/N) Shannon-Hartley: Die maximale fehlerfreie Datenrate hängt von Bandbreite und Signal-Rausch-Verhältnis ab. Mehr geht physikalisch nicht.

Zahlenbeispiele: eine Telefonleitung mit 3,1 kHz und 30 dB SNR trägt rechnerisch ≈ 31 kbit/s — deshalb war bei Analogmodems Schluss; ein 20-MHz-WLAN-Kanal bei 25 dB SNR ≈ 166 Mbit/s brutto; LoRa arbeitet mit 125 kHz bei −20 dB SNR, also unter dem Rauschpegel, und kommt dabei auf wenige hundert bit/s.

Weil das SNR nur logarithmisch eingeht, ist Bandbreite der wirksamere Hebel — deshalb ziehen Funkstandards in höhere Bänder und nehmen kürzere Reichweite in Kauf (Funk & Wireless). Spreizung wie bei LoRa dreht den Handel um: Rate gegen Empfindlichkeit.

EbeneZielBeispiel
QuellencodierungRedundanz entfernen — möglichst wenig BitsZIP, JPEG, MP3
KanalcodierungRedundanz gezielt hinzufügen — Fehler überstehenCRC, Hamming, Reed-Solomon, LDPC
LeitungscodierungSignalform ans Medium anpassen — Gleichanteil vermeiden, Takt rückgewinnenManchester (10BASE-T), 4B5B, 8b/10b (USB 3, SATA), 64b/66b

Eine lange Folge gleicher Bits hat einen Gleichanteil, den ein Übertrager nicht überträgt, und liefert keine Flanken für die Taktrückgewinnung. 8b/10b garantiert beides und kostet 25 % Overhead; schnellere Standards nehmen 64b/66b mit Scrambler (3 %) — Garantie gegen Effizienz getauscht.

Fehlerschutz: der Werkzeugkasten

VerfahrenOverheadErkenntKorrigiertWo eingesetzt
Parität1 Bitalle ungeradzahligen BitfehlernichtsUART, alter RAM, einfache Protokolle
Prüfsumme8–32 Bitviel, aber nicht systematischnichtsIntel-Hex, NMEA, einfache Sensorprotokolle
CRC-8/16/328–32 Bitalle 1- und 2-Bit-Fehler, alle Bündelfehler bis zur RegisterbreitenichtsCAN, Ethernet, USB, MODBUS, ZIP
Hamming / SECDED3–8 Bit je Wort2 Bit1 BitECC-RAM, Mikrocontroller-Flash
Reed-Solomon2·t Symbole für t FehlerBündelfehlerja, symbolweiseQR-Code, CD/DVD, DVB, RAID 6
Faltungscode + ViterbiFaktor 2–3ja, kontinuierlichGSM, Satellit, GPS
LDPC / Turbovariabelnahe an der Shannon-GrenzeWLAN ab 802.11n, 5G, DVB-S2, moderne SSDs
Kryptografischer Hash256 Bitalles, auch absichtliche ÄnderungnichtsFirmware-Signatur, Integritätsprüfung (Security)
Prüfsumme ist nicht CRC ist nicht Hash. Eine einfache Summe übersieht vertauschte Bytes vollständig. Ein CRC ist gegen zufällige Fehler sehr stark, gegen Manipulation wertlos — zu jeder gewünschten Nachricht lässt sich der passende CRC herstellen. Für Sicherheit braucht es Hash mit Signatur oder einen MAC. Diese drei zu verwechseln ist einer der häufigsten Designfehler in vernetzten Geräten.

CRC in der Praxis

Der CRC behandelt die Nachricht als Polynom über GF(2) und bildet den Rest der Division durch ein Generatorpolynom — in Hardware ein rückgekoppeltes Schieberegister, weshalb fast jeder Kommunikationsbaustein ein CRC-Rechenwerk enthält.

VariantePolynomWo
CRC-8/SAE-J18500x1DFahrzeugbus, kurze Rahmen
CRC-8/MAXIM-DOW0x311-Wire-Sensoren (DS18B20)
CRC-15/CAN0x4599CAN 2.0
CRC-16/CCITT (XMODEM, KERMIT)0x1021Bluetooth, viele Sensorprotokolle
CRC-16/MODBUS0x8005 (gespiegelt 0xA001)MODBUS RTU
CRC-32/ISO-HDLC0x04C11DB7Ethernet, ZIP, PNG
Warum CRC-Implementierungen so oft nicht zusammenpassen: Zum Polynom gehören vier weitere Parameter — Startwert, Ein- und Ausgangsspiegelung und der abschließende XOR-Wert. Gleiches Polynom, andere Parameter: anderes Ergebnis. Der CRC RevEng Catalogue listet die vollständige Parametrisierung aller gebräuchlichen Varianten — die Referenz, wenn ein Gerät die eigene Prüfsumme ablehnt.

Korrigieren: Hamming und Reed-Solomon

Prüfbits an Zweierpotenzstellen

Bei Hamming(7,4) liegen sie auf Position 1, 2 und 4, die Datenbits auf 3, 5, 6, 7. Prüfbit 1 deckt alle Positionen mit gesetztem Bit 0 ab (1, 3, 5, 7), Prüfbit 2 die mit Bit 1 (2, 3, 6, 7), Prüfbit 4 die mit Bit 2 (4, 5, 6, 7).

Das Syndrom zeigt die Fehlerstelle

Beim Empfang alle Prüfgleichungen neu auswerten: Die verletzten Prüfbits ergeben binär gelesen genau die Position des gekippten Bits. Umdrehen, fertig.

SECDED durch ein Zusatzbit

Eine zusätzliche Gesamtparität trennt „ein Fehler, korrigierbar“ von „zwei Fehler, nur erkennbar“. Das ist der Code in ECC-Arbeitsspeicher.
2^k ≥ n + k + 1Nötige Prüfbits k für n Datenbits: 4 Prüfbits für 8 Datenbits, aber nur 7 für 64 — Korrektur wird bei größeren Blöcken relativ billiger.
Reed-Solomon rechnet mit Symbolen
Typisch 8 Bit je Symbol. RS(255, 223) überträgt 223 Datensymbole plus 32 Prüfsymbole und korrigiert bis zu 16 beliebig gestörte Symbole je Block — auch wenn darin alle acht Bits falsch sind. Zusammen mit Verschachtelung genau das Richtige gegen Kratzer und Bündelfehler.
QR-Code als Anschauungsobjekt
Vier Stufen (L 7 %, M 15 %, Q 25 %, H 30 %) bewusst eingeplanter Redundanz — deshalb funktioniert ein QR-Code noch mit aufgedrucktem Logo in der Mitte.

Entscheidungshilfe

SituationEmpfehlung
Serielle Verbindung mit Rückkanal, kurze RahmenCRC-16 plus Neuübertragung bei Fehler
Sensorwert über I²C im selben GerätMeist gar nichts — kurze Leitung. Bei kritischen Werten Plausibilitätsprüfung im Code
Funkverbindung in eine RichtungVorwärtsfehlerkorrektur (im Funkstandard meist enthalten) plus CRC obendrauf
Firmware-UpdateSHA-256 plus Signatur, zwei Speicherbereiche (A/B) mit Rückfallmöglichkeit
Konfiguration im FlashCRC über den Datensatz, zwei Kopien im Wechsel, Sequenznummer (Speicher)
LangzeitarchivPrüfsummen je Datei plus regelmäßiges Nachprüfen (Scrubbing) — ZFS und btrfs tun das automatisch
Quellen

03 / 09Rechnerarchitektur & Befehlssätze

Ein Prozessor holt Befehle, decodiert sie, führt sie aus und schreibt zurück. Alles, was Rechner seit sechzig Jahren schneller gemacht hat, sind Variationen zweier Ideen: mehrere Schritte gleichzeitig ausführen (Pipeline) und den Speicherzugriff verstecken (Cache). Der Befehlssatz darüber ist die Schnittstelle zur Software — praktisch relevant sind drei Familien.

Von-Neumann und Harvard

Von-Neumann

Ein gemeinsamer Speicher für Programm und Daten, ein Bus.

  • Einfach und flexibel; Programme können sich selbst laden
  • Der Bus ist der Flaschenhals: Befehl holen und Daten lesen konkurrieren
  • PCs, die meisten Anwendungsprozessoren

Harvard

Getrennte Speicher und Busse für Programm und Daten, beide Zugriffe im selben Takt.

  • Schneller und deterministischer
  • AVR, PIC, viele DSPs
  • Cortex-M nutzt eine modifizierte Form: getrennte Busse auf einen gemeinsamen Adressraum

Die Pipeline

Befehl 1 Befehl 2 Befehl 3 Befehl 4 IF ID EX MEM WB IF ID EX MEM WB IF ID EX IF ID Nach dem Einlaufen: ein Befehl je Takt fertig — bei fünffacher Latenz des Einzelbefehls
Konflikt (Hazard)UrsacheLösung
DatenkonfliktEin Befehl braucht ein noch nicht zurückgeschriebenes ErgebnisForwarding, sonst Pipeline-Stillstand
SteuerungskonfliktNach einem Sprung ist unklar, welcher Befehl folgtSprungvorhersage; bei Fehlvorhersage wird die Pipeline verworfen
RessourcenkonfliktZwei Stufen brauchen dieselbe EinheitEinheit duplizieren oder Zugriff serialisieren

Warum das für Mechatronik zählt: Tiefe Pipelines mit Sprungvorhersage machen die Ausführungszeit variabel. Für harte Echtzeit ist das ein Problem — deshalb haben Cortex-M0/M3/M4 nur drei Pipelinestufen, und deshalb geben Hersteller für sicherheitskritische Systeme Worst-Case-Zeiten statt Mittelwerten an (Betriebssysteme & Echtzeit).

Speicherhierarchie und Cache

EbeneGrößeZugriffszeitVerhältnis zum Register
Register32–256 Byte< 1 Takt
L1-Cache16–64 kB je Kern3–5 Takte≈ 4×
L2-Cache256 kB – 2 MB10–20 Takte≈ 15×
L3-Cache4–64 MB, geteilt30–60 Takte≈ 45×
DRAMGB200–400 Takte≈ 300×
SSDTB10–100 µs≈ 100 000×
  • Cache-Line: kleinste Einheit, typisch 32 oder 64 Byte. Ein einziges gelesenes Byte holt die ganze Linie.
  • Assoziativität: wie viele Plätze eine Adresse belegen darf. Direkt abgebildet ist billig, aber konfliktanfällig; 4- bis 16-fach ist üblich.
  • Write-Through / Write-Back: sofort in den Hauptspeicher schreiben oder erst beim Verdrängen. Write-Back ist schneller, macht DMA-Zugriffe aber heikel.
  • Kohärenz: Schreibt DMA oder ein zweiter Kern in den Speicher, muss der Cache invalidiert werden. Auf Cortex-M7 mit D-Cache die häufigste Ursache für „DMA liefert alte Daten“.
Die praktische Konsequenz: Ein Cache-Fehltreffer kostet so viel wie hundert Rechenoperationen. Deshalb schlägt ein einfacher Algorithmus auf einem zusammenhängenden Array oft einen theoretisch besseren auf einer verzeigerten Struktur. Datenlayout schlägt Befehlszählen — bei Mikrocontrollern ohne Cache gilt das umgekehrt, dort zählt wieder jeder Befehl.

Was moderne Prozessoren zusätzlich tun

Superskalar
Mehrere unabhängige Befehle je Takt starten. Cortex-M7 ist zweifach superskalar, Anwendungsprozessoren vier- bis achtfach.
Out-of-Order
Befehle umsortiert ausführen, Ergebnisse in Programmreihenfolge zurückschreiben. Viel Durchsatz, viel Fläche und Strom — und unvorhersagbares Zeitverhalten.
SIMD
Ein Befehl auf mehreren Datenwörtern: ARM NEON, Helium (MVE) auf Cortex-M55/M85, RISC-V Vector. Für Filter und Bildverarbeitung Faktor 4 bis 16 (DSP).
Spekulation
Rechnen, bevor feststeht, ob das Ergebnis gebraucht wird. Grundlage von Spectre und Meltdown — Sicherheitslücken aus reiner Leistungsoptimierung.
Mehrkern, oft asymmetrisch
In der Mechatronik üblich: ein Kern Echtzeit, ein Kern Kommunikation und Bedienung (ESP32, i.MX RT, Zynq).
Beschleuniger
Krypto-Einheiten, CRC-Rechenwerke, DSP-Blöcke, NPUs. Sie erledigen in einem Takt, wofür Software hundert bräuchte — vor jeder Optimierung nachsehen, was der Chip mitbringt.

Die drei Befehlssatzfamilien

MerkmalARMRISC-Vx86-64
TypRISC, Load/StoreRISC, Load/StoreCISC, intern in µOps zerlegt
Befehlslänge32 Bit; Thumb-2 gemischt 16/3232 Bit; mit Extension C auch 161–15 Byte, variabel
Allzweckregister16 (AArch32) bzw. 31 (AArch64)3216
Lizenzkostenpflichtig von Armoffen, lizenzfrei implementierbarIntel/AMD, faktisch geschlossen
VerbreitungMikrocontroller, Smartphones, Apple Silicon, ServerMikrocontroller, Beschleuniger, zunehmend Linux-SystemePC, Server, Workstations
Werkzeugeausgereift, riesiges ÖkosystemGCC und LLVM vollständig, Debug-Ökosystem im Aufbauausgereift

Cortex-Familien und RISC-V-Praxis

FamilieZielgruppeKerneMerkmale
Cortex-MMikrocontrollerM0/M0+, M3, M4, M7, M33, M55, M85Deterministisch, NVIC, Thumb-2. M4 mit DSP-Befehlen und FPU, M33 mit TrustZone, M55/M85 mit Helium
Cortex-REchtzeit mit hoher LeistungR5, R52, R82Lockstep für funktionale Sicherheit, eng gekoppelter Speicher (TCM). Festplatten, Modems, Bremssteuergeräte
Cortex-AAnwendungsprozessorenA53, A55, A76, A78, X-SerieMMU, Linux/Android, Out-of-Order ab den A7x-Kernen
RISC-V ist modular
Basis RV32I oder RV64I plus Erweiterungen: M (Multiplikation), A (Atomics), F/D (Fließkomma), C (komprimiert), V (Vektor), B (Bitmanipulation). Gegen die Fragmentierung definiert RISC-V International Profile — RVA23 (2024 ratifiziert) legt fest, was ein Linux-fähiger Anwendungsprozessor mindestens können muss.
Wo es heute steckt
In Mikrocontrollern (ESP32-C3/C5/C6/P4, CH32V, GD32V), als Hilfskerne in größeren Chips (Hazard3 im RP2350, Low-Power-Kerne bei Espressif), als Softcore im FPGA (Speicher & FPGA). Der Umstieg von ARM ist auf C-Ebene unspektakulär; Aufwand entsteht bei Assembler, Startup-Code und Debug-Werkzeugen.

Für die Mechatronik bleibt Cortex-M der Standard — STM32, nRF52/54, RP2350, SAM, LPC. Der Vorteil ist weniger der Kern selbst als die Tatsache, dass Debugger, RTOS und Compiler über alle Hersteller hinweg gleich funktionieren. Die Interruptlatenz ist dort fest zugesichert: 12 Takte bei M3/M4/M7, 15–16 bei M0/M0+.

Assembler und Optimierung

Assembler berechtigt bei

  • Startup-Code und Vektortabelle vor der C-Laufzeit
  • Kontextwechsel im RTOS
  • Taktgenauen Wartezeiten, etwa beim Bit-Banging
  • Spezialbefehlen, die der Compiler nicht erzeugt (Barrieren, WFI, Cache-Operationen)

Meist ein Fehler

  • „Die Schleife in Assembler wird schneller“ — moderne Compiler gewinnen fast immer
  • Ganze Algorithmen, die später gepflegt werden müssen
  • Alles, was portabel bleiben soll

Erst messen, dann optimieren

Ein Zeitzähler um verdächtige Abschnitte oder ein GPIO-Pin am Oszilloskop ist auf Mikrocontrollern das direkteste Werkzeug (Embedded → Debug).

Die üblichen Bremsen kennen

Fließkomma ohne FPU (Faktor 50–200), printf mit Formatierung, Division ohne Hardware-Divider, blockierende Wartezeiten, Zugriffe auf externes RAM. Und: -O2 statt -O0 bringt oft Faktor 3 bis 10.

Algorithmus vor Mikrooptimierung

Nachschlagetabelle statt Winkelfunktion, bessere Komplexität, weniger Neuberechnung — das bringt Größenordnungen, Assembler-Tricks bringen Prozente.
Nützlicher als Assembler schreiben ist Assembler lesen. arm-none-eabi-objdump -d oder der Disassembler im Debugger zeigt, was der Compiler wirklich erzeugt hat: ob eine Optimierung greift, ob eine Variable wegoptimiert wurde (fehlendes volatile), warum eine ISR zu lange braucht. Compiler Explorer macht dasselbe im Browser für beliebige Zielarchitekturen.
Quellen
  • Patterson & Hennessy, Computer Organization and Design — RISC-V Edition; Patterson & Waterman, The RISC-V Reader.
  • Bryant & O'Hallaron, Computer Systems: A Programmer's Perspective, Kapitel 5 und 6.
  • Ulrich Drepper, What Every Programmer Should Know About Memory, kostenlos.
  • ARM Developer Documentation — Architecture Reference Manuals und Cortex-M Technical Reference Manuals mit Pipelinetiefe, Latenzen und Cache-Verhalten.
  • RISC-V Specifications — Basisbefehlssatz, Erweiterungen und Profile.

04 / 09Betriebssysteme & Echtzeit

Ein Betriebssystem verteilt Rechenzeit, Speicher und Geräte auf mehrere Aufgaben. Für die Mechatronik ist die entscheidende Frage nicht „welches OS“, sondern: Gibt es harte Fristen? Wenn ja, zählt nicht die durchschnittliche Reaktionszeit, sondern die schlechteste — und die muss belegbar eingehalten werden.

Harte, feste und weiche Echtzeit

ArtBei FristverletzungBeispiel
HartSystemversagen, möglicherweise PersonenschadenAirbagauslösung, Motorsteuerung, Not-Halt, Flugsteuerung
FestDas Ergebnis ist wertlos, aber ungefährlichEin verspäteter Videoframe wird verworfen
WeichQualitätsverlust, das Ergebnis zählt nochBedienoberfläche reagiert träge, Messwert kommt spät
Echtzeit heißt nicht schnell, sondern pünktlich. Ein System, das garantiert in 10 ms reagiert, ist echtzeitfähig. Eines, das meistens 100 µs braucht und gelegentlich 50 ms, ist es nicht — egal wie schnell der Prozessor ist. Deshalb sind Linux und Windows in Standardform nicht echtzeitfähig, ein 16-MHz-AVR mit sauberer Interruptstruktur dagegen schon.

Prozesse, Threads, Tasks

Prozess
Eigener Adressraum, durch die MMU geschützt. Ein Absturz reißt nichts anderes mit; dafür kostet der Wechsel Zeit.
Thread
Teilt den Adressraum mit den anderen Threads des Prozesses. Schneller umzuschalten, aber ein Fehler kann alles beschädigen.
Task im RTOS
Praktisch ein Thread mit eigenem Stack und eigener Priorität. Kein Speicherschutz, solange keine MPU konfiguriert ist.
Koroutine / Zustandsautomat
Kein eigener Stack, kooperativ, ressourcensparend — und für viele Mikrocontroller-Aufgaben völlig ausreichend (Automaten).

Scheduling

VerfahrenPrinzipEchtzeitfähigWo
KooperativJede Task gibt freiwillig abnur bei diszipliniertem CodeKleine Systeme, Arduino-artige Schleifen
Round RobinJede Task bekommt reihum eine ZeitscheibeneinGleichrangige Hintergrundaufgaben
Prioritätsbasiert, verdrängendDie höchstpriore lauffähige Task läuft — sofortjaFreeRTOS, Zephyr, alle klassischen RTOS
Rate Monotonic (RMS)Kürzere Periode bekommt höhere Prioritätja, mit beweisbarer SchrankeKlassische Auslegung periodischer Tasks
Earliest Deadline FirstNächste Frist zuerstja, theoretisch optimalSelten implementiert, hoher Verwaltungsaufwand
CFS/EEVDF (Linux-Standard)Fairness über RechenzeitanteileneinAllzweckbetrieb
SCHED_FIFO mit PREEMPT_RTPrioritätsbasiert unter Linuxweich bis festIndustrie-PCs, Roboterrahmenwerke
U = Σ (C_i / T_i) ≤ n · (2^(1/n) − 1) Die hinreichende Schranke für Rate Monotonic (Liu & Layland 1973): C_i Rechenzeit, T_i Periode. Für viele Tasks konvergiert sie gegen ln 2 ≈ 69 % — wer periodische Tasks auslegt, plant also mit höchstens zwei Dritteln Auslastung.

Die vier klassischen Nebenläufigkeitsprobleme

Wettlaufsituation (Race Condition)
Zwei Ausführungsstränge greifen ungeschützt auf dieselbe Variable zu; das Ergebnis hängt vom Zufall der Zeitverhältnisse ab und zeigt sich oft erst nach Tagen.
Lösung: kritischen Abschnitt schützen (Mutex, Interrupt sperren) — oder gar keine geteilten Daten.
Verklemmung (Deadlock)
Zwei Tasks warten wechselseitig auf Ressourcen, die die jeweils andere hält.
Lösung: feste Reihenfolge beim Anfordern mehrerer Ressourcen, Zeitüberwachung beim Warten.
Prioritätsinversion
Eine niederpriore Task hält einen Mutex, den eine hochpriore braucht, und wird selbst von einer mittelprioren verdrängt — die hochpriore wartet beliebig lange. Bekanntester Fall: Mars Pathfinder 1997.
Lösung: Prioritätsvererbung im Mutex aktivieren (FreeRTOS und Zephyr können das).
Aushungern (Starvation)
Eine niederpriore Task kommt nie an die Reihe.
Lösung: Auslastung begrenzen, hochpriore Tasks kurz halten, notfalls Prioritäten altern lassen.
Die Regel dahinter: Geteilter Zustand ist die Fehlerquelle, nicht die Nebenläufigkeit selbst. Übergaben laufen am robustesten über eine Queue mit genau einem Schreiber und einem Leser statt über gemeinsame Variablen. Das Hardware-Gegenstück ist der Taktdomänenübergang — dieselbe Logik, andere Ebene (Timing & CDC).

Betriebssysteme in der Mechatronik

SystemSpeicherbedarfCharakterWann sinnvoll
Kein OS („Bare Metal“)Hauptschleife plus InterruptsBis etwa drei nebenläufige Aufgaben oft die beste Wahl
FreeRTOS5–10 kB FlashScheduler, Queues, Semaphore, TimerDer verbreitetste Einstieg; in ESP-IDF und vielen Hersteller-SDKs enthalten
Zephyr10–50 kBVollständiges RTOS mit Treibermodell, Netzwerkstack, DevicetreeWenn Portabilität, Konnektivität und langfristige Pflege zählen. Halbjährliche Releases, aktuell 4.4 (April 2026)
RIOT / NuttX / ThreadX10–60 kBAlternativen mit eigenen Schwerpunkten (IoT, POSIX-Nähe, Zertifizierbarkeit)Bei speziellen Anforderungen
Embedded Linuxab ~16 MB RAMVollwertiges OS mit MMU, Netzwerk, DateisystemBedienoberflächen, Kameras, komplexe Kommunikation — Echtzeit nur mit PREEMPT_RT und dann nur weich bis fest
Linux + PREEMPT_RTVerdrängbarer Kernel, Latenzen im zweistelligen MikrosekundenbereichRoboterrahmenwerke, Industrie-PCs. Seit Kernel 6.12 (2024) vollständig im Hauptkernel
Asymmetrisch (AMP)Ein Kern Linux, ein Kern RTOS oder Bare MetalDer übliche Aufbau moderner Antriebs- und Robotersteuerungen
Wann ein RTOS mehr schadet als nützt: Bei zwei periodischen Aufgaben und einer Interruptquelle ist eine saubere Hauptschleife mit Zeitscheiben einfacher zu verstehen, leichter zu debuggen und braucht weniger RAM. Ein RTOS lohnt ab dem Punkt, an dem mehrere Aufgaben blockierend warten müssen — auf Netzwerk, auf Benutzer, auf langsame Peripherie.

Die Praxis steht nebenan: Tasks anlegen, Stacks dimensionieren, Queues und Semaphore benutzen, Interruptroutinen schreiben und Prioritäten vergeben — das behandelt Embedded & Firmware → RTOS und → Interrupts am konkreten Controller. Hier steht nur, warum die Verfahren so aussehen, wie sie aussehen.

Quellen

05 / 09Softwaretechnik & Werkzeuge

Die Werkzeuge entscheiden über Tempo und Nerven. Versionsverwaltung, ein reproduzierbarer Build, automatische Tests und statische Analyse kosten am Anfang einen Tag und sparen über die Projektlaufzeit Wochen — im Bastelprojekt genauso wie im Produkt.

Git — das Minimum, das man wirklich braucht

BefehlWas er tutWann
git init / cloneRepository anlegen oder holenEinmal am Anfang
git statusWas ist geändert, was vorgemerktStändig
git add -pÄnderungen häppchenweise vormerkenFür saubere, kleine Commits
git commit -mStand festschreibenNach jeder abgeschlossenen Teilaufgabe
git diff · git log --onelineWas hat sich geändert, was ist passiertVor jedem Commit, bei jeder Fehlersuche
git switch -c nameZweig für ein ExperimentWann immer der Ausgang offen ist
git stashHalbfertiges kurz weglegenWenn dringend etwas dazwischenkommt
git bisectFehlerhaften Commit binär eingrenzen„Früher lief das doch“ — findet die Ursache in wenigen Schritten
git tag -a v1.0Stand markierenBei jeder ausgelieferten Firmware und jeder gefertigten Platine
Für Hardwareprojekte: KiCad-Dateien, Stücklisten, Datenblätter und Gehäusemodelle gehören mit ins Repository. KiCad speichert Text und lässt sich diffen; für große Binärdateien (STEP, Bilder) gibt es Git LFS. Ein Tag je gefertigter Platine klärt später zweifelsfrei, welche Version im Gerät steckt (Leiterplatte & KiCad → Fertigung).

Build-Systeme und Reproduzierbarkeit

SystemCharakterTypisch für
MakeAlt, überall vorhanden, eigenwillige SyntaxKleine Projekte, Skripte, Hersteller-Beispiele
CMakeGenerator für andere Build-Systeme; faktisch Standard in C und C++ESP-IDF, Zephyr, STM32Cube-Projekte, alles Plattformübergreifende
PlatformIOSetzt auf SCons auf, verwaltet Toolchains und Bibliotheken automatischDer bequemste Einstieg für Arduino- und ESP-Projekte mit ordentlicher Struktur
West (Zephyr)Verwaltet Repositories, Konfiguration und Build in einemZephyr-basierte Projekte
Bazel / MesonSehr reproduzierbar bzw. sehr schnellGroße Codebasen; im Embedded-Bereich noch selten

Reproduzierbarkeit ist wichtiger als Eleganz. Ein Build, der auf einem anderen Rechner oder in einem Jahr nicht mehr läuft, ist wertlos — genau dann, wenn man Firmware nachbauen muss. Toolchain-Version festschreiben, Abhängigkeiten fixieren, im Zweifel alles in einen Container packen. Ein Skript build.sh, das von null bis zur Binärdatei durchläuft, ist die einfachste Form der Dokumentation. Welche Toolchain zu welchem Controller gehört, steht in Embedded & Firmware → Toolchain.

Testen von eingebetteter Software

Modultests auf dem PC
Alles ohne Hardwarebezug — Zustandsautomaten, Protokollparser, Regleralgorithmen, Umrechnungen — lässt sich am Rechner testen: Unity, CppUTest oder Ceedling. Ausführung in Sekunden statt Minuten.
Hardware abstrahieren
Registerzugriffe hinter eine dünne Schicht legen, dann ist der Rest ohne Board testbar. Das ist der eigentliche Grund für diese Trennung — nicht die Portabilität.
Tests auf der Zielhardware
Für alles, was Timing, Peripherie oder Analogverhalten berührt. Ein Board am Bauserver mit automatischem Flashen ist der Goldstandard; auch ein manuell gestarteter Selbsttest hilft.
Fuzzing
Zufällige und bösartige Eingaben auf Protokollparser werfen. libFuzzer oder AFL++ finden in Minuten Pufferüberläufe, die manuelle Tests nie erwischen — Pflicht für alles, was Daten von außen annimmt (Security).

Statische Analyse und Compiler-Schalter

WerkzeugFindetAnmerkung
-Wall -Wextra -WerrorDie meisten typischen FehlerKostet nichts; -Werror zwingt dazu, Warnungen wirklich zu beheben
-fanalyzer (GCC)Nullzeiger, doppelte Freigabe, LecksSeit GCC 10 eingebaut, ohne Zusatzwerkzeug
clang-tidyStil, Fehlermuster, moderne AlternativenGut in Editoren integrierbar
cppcheckKlassische C-FehlerSchnell, wenige Fehlalarme, kostenlos
-fsanitize=address,undefinedSpeicherfehler und undefiniertes Verhalten zur LaufzeitNur in PC-Tests, nicht auf dem Zielsystem — dort aber extrem wirksam
MISRA C / CERT CRegelwerke für sicherheitskritischen CodePflicht in Automotive und Medizintechnik; einzelne Regeln lohnen überall
Warnungen sind keine Meinung. Die häufigsten realen Firmware-Fehler — fehlendes volatile, vorzeichenbehaftete Vergleiche, implizite Verkürzung, nicht initialisierte Variablen — meldet der Compiler bereits, wenn man ihn lässt. Wer eine Warnung nicht versteht, hat einen Fehler gefunden, keinen Fehlalarm.

Was in jedes Projekt gehört

README mit dem Wesentlichen

Was ist das, wie baut man es, wie flasht man es, welche Hardware wird gebraucht. Der spätere Leser ist meistens man selbst in zwei Jahren.

Versionsnummer in der Firmware

Aus dem Git-Stand erzeugt und zur Laufzeit abfragbar. Ohne das lässt sich nie sicher sagen, welcher Code läuft.

Ein Ordner für Dokumentation

Datenblätter, Pinbelegung, Schaltplan als PDF, Notizen zu Entscheidungen. Minimaler Aufwand, später riesiger Nutzen.

Diagnoseausgabe von Anfang an

Eine serielle Konsole mit Statuszeilen und Log-Stufen kostet 20 Zeilen Code und ist beim ersten Problem Gold wert — Vorgehen bei der Fehlersuche in Lernpfad → Debugging.

Sicherungskopien außerhalb des Rechners

Ein Repository auf einer zweiten Maschine oder einem Dienst. Eine defekte SSD ist die banalste Art, ein halbes Jahr Arbeit zu verlieren.
Quellen
  • Scott Chacon, Ben Straub, Pro Git — kostenlos, auch auf Deutsch.
  • James Grenning, Test Driven Development for Embedded C, Pragmatic Bookshelf.
  • Elecia White, Making Embedded Systems, O'Reilly — Struktur und Werkzeuge im Überblick.
  • Interrupt (Memfault Blog) — praxisnahe Artikel zu Debugging, Build-Systemen und Firmware-Betrieb.
  • PlatformIO- und ESP-IDF-Dokumentation; MISRA C:2023.

06 / 09Netzwerke & TCP/IP

Netzwerke sind geschichtet, damit jede Ebene für sich austauschbar bleibt. Ein HTTP-Aufruf funktioniert über Kupfer, Glasfaser und Funk, ohne davon zu wissen. Wer Netzwerkprobleme sucht, arbeitet die Schichten von unten nach oben ab — das erspart die meiste Ratearbeit.

Das Schichtenmodell

OSITCP/IPAufgabeBeispieleAdressierung
7 Anwendung
6 Darstellung
5 Sitzung
AnwendungWas inhaltlich übertragen wirdHTTP, MQTT, Modbus TCP, DNS, TLSURL, Topic
4 TransportTransportEnde-zu-Ende, Zuverlässigkeit, MultiplexenTCP, UDP, QUICPortnummer
3 VermittlungInternetWegewahl über NetzgrenzenIPv4, IPv6, ICMPIP-Adresse
2 SicherungNetzzugangRahmen, Fehlererkennung, MedienzugriffEthernet, WLAN, CAN, PPPMAC-Adresse
1 BitübertragungNetzzugangPegel, Leitungscodierung, Stecker100BASE-TX, 10BASE-T1S, Funkmodulation
Anwendung Nutzdaten Transport TCP Nutzdaten Vermittlung IP TCP-Segment Sicherung Eth IP-Paket FCS Overhead je Paket: 14 Byte Ethernet + 4 Byte FCS, 20 Byte IPv4 (40 bei IPv6), 20 Byte TCP

TCP oder UDP

TCP

  • Verbindungsorientiert, Reihenfolge garantiert, Wiederholung bei Verlust
  • Fluss- und Staukontrolle
  • Handshake kostet eine Rundlaufzeit vor dem ersten Byte
  • Verzögerung schwankt: Ein verlorenes Paket blockiert alles dahinter (Head-of-Line-Blocking)
  • Für Dateiübertragung, Weboberflächen, MQTT, Modbus TCP

UDP

  • Verbindungslos, keine Garantie für Ankunft oder Reihenfolge
  • Minimaler Overhead, keine Wartezeit vor dem Senden
  • Die Anwendung entscheidet selbst, was bei Verlust passiert
  • Für Sensordaten mit hoher Rate, Zeitsynchronisation, Sprache und Video, Rundsendungen (Discovery)

Die Faustregel: Wenn ein veralteter Wert schlimmer ist als ein fehlender, nimm UDP — ein Sensor, der zehnmal je Sekunde sendet, braucht keine Wiederholung. Wenn jedes Byte ankommen muss und Verzögerung zweitrangig ist, nimm TCP. QUIC ist der dritte Weg: TCP-artige Zuverlässigkeit je Datenstrom, aber auf UDP und ohne gemeinsames Head-of-Line-Blocking.

Adressen und Ports

BegriffBeispielBedeutung
MAC-AdresseB8:27:EB:1A:2B:3CFest je Schnittstelle, gilt nur im lokalen Segment
IPv4192.168.1.42/2432 Bit; /24 heißt: die ersten 24 Bit sind das Netz
IPv6fd00::1/64128 Bit; fc00::/7 sind eindeutige lokale Adressen, fe80::/10 Link-Local
Standardgateway192.168.1.1Wohin Pakete gehen, deren Ziel nicht im eigenen Netz liegt
Port443 · 1883 · 502HTTPS, MQTT, Modbus TCP — identifiziert den Dienst auf dem Host
Namensauflösungsensor.localmDNS/Bonjour funktioniert ohne Server im lokalen Netz
Für Geräte im eigenen Netz: mDNS (geraet.local) erspart feste Adressen und DHCP-Reservierungen; ESP32 und Raspberry Pi können das ab Werk. Für dauerhafte Installationen ist eine DHCP-Reservierung nach MAC-Adresse trotzdem robuster — mDNS scheitert in manchen Netzen an der Multicast-Filterung.

Ethernet in der Praxis

VarianteRateMediumReichweiteEinsatz
10BASE-T1S10 Mbit/sein verdrilltes Paar, Multidrop25 m, mindestens 8 Knoten am StrangFahrzeug- und Sensornetze; ersetzt CAN in kostensensiblen Zweigen
10BASE-T1L10 Mbit/sein Paarbis 1000 mProzessindustrie (Ethernet-APL), auch im Ex-Bereich
100BASE-TX100 Mbit/s2 Paare, Cat5100 mDer Standard in der Industrieautomation
1000BASE-T1 Gbit/s4 Paare, Cat5e100 mBürobereich, Kameras, Server
PoE (802.3af/at/bt)Strom über dasselbe Kabelbis 90 W ab Speisegerät (Typ 4)Kameras, Access Points, Sensoren

TSN (Time-Sensitive Networking) ergänzt Ethernet um Zeitsynchronisation (IEEE 802.1AS), Zeitschlitze für garantierte Übertragung (802.1Qbv) und Redundanz — damit teilen sich harte Echtzeit und normaler Datenverkehr dasselbe Kabel. Deshalb setzen PROFINET, EtherCAT und OPC UA zunehmend darauf; Feldbusdetails in Automatisierung → Feldbusse.

Anwendungsprotokolle für Geräte

ProtokollModellTransportStärkeSchwäche
MQTTPublish/Subscribe über BrokerTCP, meist mit TLSSehr schlank, viele Geräte, Pufferung über QoS-StufenBroker ist ein zentraler Ausfallpunkt
HTTP/RESTAnfrage/AntwortTCPÜberall unterstützt, leicht zu testenViel Overhead, kein Push ohne Zusatztechnik
CoAPREST-artigUDPSehr sparsam, für batteriebetriebene KnotenWeniger verbreitet
Modbus TCPRegister lesen/schreibenTCP, Port 502Extrem einfach, in der Industrie allgegenwärtigKeine Sicherheit, keine Selbstbeschreibung
OPC UAInformationsmodell mit TypenTCP oder MQTTSelbstbeschreibend, verschlüsselt, herstellerübergreifendAnspruchsvoll, für kleine Controller schwer
MatterGerätetypen mit ClusternIPv6 über Thread, WLAN, EthernetHerstellerübergreifende Hausautomation, lokal ohne CloudZertifizierung nötig; Spezifikation wächst halbjährlich (1.6 seit Juni 2026)

Fehlersuche von unten nach oben

Schicht 1 — Physik

Link-LED an? Kabel getauscht? Bei Industrienetzen: Abschlusswiderstände vorhanden? Ein Kabeltester spart Stunden.

Schicht 2 — Sicherung

Ist die MAC-Adresse im Switch sichtbar? Bei WLAN verbunden, aber keine IP? Dann liegt es an DHCP oder Authentifizierung.

Schicht 3 — Vermittlung

ping zur Gegenstelle, dann zum Gateway, dann nach draußen. Passen Adresse, Maske und Gateway zusammen? Zwei Geräte mit derselben Adresse erzeugen sporadische Ausfälle.

Schicht 4 — Transport

Ist der Port offen? nc -vz host port oder ss -tlnp auf dem Zielsystem. Häufigste Ursache: eine Firewall oder ein Dienst, der nur an 127.0.0.1 lauscht.

Anwendung

Mit Wireshark mitschneiden. Die meisten „unerklärlichen“ Probleme sind nach fünf Minuten Mitschnitt erklärt: sichtbare Neuübertragungen, ein abgelehnter Handshake, ein abgelaufenes Zertifikat.
Quellen
  • Tanenbaum & Wetherall, Computernetzwerke, Pearson; Kurose & Ross, Computer Networking: A Top-Down Approach.
  • Beej's Guide to Network Programming, kostenlos.
  • RFC 9293 (TCP, ersetzt RFC 793), RFC 768 (UDP), RFC 8200 (IPv6), RFC 9000 (QUIC), MQTT 5.0 (OASIS).
  • IEEE 802.3 für die Ethernet-Varianten (802.3cg für 10BASE-T1S/T1L, 802.3bt für PoE), IEEE 802.1 für TSN.
  • Connectivity Standards Alliance — Matter-Spezifikation und Gerätetypen.

07 / 09Funk & Wireless

Bei Funk gibt es kein „am besten“, nur Kompromisse zwischen drei Größen: Reichweite, Datenrate und Stromverbrauch. Zwei davon bekommt man gut — nie alle drei. Wer das akzeptiert, wählt schnell richtig.

Die Techniken im Vergleich

TechnikBandDatenrateReichweiteStromTopologieTypischer Einsatz
WLAN 4 (802.11n)2,4 GHzbis 150 Mbit/s brutto30–70 m innenhochSternESP8266/ESP32, alles mit vorhandenem Netz
WLAN 6 / 6E2,4 / 5 / 6 GHzbis mehrere Gbit/sähnlichhochSternESP32-C6 (2,4 GHz), ESP32-C5 (2,4 und 5 GHz)
Bluetooth LE 5.x/6.x2,4 GHz0,125 / 0,5 / 1 / 2 Mbit/s10–100 msehr niedrigStern, Mesh optionalSensoren, Bedienung per Handy, Wearables; ab 6.0 Channel Sounding zur Entfernungsmessung
Thread / Zigbee2,4 GHz (802.15.4)250 kbit/s10–30 m je SprungniedrigMeshHausautomation; Thread trägt IPv6 und ist die Grundlage von Matter
LoRa / LoRaWAN868 MHz (EU)0,3–50 kbit/s2–15 kmsehr niedrigStern über GatewaySensoren im Feld, Landwirtschaft, Zählerfernauslesung
NB-IoT / LTE-Mlizenziert20–1000 kbit/sMobilfunkabdeckungniedrig bis mittelZellnetzGeräte ohne eigenes Netz; braucht SIM und Vertrag
Sub-GHz proprietär433 / 868 MHz1–500 kbit/s100 m – 2 kmniedrigfrei wählbarFernsteuerungen, eigene Sensornetze (nRF24, CC1101, SX127x)
UWB6–8,5 GHz (EU)bis 27 Mbit/s10–50 mmittelPunkt zu PunktEntfernungsmessung auf Zentimeter genau, Zutrittssysteme
NFC / RFID13,56 MHz106–424 kbit/s< 10 cmpassiv möglichLeser zu TagIdentifikation, Konfiguration ohne Batterie

Welche Technik wofür

Technik ReichweiteDatenrateSparsamEinfachGünstig
WLAN2,4 / 5 GHz 2 von 5 5 von 5 1 von 5 5 von 5 5 von 5
StarkVorhandenes Netz, TCP/IP direkt, jede Bibliothek, billigste Module. SchwachStromhungrig, Verbindungsaufbau dauert, überfülltes 2,4-GHz-Band. Nimm es fürAlles am Netzteil: Anzeigen, Kameras, MQTT-Sensoren im Haus.
Bluetooth LE2,4 GHz 2 von 5 3 von 5 5 von 5 3 von 5 4 von 5
StarkSehr sparsam, das Handy als Bedienoberfläche, Beacons ohne Verbindung. SchwachKurze Reichweite, kleine Pakete, der Stack braucht Einarbeitung. Nimm es fürBatteriegeräte mit Handy-App, Wearables, Sensoren im Raum.
Thread / Zigbee802.15.4 Mesh 3 von 5 2 von 5 4 von 5 2 von 5 3 von 5
StarkMesh verlängert die Reichweite mit jedem Knoten, Matter-Basis, sparsam. SchwachBorder Router nötig, komplexer Stack, wenig Bandbreite. Nimm es fürHausautomation mit vielen Knoten.
LoRa / LoRaWAN868 MHz 5 von 5 1 von 5 5 von 5 3 von 5 3 von 5
StarkKilometer mit Milliwatt, Jahre aus einer Batterie. SchwachWenige Bytes je Nachricht, Sendezeitbegrenzung, Gateway nötig. Nimm es fürSensoren im Feld: Wetter, Zähler, Landwirtschaft.
NB-IoT / LTE-MMobilfunk 5 von 5 3 von 5 3 von 5 2 von 5 1 von 5
StarkFunktioniert überall mit Mobilfunkabdeckung, kein eigenes Netz. SchwachSIM und Vertrag, laufende Kosten, teurere Module. Nimm es fürVerstreute Geräte ohne eigene Infrastruktur, Tracker.
Sub-GHz proprietär433 / 868 MHz 4 von 5 2 von 5 4 von 5 4 von 5 5 von 5
StarkEinfaches Punkt-zu-Punkt, günstige Module, gute Gebäudedurchdringung. SchwachProtokoll selbst, keine Interoperabilität, Duty-Cycle-Regeln beachten. Nimm es fürFernsteuerungen, eigene Sensornetze, Garten und Werkstatt.

Punkte sind Einordnungen typischer Vertreter (5 = sehr gut), keine Messwerte. Sie helfen bei der Vorauswahl — entschieden wird am Datenblatt.

Was die Reichweite wirklich bestimmt

Linkbudget = P_sende + G_sende − Pfadverlust + G_empfang − Empfindlichkeit Alles in dB bzw. dBm. Bleibt eine positive Reserve, funktioniert die Verbindung — mit typisch 10–20 dB Sicherheitsabstand für Schwund und Alterung.
FaktorGrößenordnungAnmerkung
Sendeleistung0–20 dBm (1–100 mW)Gesetzlich gedeckelt: 20 dBm EIRP bei 2,4 GHz, 14 dBm ERP bei 868 MHz mit Sendezeitbegrenzung
Freiraumdämpfung40 dB auf 1 m bei 2,4 GHz, +6 dB je Verdopplung der EntfernungNiedrigere Frequenz heißt weniger Dämpfung — deshalb kommt 868 MHz weiter als 2,4 GHz
Gipskartonwand3–5 dBKaum ein Problem
Stahlbetonwand15–30 dBDer übliche Grund für Funklöcher
Metallgehäuse> 40 dBAntenne muss nach außen oder hinter ein Kunststofffenster
Empfängerempfindlichkeit−90 dBm (WLAN) bis −148 dBm (LoRa, SF12)Jedes Dezibel Empfindlichkeit ist ein Dezibel Reichweitenreserve
3 dB mehr Sendeleistung bringen weniger als 3 dB bessere Antenne. Die Leistung ist gesetzlich begrenzt, die Antenne dagegen meist der schwächste Punkt: Eine Leiterplattenantenne zu dicht an Metall oder Massefläche verliert leicht 10 dB — mehr, als jede Leistungserhöhung je bringen könnte. Die Referenzlayouts der Modulhersteller sind keine Empfehlung, sondern Voraussetzung (Leiterplatte & KiCad → Layout).

Antennen — die häufigsten Fehler

Kupfer unter der Antenne
Die Keep-Out-Zone im Datenblatt ist ernst gemeint. Massefläche unter einer Chip- oder Leiterbahnantenne verstimmt sie und kostet den größten Teil der Abstrahlung.
Falsche Antennenlänge
λ/4 sind 8,6 cm bei 868 MHz und 3,1 cm bei 2,4 GHz (im Draht durch den Verkürzungsfaktor einige Prozent weniger). Ein zu kurz abgeschnittener Draht ist eine schlechte Antenne, kein Kompromiss.
Fehlende Anpassung
Zwischen Funkbaustein und Antenne gehört ein Anpassnetzwerk auf 50 Ω. Ohne das geht ein Teil der Leistung als Reflexion zurück.
Antenne im Gehäuse
Kunststoff dämpft wenig, Metall alles. Ein Akku direkt hinter der Antenne wirkt als Reflektor — was selten hilft und meistens schadet.
Polarisation ignoriert
Sender und Empfänger gleich ausrichten: Zwei um 90° verdrehte lineare Antennen verlieren 20 dB und mehr.
Fresnelzone verbaut
Auf längeren Strecken muss nicht nur Sichtverbindung bestehen, sondern auch ein Bereich um die direkte Linie frei sein. Ein Baum knapp daneben kostet spürbar Pegel.

Regulatorisches in der EU

BandGrenzwertBesonderheit
433,05–434,79 MHz10 dBm ERPSendezeitbegrenzung je nach Unterband; stark belegt durch Fernbedienungen
863–870 MHz14 dBm ERPDuty Cycle 0,1 % bis 10 % je Unterband — LoRaWAN plant das aktiv ein
2400–2483,5 MHz20 dBm EIRPFrequenzsprung oder Spreizung vorgeschrieben; geteilt mit WLAN, BLE, Zigbee, Mikrowellenherden
5150–5350 MHz23 dBm EIRP, nur innenIm Bereich 5250–5350 MHz zusätzlich DFS (Radarerkennung) und Leistungsregelung TPC

Für Eigenbauten gilt: Ein zertifiziertes Funkmodul mit eigener Konformitätserklärung erspart praktisch die gesamte Funkprüfung — man muss nur die Einbauvorschriften des Moduls einhalten. Ein selbst entworfener Funkteil bedeutet dagegen eine vollständige Bewertung nach der Funkanlagenrichtlinie 2014/53/EU (RED); die Sicherheitsanforderungen daraus stehen unter Security & Kryptografie. Das ist der Hauptgrund, warum ESP32- und nRF-Module in Fertiggeräten so verbreitet sind.

Auswahl in drei Fragen

Gibt es eine Infrastruktur?

WLAN im Haus vorhanden → ESP32 ist der kürzeste Weg. Kein Netz → LoRa mit eigenem Gateway oder Mobilfunk.

Wie lange muss die Batterie halten?

Jahre auf einer Knopfzelle → BLE oder LoRa mit seltenen Sendevorgängen. Netzbetrieb → WLAN unproblematisch. Entscheidend ist der Ruhestrom zwischen den Sendevorgängen, nicht der Sendestrom (Embedded → Stromverbrauch).

Wie viele Geräte, und reden sie miteinander?

Viele Knoten ohne durchgehende Abdeckung → Mesh (Thread, Zigbee, BLE Mesh). Wenige Knoten an einem Punkt → Stern.
Sonderfall Fernsteuerung mit niedriger Latenz: Steuerstrecke auf 2,4 GHz (ExpressLRS, Crossfire) und Videostrecke auf 5,8 GHz sind eine eigene Disziplin mit eigenen Regeln zu Antennendiversität, Telemetrie und Failsafe — beschrieben in Drohnen & FPV.
Quellen
  • ETSI EN 300 220 (Sub-GHz-SRD) und ETSI EN 300 328 (2,4 GHz) — die maßgeblichen europäischen Funknormen.
  • Funkanlagenrichtlinie 2014/53/EU (RED) und die SRD-Allgemeinzuteilungen der Bundesnetzagentur.
  • Texas Instruments, Antenna Selection Guide.
  • Hardware Design Guidelines von Espressif, Nordic Semiconductor und Semtech — Keep-Out-Zonen und Anpassnetzwerke stehen dort verbindlich.
  • LoRa Alliance, Bluetooth SIG und Connectivity Standards Alliance.

08 / 09Signalverarbeitung & DSP

Digitale Signalverarbeitung beginnt mit einer Regel: Erfassbar sind nur Frequenzen unterhalb der halben Abtastrate. Alles darüber erscheint als etwas anderes — und ist danach nicht mehr zu retten. Der zweitwichtigste Satz: Die Fensterung entscheidet, ob eine FFT brauchbar aussieht.

Abtastung und Aliasing

f_s > 2 · f_max  (Nyquist-Shannon-Abtasttheorem) In der Praxis rechnet man mit dem Fünf- bis Zehnfachen der höchsten Nutzfrequenz — das entspannt das Antialiasing-Filter erheblich.
echtes Signal was der Rechner sieht (Alias)
Aliasing ist nicht reparierbar. Ein 60-Hz-Brumm, mit 100 Hz abgetastet, erscheint als 40-Hz-Signal — mathematisch ununterscheidbar von einem echten 40-Hz-Anteil. Deshalb gehört vor jeden ADC ein analoges Tiefpassfilter (Elektrotechnik → Filter). Ein digitales Filter danach ist wirkungslos, weil die Verfälschung schon beim Abtasten entsteht.

Die FFT richtig anwenden

GrößeFormelBeispiel bei f_s = 10 kHz, N = 1024
FrequenzauflösungΔf = f_s / N9,77 Hz je Bin
Höchste darstellbare Frequenzf_s / 25 kHz (Bin 512)
MessdauerN / f_s102,4 ms — die Auflösung folgt direkt aus der Beobachtungsdauer
AufwandO(N·log N)Deshalb „schnell“; die direkte DFT wäre O(N²)

Der wichtigste Zusammenhang: Feinere Frequenzauflösung gibt es nur durch längere Messdauer. Wer 1 Hz auflösen will, muss mindestens eine Sekunde messen — unabhängig von Abtastrate und Rechenleistung. Zero-Padding erzeugt mehr Stützstellen, aber keine zusätzliche Auflösung.

Fensterfunktionen

Die FFT nimmt an, das Signal wiederhole sich periodisch mit der Blocklänge. Passt die Frequenz nicht exakt in ein Vielfaches, entsteht ein Sprung an der Blockgrenze, der Energie über das ganze Spektrum verschmiert (Leck-Effekt).

FensterHöchster NebenzipfelHauptzipfelbreiteWofür
Rechteck (kein Fenster)−13 dBschmalNur bei exakt periodischen Signalen oder Impulsen
Hann−31 dBmittelDer vernünftige Standard für allgemeine Analyse
Hamming−43 dBmittelWenn ein starker Nachbarton unterdrückt werden muss
Blackman-Harris−92 dBbreitSehr großer Dynamikumfang, dafür schlechte Trennschärfe
Flat Top−90 dBsehr breitAmplitudengenaue Messung eines einzelnen Tons

Digitale Filter, die man wirklich braucht

Exponentieller Tiefpass (EMA)
Eine Zeile, kein Ringpuffer:
y += α · (x − y)
α = dt/(dt + τ). Mit α = 0,1 entspricht das etwa einer Mittelung über zehn Werte — der Standardfilter für Sensorwerte am Mikrocontroller.
Gleitender Mittelwert
Über N Werte: lineare Phase, einfache Vorstellung, aber ein Ringpuffer nötig. Bei N als Zweierpotenz wird die Division zum Schieben.
Medianfilter
Über 3 oder 5 Werte. Entfernt einzelne Ausreißer vollständig, ohne Flanken zu verschmieren — das kann kein lineares Filter. Ideal gegen Störimpulse.
Biquad (IIR 2. Ordnung)
Fünf Koeffizienten für beliebige Tief-, Hoch-, Band- und Notch-Filter; mehrere in Reihe ergeben höhere Ordnungen. Der Baustein jeder Audioverarbeitung.
Notch-Filter
Entfernt gezielt eine Frequenz, typisch 50 Hz Netzbrumm. Alternative ohne Filter: über ein ganzzahliges Vielfaches der Netzperiode mitteln (20 ms), dann fällt der Brumm systematisch heraus.
Kalman-Filter
Kombiniert Modellwissen mit Messungen und schätzt die Unsicherheit mit. Standard bei der Lagebestimmung aus Beschleunigungs- und Drehratensensoren — Herleitung in Regelung → Zustandsraum.
FIR oder IIR? FIR (gleitender Mittelwert, Fensterentwurf) ist immer stabil und kann exakt lineare Phase haben, braucht aber viele Koeffizienten. IIR (EMA, Biquad) erreicht dieselbe Flankensteilheit mit einem Bruchteil des Aufwands, kann aber instabil werden und verzerrt die Phase — bei Regelkreisen ist genau diese Phasendrehung die Gefahr, weil sie den Phasenrand frisst.

Praktische Rezepte

Drehzahl aus einem Encoder

Bei hoher Drehzahl Impulse in einem festen Zeitfenster zählen, bei niedriger die Periodendauer messen. Gute Implementierungen wechseln zwischen beiden Verfahren (Regelung → Position).

Nulldurchgang bestimmen

Mit Hysterese arbeiten, sonst löst Rauschen mehrfach aus. Für höhere Genauigkeit linear zwischen den beiden Abtastwerten um den Nulldurchgang interpolieren.

Effektivwert eines Wechselstroms

Quadrate über eine ganze Anzahl Perioden summieren, mitteln, Wurzel ziehen. Bei unbekannter Frequenz über ein deutlich längeres Fenster mitteln.

Frequenz genauer als ein Bin

Parabolische Interpolation über die drei Magnituden um das Maximum — mit Hann-Fenster typisch eine Größenordnung genauer als der reine Bin-Index.

Rechenlast begrenzen

Die FFT im Hintergrund über einen per DMA gefüllten Puffer rechnen, nie in der Interruptroutine. CMSIS-DSP (Cortex-M) und ESP-DSP nutzen eingebaute Beschleuniger und sind um ein Vielfaches schneller als eigener C-Code.
Quellen
  • Richard G. Lyons, Understanding Digital Signal Processing, Pearson — der beste Einstieg, praxisnah.
  • Steven W. Smith, The Scientist and Engineer's Guide to Digital Signal Processing — vollständig kostenlos online.
  • Fredric J. Harris, On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform, Proc. IEEE 1978 — die Referenz zu Fensterfunktionen.
  • CMSIS-DSP — optimierte Filter- und FFT-Bibliothek für Cortex-M.
  • scipy.signal — Filter am PC entwerfen und prüfen, bevor sie auf den Controller kommen.

09 / 09Security & Kryptografie

Sicherheit beginnt mit einer Frage, nicht mit einem Algorithmus: Wovor genau soll geschützt werden, und wer ist der Angreifer? Ein Gerät im eigenen Keller braucht etwas anderes als eines, das aus dem Internet erreichbar ist. Ohne Bedrohungsmodell ist jede Krypto-Entscheidung Ratespiel.

Bedrohungsmodell in fünf Fragen

Was ist schützenswert?

Messdaten, Steuerungsfähigkeit, Firmware als geistiges Eigentum, Zugangsdaten zu anderen Systemen — oder schlicht die Verfügbarkeit.

Wer greift an?

Neugieriger Nutzer, automatisierter Scanner aus dem Internet, gezielter Angreifer mit physischem Zugriff, jemand mit Laborausrüstung. Der nötige Aufwand skaliert sehr unterschiedlich.

Über welchen Weg?

Netzwerk, Funk, Debug-Schnittstelle, Firmware-Update, Lieferkette, Speicherkarte.

Was ist der Schaden?

Peinlich, teuer oder gefährlich? Ein manipulierter Heizungsregler ist etwas anderes als eine ausgelesene Temperaturkurve.

Was ist vertretbarer Aufwand?

Perfekte Sicherheit gibt es nicht. Ziel ist, den Angriff teurer zu machen als den möglichen Gewinn.

Die kryptografischen Bausteine

BausteinLeistetLeistet nichtAktuelle Wahl
HashIntegrität, FingerabdruckKeine Vertraulichkeit, keine AuthentizitätSHA-256, SHA-3, BLAKE2
MACIntegrität und Authentizität mit geteiltem SchlüsselKeine Vertraulichkeit, keine NichtabstreitbarkeitHMAC-SHA256, Poly1305
Symmetrische VerschlüsselungVertraulichkeitOhne MAC keine IntegritätAES-256-GCM, ChaCha20-Poly1305 (beides AEAD)
Signatur (asymmetrisch)Authentizität, NichtabstreitbarkeitLangsam für große DatenmengenEd25519, ECDSA P-256
SchlüsselaustauschGemeinsames Geheimnis über unsicheren KanalOhne Authentifizierung angreifbarX25519 (ECDH), zunehmend hybrid mit ML-KEM
Passwort-HashPasswörter speichernKein Ersatz für VerschlüsselungArgon2id, scrypt, bcrypt — nie SHA allein
ZufallszahlenGrundlage von allemHardware-TRNG des Controllers; rand() ist kryptografisch wertlos
Die Regel, die alle Fachleute teilen: Keine eigene Kryptografie entwerfen und keine Primitiven selbst kombinieren. Fertige, geprüfte Bibliotheken nehmen — libsodium, Mbed TLS, wolfSSL — und deren fertige Verfahren verwenden (AEAD statt Verschlüsselung plus separatem MAC). Die Fehler stecken nicht im Algorithmus, sondern in der Anwendung: wiederverwendete Nonces, fehlende Konstantzeit-Vergleiche, ungeprüfte Zertifikate.

Schlüssellängen und Sicherheitsniveaus

SicherheitsniveauSymmetrischRSA / DHECCHashEinordnung
112 Bit3DES2048 Bit224–255 BitSHA-224Auslaufend — für Neuentwicklungen nicht mehr wählen
128 BitAES-1283072 Bit256 Bit (P-256, Curve25519)SHA-256Der heutige Normalfall
192 BitAES-1927680 Bit384 Bit (P-384)SHA-384Hohe Anforderungen
256 BitAES-25615360 Bit512 Bit (P-521)SHA-512Langfristig; RSA wird hier praktisch unbrauchbar

Warum ECC auf Mikrocontrollern gewinnt: 256 Bit ECC leisten dasselbe wie 3072 Bit RSA — bei einem Bruchteil an Rechenzeit, RAM und Übertragungsvolumen. Deshalb sind ECC-Zertifikate für kleine Controller oft der Unterschied zwischen „TLS läuft“ und „RAM reicht nicht“. BSI TR-02102-1 nennt als Untergrenzen AES ab 128 Bit, RSA/DH ab 3000 Bit und ECC ab 250 Bit.

Quantencomputer, nüchtern betrachtet: Grover halbiert nur das symmetrische Niveau — AES-256 bleibt komfortabel. Shor bricht dagegen RSA und ECC vollständig. Deshalb sind seit August 2024 ML-KEM (FIPS 203), ML-DSA (FIPS 204) und SLH-DSA (FIPS 205) standardisiert, und TLS 1.3 nutzt in der Praxis bereits hybride Verfahren (X25519 kombiniert mit ML-KEM). Dringend ist das für Daten, die heute mitgeschnitten und später entschlüsselt werden könnten, sowie für Signaturschlüssel mit sehr langer Lebensdauer — für Secure Boot gibt es dafür zusätzlich die zustandsbehafteten Hash-Signaturen LMS und XMSS (NIST SP 800-208).

Sicherer Betrieb eines Geräts

Secure Boot
Das ROM prüft die Signatur des Bootloaders, dieser die der Anwendung — nur signierte Firmware startet. Verfügbar bei ESP32 (Secure Boot v2), STM32 mit TrustZone, RP2350 mit signierten Boot-Images.
Signierte Updates
Die Signatur wird vor dem Schreiben geprüft, nicht danach. Zwei Speicherbereiche im Wechsel plus Rückfalloption verhindern, dass ein fehlgeschlagenes Update das Gerät unbrauchbar macht (Speicher).
Rollback-Schutz
Ein monotoner Zähler verhindert, dass eine alte, korrekt signierte Firmware mit bekannter Lücke wieder eingespielt wird.
Debug-Schnittstelle
SWD und JTAG erlauben vollen Speicherzugriff. In der Serienfertigung dauerhaft per Fuse sperren — bis dahin sind sie der bequemste Angriffsweg überhaupt.
Schlüsselspeicher
Schlüssel im normalen Flash sind auslesbar. Besser: eFuses, ein Secure Element (ATECC608, SE050) oder ein TPM. Ein Schlüssel, der den Chip nie verlässt, kann nicht kopiert werden.
Individuelle Zugangsdaten
Ein Standardpasswort für alle Geräte ist der häufigste Grund für Botnetze aus vernetzten Geräten. Je Gerät ein eigenes, beim ersten Start änderbares Passwort — inzwischen auch regulatorisch gefordert.

TLS in eingebetteten Systemen

PunktWas oft schiefgehtRichtig
ZertifikatsprüfungAbgeschaltet, weil es „sonst nicht geht“Wurzelzertifikat einbetten und prüfen; ohne Prüfung ist TLS wertlos
UhrzeitOhne gültige Zeit schlägt jede Gültigkeitsprüfung fehlNTP vor dem ersten TLS-Aufbau oder eine gepufferte Echtzeituhr
ZertifikatsablaufDas eingebettete Wurzelzertifikat läuft nach Jahren abAktualisierbar gestalten oder ein langlebiges Wurzelzertifikat wählen
SpeicherbedarfDer Handshake sprengt den RAM kleiner ControllerElliptische Kurven statt RSA, kleinere Puffer, oder DTLS über UDP
ZufallSchwache Zufallszahlen beim SchlüsselaustauschHardware-TRNG verwenden, Entropie beim ersten Start sammeln

Regulatorischer Rahmen in der EU

RED Artikel 3(3), Buchstaben d/e/f
Seit 1. August 2025 verbindlich für funkfähige Geräte: Netzschutz, Schutz personenbezogener Daten und Betrugsschutz. Umgesetzt über die Normenreihe EN 18031 — betrifft jedes Gerät mit WLAN, BLE oder LoRa (Funk & Wireless).
Cyber Resilience Act (EU) 2024/2847
Gilt für alle Produkte mit digitalen Elementen. Meldepflichten für aktiv ausgenutzte Schwachstellen ab September 2026, die vollständigen Anforderungen ab Dezember 2027: Schwachstellenmanagement über die Nutzungsdauer, Sicherheitsupdates und eine Software-Stückliste (SBOM).

Für private Projekte gilt das nicht — für alles, was in Verkehr gebracht wird, schon. Wer heute ein Produkt entwirft, plant Update-Fähigkeit und Schwachstellenprozess von Anfang an ein, weil beides nachträglich kaum einzubauen ist.

Die wirksamsten Maßnahmen

MaßnahmeAufwandWirkung
Keine StandardpasswörtergeringVerhindert die überwiegende Mehrheit automatisierter Angriffe
Debug-Schnittstellen sperrengeringSchließt den direktesten physischen Weg
Alle Verbindungen mit TLSmittelVerhindert Mitlesen und Manipulation im Netz
Signierte Firmware-UpdatesmittelVerhindert die dauerhafte Übernahme des Geräts
Geringste RechtegeringEin kompromittierter Dienst kompromittiert nicht alles
Netzsegmentierung / eigenes VLANgeringGeräte kommen nicht an die restliche Infrastruktur
Abhängigkeiten aktuell haltenlaufendDie meisten Lücken sind bekannt und behoben — nur nicht eingespielt
Eingaben validierengeringPufferüberläufe und Injektionen entstehen fast immer hier (Fuzzing)
ProtokollierengeringOhne Protokoll bleibt ein Vorfall unbemerkt
Nichts unnötig erreichbar machengeringDer sicherste Dienst ist der, der gar nicht läuft
Für das eigene Netz: Ein separates VLAN oder WLAN für Bastelgeräte, kein Port-Forwarding aus dem Internet, Zugriff von außen ausschließlich über VPN. Das senkt mehr Risiko als jede Krypto-Optimierung im Gerät — Umsetzung in Homeserver 101 → Sicherheit.
Quellen
  • OWASP IoT Top 10 — die häufigsten Schwachstellen vernetzter Geräte.
  • BSI TR-02102-1 (kryptografische Verfahren und Schlüssellängen, jährlich aktualisiert) und NIST SP 800-57 Part 1.
  • NIST FIPS 203/204/205 (ML-KEM, ML-DSA, SLH-DSA) und SP 800-208 (LMS/XMSS für Firmware-Signaturen).
  • EN 18031-1/-2/-3 zu RED Artikel 3(3); Verordnung (EU) 2024/2847 — Cyber Resilience Act.
  • Jean-Philippe Aumasson, Serious Cryptography, No Starch Press — verständlich und aktuell.