Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
microcontrollertechnik:start [2020/03/03 13:03] tfischer |
microcontrollertechnik:start [2024/10/10 14:05] (aktuell) mexleadmin [Links zur Vorlesung] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Mikrocontroller-Technik ====== | ====== Mikrocontroller-Technik ====== | ||
+ | |||
+ | ===== Einführung und Einordnung ===== | ||
<WRAP right> | <WRAP right> | ||
Zeile 7: | Zeile 9: | ||
Die Mikrocontroller-Technik befasst sich damit, wie man einem programmierbaren Bauteil (" | Die Mikrocontroller-Technik befasst sich damit, wie man einem programmierbaren Bauteil (" | ||
+ | Es wird auf die Kenntnisse folgender Fächer zurückgegriffen: | ||
- | Die Veranstaltung ist mit dem EST Labor kombiniert. Details zum Ablauf finden Sie beim [[elektronische_schaltungstechnik_labor|EST Labor]]. | + | * Informatik I und II |
- | --> 1. Hello Blinking World # | + | **Wichtig: |
- | <WRAP group> | + | |
- | ===== 1. Hello Blinking World ===== | + | |
- | <WRAP half column> | + | |
- | ==== Ziele ==== | + | * Bleiben Sie mit uns in Kontakt! Trotzdem es zeitweise Wochen mit eigenständigen Bearbeitung gibt, ist der Austausch wichtig, damit zu den jeweiligen Abgaben ein sinnvolles Ergebnis abgeliefert wird. |
+ | * Suche Sie den Austausch mit den anderen Studierenden. Meistens haben Sie die Lösung, zum Problem eines anderen und umgekehrt. | ||
+ | * Wenn Sie erst eine Woche vor der Abgabe mit dem Programmieren beginnen, wird es in der Regel eng. Besonders, wenn es Unklarheiten und Nachfragen gibt. Beginnen Sie frühzeitig. | ||
+ | * Versuchen Sie Spaß am Programmieren zu finden. Es ist wie Puzzeln, nur dass Sie selbst das Bild bestimmen! | ||
- | Nach dieser Lektion sollten Sie: | + | ~~PAGEBREAK~~ ~~CLEARFIX~~ |
- | - x | ||
- | </ | ||
- | ==== Video ==== | + | ===== Links zur Vorlesung ===== |
- | LED Blinken | + | ^ Thema ^ Beschreibung ^ Sprache ^ |
- | {{youtube> | + | | Tutorial | Eine schöne Einführung in die Embedded Softwareentwicklung ist im Buch " |
- | </WRAP> </WRAP> | + | |:::| The above-mentioned book is as " |
+ | | Tutorial | Empfehlenswertes Tutorial von [[https:// | ||
+ | | Tutorial |Also the AVR itself has a nice introduction into C programming on the AVR platform as [[https:// | ||
+ | |Datenblatt| Das [[https://ww1.microchip.com/ | ||
+ | |Datenblatt| Das Datenblatt des Atmega88 wurde auch auf Deutsch übersetzt: [[https:// | ||
+ | |C-Support| Ein [[http:// | ||
+ | |C-Support|[[https:// | ||
- | <-- | ||
- | --> 2. Sound und Timer # | + | ===== weiterführende Links ===== |
- | <-- | + | |
- | --> 3. Logische Funktionen # | + | === C Programmierung === |
- | <-- | + | * schönes Online [[https:// |
+ | * [[https:// | ||
- | --> 4. Up/Down Counter # | + | === Embedded Systems Engineering und Hardware/ |
- | <-- | + | * [[https:// |
+ | * Auch das Buch [[https:// | ||
- | --> 5. Menüführung | + | === sonstiges |
- | <-- | + | |
- | + | ||
- | --> 6. Würfel und Zufall # | + | |
- | <-- | + | |
- | + | ||
- | --> 7. Uhr und Zeitraster # | + | |
- | <-- | + | |
- | + | ||
- | --> 8. Temperatur und Analog-Digital-Wandler # | + | |
- | <-- | + | |
- | + | ||
- | + | ||
- | --> 9. UART und Terminal # | + | |
- | < | + | |
- | ===== 9. UART und Terminal | + | |
- | + | ||
- | Bei der Programmierung wünscht man sich häufig die Möglichkeit Daten des Mikrocontrollers irgendwo darzustellen. | + | |
- | Mit Hilfe des Freeware Programms [[https:// | + | |
- | + | ||
- | - [[https:// | + | |
- | - [[https:// | + | |
- | - [[https:// | + | |
- | </ | + | |
- | <-- | + | |
- | + | ||
- | --> 10. I2C Schnittstelle # | + | |
- | + | ||
- | <WRAP group> | + | |
- | ===== 10. I2C Schnittstelle ===== | + | |
- | <WRAP half column> | + | |
- | + | ||
- | ==== Ziele ==== | + | |
- | + | ||
- | Nach dieser Lektion sollten Sie: | + | |
- | + | ||
- | - wissen wie die Kommunikation zwischen I2C Master und Slave funktioniert | + | |
- | + | ||
- | + | ||
- | </ | + | |
- | + | ||
- | + | ||
- | </ | + | |
- | + | ||
- | ==== Dokumentation von Atmel ==== | + | |
- | + | ||
- | * [[https:// | + | |
- | * [[https:// | + | |
- | + | ||
- | \\ | + | |
- | ==== Beschreibung ==== | + | |
- | + | ||
- | ++++ Statemachine der I2C Kommunikation | === Statemachine der I2C Kommunikation === | + | |
- | + | ||
- | <uml> | + | |
- | keine_Kommunikation : - | + | |
- | Datenausgabe1 : Datenbit = 1 | + | |
- | Datenausgabe0 : Datenbit = 0 | + | |
- | + | ||
- | [*] --> keine_Kommunikation | + | |
- | keine_Kommunikation -> keine_Kommunikation : !SCL || !SDA | + | |
- | keine_Kommunikation --> Warten_auf_Clock_Lo : SCL && SDA | + | |
- | Warten_auf_Clock_Lo -> Warten_auf_Clock_Lo : !SCL || SDA | + | |
- | Warten_auf_Clock_Lo --> Bits_lesen_aktiv | + | |
- | Bits_lesen_aktiv | + | |
- | Bits_lesen_aktiv | + | |
- | Warten_auf_Clock_Hi -> Warten_auf_Clock_Hi : !SCL | + | |
- | Warten_auf_Clock_Hi --> Datenausgabe0 | + | |
- | Datenausgabe0 | + | |
- | Datenausgabe0 | + | |
- | Datenausgabe0 | + | |
- | Warten_auf_Clock_Hi -> Datenausgabe1 | + | |
- | Datenausgabe1 | + | |
- | Datenausgabe1 | + | |
- | Datenausgabe1 | + | |
- | + | ||
- | </ | + | |
- | ++++ | + | |
- | + | ||
- | === Zeitverlaufsdiagramm === | + | |
- | < | + | |
- | {name: ' | + | |
- | node: ' | + | |
- | data: [' | + | |
- | | + | |
- | }, | + | |
- | {name: ' | + | |
- | node: ' | + | |
- | }, | + | |
- | ]} </ | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | <-- | + | |
- | + | ||
- | --> 11. SPI-Schnittstelle # | + | |
- | + | ||
- | <WRAP group> | + | |
- | ===== 11. SPI-Schnittstelle | + | |
- | <WRAP half column> | + | |
- | + | ||
- | ==== Ziele ==== | + | |
- | + | ||
- | Nach dieser Lektion sollten Sie: | + | |
- | + | ||
- | - wissen, welche wie man theoretisch mehrere Slaves mit einem Master verbindet. | + | |
- | - die Namen der 4 Leitungen und deren Funktionen kennen, welche jeweils an einem Slave enden. | + | |
- | - die Abkürzungen SDI, SDO, MOSI, MISO, CS, SS, SCK kennen | + | |
- | - die Vorteile von einer synchronen im Vergleich zu einer asynchronen Schnittstelle erklären können. | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | ==== Video ==== | + | |
- | + | ||
- | Theorie zum SPI | + | |
- | {{youtube> | + | |
- | + | ||
- | Beispiel für SPI mittels Arduino | + | |
- | {{youtube> | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | <-- | + | |
- | + | ||
- | ===== Tipps ===== | + | |
- | * Nutzen Sie die Anzeige von Zeilennummern: | + | |
- | + | ||
- | ===== Links ===== | + | |
- | + | ||
- | * [[AVR Programmierung für Dummies]] | + | |
- | * schönes Online [[https:// | + | |
- | * Eine schöne Einführung in die Embedded Softwareentwicklung ist im Buch [[https:// | + | |
- | * [[https:// | + | |
* [[https:// | * [[https:// | ||
- | * [[http:// | ||
- | * [[Atmel Studio Tipps]] | ||
- | |||
* [[https:// | * [[https:// |