Basics of Embedded Hardware Design

Rafael Bachmann beehrte unsere Student Branch mit einem Vortrag über Hardware Design komplett von Anfang an. Praktisch heißt das keine Arduinos und nichts vorgefertigtes, nur die von einem selber entworfenen und gelöteten Gegenstände. An dieser Stelle wurde erwähnt, dass das nach viel Aufwand klingt, diese aber nötig ist, um Abstraktionen zu vermeiden.

Ein weiterer interessanter Punkt war, dass das Wasserfall Modell verwendet werden muss dein eigenes Board um dein Board zu entwerfen, im Gegensatz zu Software Design. Alle anderen Modelle sind schwer umzusetzen, da schnelle Iterationen einfach nicht möglich sind, da Lieferungen neuer Hardware lange dauern und teuer sind.

Nachfolgend Liste ich die allgemeinen Punkte die Rafael für das Design seines Blinkers befolgt hat.

  1. Auswahl des Prozessors Um einen passenden Prozessor für ein Board zu wählen sind folgende Kriterien zu beachten:

    • Kommunikations Protokolle
    • werden viele Fließkomma-Operationen verwendet
    • Energieverbrauch Begrenzungen
    • Preis und Leichtigkeit eines Flashen eines Boards
    • vorhandene Programmier Umgebungen

    Ein "Pro-Tipp" von Rafael: verwende ein Board, welches ein öffentliches Schema verwendet, was deinen Entwurf und spätere Anpassungen stark erleichtert.

  2. Zeichnen eines Schaltkreises Rafael verwendet KiCad, eine Design Suite welche den "Schaltkreis wie Code behandelt", indem es dem Schema Eingabe -> Verarbeitung -> Ausgabe treu bleibt.

    Beachte, dass bis zu diesem Zeitpunkt der Entwurf kein einziges Mal getestet werden, es ist also besonders wichtig vorsichtig bei jeder Entwurfsentscheidung zu sein.

  3. Software Nun, dass du dein eigens entworfenes Board erhalten hast, ist es Zeit dieses Board mit Software zu befüllen. Rafael schlägt dafür Sprachen wie C, C++ oder (sein persönlicher Liebling) Rust vor um deine eigene Applikation zu bauen.

Also wenn du jemals vor hattest deine eigene Hardware zu entwerfen, stelle sicher, dass du diese Hinweise beachtest. Sie könnten dir weiterhelfen.