DVA Versuche für TI
Inhalt
(V1) AVR Grundlagen
Foto
Beschreibung
Bei diesem Versuch lernen Sie den elementaren Umgang mit einem Atmel AVR Mikrocontroller. Sie werden selber eine Schaltung aus einzelnen Bauelementen auf einem Steckbrett aufbauen und in Betrieb nehmen. Wir werden dazu einen der Controller AVR Mega8, Mega88 oder Mega32 verwenden. Auf Ihrem Notebook werden Sie unter Linux die GCC Toolchain installieren und ein kleines Demo-Programm in der Sprache C schreiben, das nach dem Kompilieren mit Hilfe eines Download-Werkzeuges auf den Atmel Controller übertragen ("geflasht") wird.
Ziele
- Grundlegende Hardware-Kenntnisse zum Betrieb eines Mikrocontrollers erwerben.
- Kennenlernen aller notwendigen Schritte um einen AVR zu programmieren.
- ISP/JTAG Adapter kennenlernen (Atmel ISP mkII, Atmel Dragon, USBprog, JTAGICE mkII, JTAGICE3).
- Verschiedene Compiler und IDEs kennenlernen
- Windows
- http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORWINDOWS.aspx
- http://www.atmel.com/tools/atmelstudio.aspx. Studio 7, nur für Windows. Bis Version 5 war das AVR Studio in Java geschrieben, deshalb lief es auf Windows und Linux. Ich empfehle die Version 4, herunterladen von http://hhoegl.informatik.hs-augsburg.de/nonfree/.
- WinAVR (Windows, frei unter GPL Lizenz) http://winavr.sourceforge.net/download.html
- Linux (Lit.: http://www.nongnu.org/uracoli/avrtools.html)
- http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx
- Linux Pakete gcc-avr, binutils-avr, avr-libc, avrdude, gdb-avr, avarice.
- Windows
Material
- AVR Mikrocontroller
- Drähte
- ISP Wannenstecker
- ISP Programmieradapter
- Steckbrett
Links
Homepage des Herstellers Atmel
AVR Tutorial
AVR GCC Tutorial
AVR Freaks Community
AVR im Labor
http://elk.informatik.hs-augsburg.de/hhweb/labor/avr/index.html
B. Liehr, Einführung in die Programmierung des AVR-Controllers (Creative Commons Lizenz)
Download Bereich für AtmelStudio-6 (login/pwd nötig)
WinAVR
(V2) Das Arduino Projekt
Foto
Beschreibung
Im Versuch "AVR" haben wir die Verwendung des Atmel AVR auf der untersten technischen Ebene gelernt. Das Arduino Projekt verwendet auch den Atmel AVR Controller, jedoch wird die Programmierung durch eine eigene IDE und einer eigenen Programmiersprache, die stark an C++ angelehnt ist, vereinfacht. Die Kehrseite dieser vereinfachten Verwendung ist, dass die zugrunde liegende Funktionweise verschleiert wird.
Ziele
- Unterschiede zwischen low-level Programmierung und Arduino-Programmierung erkennen.
- "Physical Computing" Plattformen studieren.
Links
- Homepage des Arduino Projektes: http://www.arduino.cc
- Verwandte Projekte
- Olimex "Duino": https://www.olimex.com/Products/Duino/open-source-hardware
- mbed (ARM): https://www.mbed.com
- Teensy (AVR, ARM): https://www.pjrc.com/teensy
- Maple (STM32): https://www.leaflabs.com/maple
Material
- Arduino UNO
- USB Kabel
- Steckbrett
(V3) mbed Mikrocontroller
Foto
Beschreibung
Der "mbed" Mikrocontroller ist eigentlich nur eine der üblichen kleinen Platine, die einen NXP LPC1768 Controller mit Cortex-M3 Kern enthält. Sie wird über USB an einen PC angeschlossen. Einige der auf dem Modul gespeicherten Daten erscheinen anschliessend im Dateimanager des PC. Zur sonst üblichen "schweren" Entwicklungsumgebung (IDE) gelangt man hier aber federleicht durch Anklicken eines Links im Web-Browser. Die IDE läuft nämlich auf einem Server von NXP als Web-Applikation. Sie editieren und kompilieren Ihre Programmtexte also über das Web. Zum Flashen der Software wird das Kompilat über das Web zu Ihrem PC geholt und per USB in den Controller geschoben.
Ziele
- Kennenlernen des LPC1768.
- Kennenlernen der Web-IDE.
- Anfertigen eines Beispielprogrammes.
Links
- http://www.mbed.org
- http://www.nxp.com (dann Suche nach LPC1768)
- http://www.nxp.com/documents/data_sheet/LPC1768_66_65_64.pdf
Material
- 1 x mbed Modul mit LPC1768 Mikrocontroller (es gibt mittlerweile sehr viele mbed-kompatible Boards, siehe https://os.mbed.com/platforms).
- 1 x USB Kabel
(V4) STM32 Nucleo
XXX to do
(V5) Micropython
XXX to do
(V6) RS-485 Bussystem
Wir werden einen einfachen Versuch mit dem Schnittstellen-Standard RS/EIA-485 machen, der zur preiswerten Vernetzung in der Fabrik und im Gebäudebereich verwendet wird. Zum Beispiel ist die berührungslose Türöffnungsanlage der Hochschule Augsburg mit diesem Bus realisiert.
Literatur
(V7) Controller Area Network
Foto
XXX
Beschreibung
Bei diesem Versuch werden Sie den CAN Feldbus kennenlernen. Mit Hilfe von zwei USB-zu-CAN Adaptern (http://www.fischl.de/usbtin) stellen Sie eine CAN Verbindung zwischen zwei PCs her (oder zwischen zwei USB Schnittstellen eines PC).
Ziele
Kennenlernen des CAN Übertragungsprinzips.
Ausblick auf die höhere CAN Schicht CANopen.
Informationen speziell für Linux
socketcan ist das Standard-API für die CAN Schnittstelle
can4linux ist ein weiterer Treiber für CAN Controller unter Linux
Links
Alternative kommerzielle Hersteller von CAN-Bus Adaptern:
- http://www.peak-system.com
- http://www.systec-electronic.com
- http://www.ixxat.de
- http://www.ems-wuensche.de
- http://esd.eu
- http://www.mhs-elektronik.de (Tiny-CAN)
- viele weitere ...
Literatur
Wolfhard Lawrenz (Hrsg.): CAN - Controller Area Network. Grundlagen und Praxis. Hüthig Verlag 1994 (liegt dem Versuch bei).
Introduction to the Controller Area Network (CAN), 17 pages, Texas Instruments 2016
Renesas, Introduction to CAN, 44 Seiten, 2006
http://elk.informatik.hs-augsburg.de/cdrom-es/CAN/rej05b0804_m16cap.pdf
H. Boterenbrood, CANopen, 23 Seiten, 2000.
http://elk.informatik.hs-augsburg.de/cdrom-es/CAN/CANopen30.pdf
Material
- 2 x USBtin USB-zu-CAN Module
- 1 x CAN Verbindungskabel Sub-D 9-polig.
(V8) Global Positioning System
XXX to do
(V9) Raspberry Pi (RPI-HAT)
RPi + Sense HAT Shield
Das Sense HAT ist ein Aufsteckboard für den Raspberry Pi:
(V10) Raspberry Pi (RPI-IO)
RPi + I/O Tasten
(V11) Beagle Bone Black
XXX to do