9927
Kommentar:
|
9918
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 1: | Zeile 1: |
#language de | |
Zeile 3: | Zeile 2: |
#lang de | |
Zeile 14: | Zeile 14: |
xxx |
Ausschreibung von Bachelor- und Masterarbeiten
Prof. Dr. Hubert Högl, <Hubert.Hoegl@hs-augsburg.de>
URL: http://elk.informatik.hs-augsburg.de/hhwiki/BaMaArbeitenNeu
Inhalt
- 1 Gnublin
- 2 GDB Debug Stub für ARM7/Cortex M3
- 3 CAN I/O Modul "SLXIO2"
- 4 Alte Hardware schnittstellengetreu durch Neue ersetzen
- 5 Grafikprogrammierung mit Gtk+
- 6 TinyCAN
- 7 Socketcan / Python
- 8 Open On-Chip Debugger
- 9 Embedded Projects
- 10 Offene Heizungssteuerung
- 11 Solarregler TDR100/TDR300
- 12 Debuggen von CPU32- und Coldfire-Prozessoren
- 13 ARM7 Tutorial
1 Gnublin
17.4.2014
Beim Gnublin Projekt http://www.gnublin.org warten viele Bachelorarbeiten. Hier sind ein paar Beispiele:
- Barebox Bootloader anpassen (http://barebox.org)
- ''Gnublin Distribution'' ueberarbeiten (http://wiki.gnublin.org/index.php/Gnublin_Distribution). Eine Option waere, das Programm in Python neu zu schreiben.
- Aktuellen Linux Kernel fuer LPC3131 Mikrocontroller anpassen. Im Idealfall die Aenderungen in den Mainline-Kernel bringen.
2 GDB Debug Stub für ARM7/Cortex M3
(1.12.2012) Ich möchte die früher häufiger verwendete Technik wieder aufleben lassen, den Debugger gdb über die serielle Schnittstelle an einen Mikrocontroller anzuschliessen. Dazu braucht man einen "Debug Stub" der in dieser Arbeit anzufertigen ist. Die entstehende Software soll portabel sein und für die gängigen ARM7/Cortex M3 Kerne funktionieren.
3 CAN I/O Modul "SLXIO2"
Das veraltete SLXIO Modul soll durch ein moderneres "SLXIO2" ersetzt werden. SLXIO2 verwendet einen Atmel AVR AT90CANxxx Baustein.
Material
Allgemeine Projektseite zur Heizungssteuerung
SLXIO2 Subversion Repository
XXX Link aktualisieren
SLXIO (soll durch SLXIO2 ersetzt werden)
XXX Link aktualisieren
CANNET git Repository
XXX Link aktualisieren
Tiny-CAN Adapter von MHS Elektronik (USB zu CAN Schnittstelle)
Heimautomatisierungs-Projekt vom SoSe-2009 (Gregor Solotarow, Alexander Rampp, Ewald Klamer, Frederik Hinze)
- Abschlussbericht (XXX Link aktualisieren)
- SVN Repo https://io.informatik.fh-augsburg.de/svn/HA
H. Högl, Eine modulare und konfigurierbare Heizungssteuerung, 1. Dezember 2003.
4 Alte Hardware schnittstellengetreu durch Neue ersetzen
(13. August 2010)
Die in die Jahre gekommene CPU11 Hardware mit 68HC11 Controller soll durch eine moderne Hardware ersetzt werden, so dass die Baugruppe einfach ausgetauscht werden kann. Das heisst, die Schnittstellen nach aussen sollen unveraendert funktionieren. Es gibt Schnittstellen fuer eine Tastenmatrix, einige LEDs, RS-232, CAN-Bus und ein alphanumerisches 20x4 LCD Display. Die bisherige Anwendung wurde in C auf einem winzigen Multitasker programmiert. Das neue Board soll mit einem Controller mit ARM7 Kern ausgestattet werden und unter FreeRTOS oder eCos arbeiten. Ich koennte mir sogar vorstellen, dass ein kleines Embedded Linux Modul auf dem neuen Board sitzt.
Hier sieht man die alte CPU11 Hardware:
XXX Link aktualisieren
5 Grafikprogrammierung mit Gtk+
(18. Dezember 2009) In einer Diplomarbeit sollen einige Gtk Widgets entstehen, die analoge Zeigerinstrumente imitieren. Mit Hilfe dieser Instrumente sollen Messwerte visualisiert werden, die ueber SCPI (Standard Commands for Programmable Instruments) von (realen) Messgeraeten gelesen werden.
6 TinyCAN
(18. November 2009) Vor einigen Jahren habe ich an der FH den Prototyp eines CAN Interface gebaut, das später von der Firma MHS Elektronik zur Serienreife weiterentwickelt wurde. Mittlerweile hat die Firma viele neu entwickelten CAN Adapter im Lieferprogramm. Erfreulich ist, dass auch die gesamte Software auf dem PC zur Ansteuerung der Schnittstellen sowohl für Windows als auch für Linux frei ist (im Sinne von Open-Source Software).
Wir würden nun gerne im Rahmen einer Diplomarbeit ein kleines CAN Sensornetzwerk aufbauen mit folgenden Ideen:
- Die Sensor Werte werden über den CAN Bus mittels der Tiny-CAN Hardware eingelesen.
- Ein Server (TCP/IP) verwaltet eine Sensor-Datenbank.
- Über ein Web-Interface können die Sensor-Werte angezeigt werden, ausserdem kann die Software darüber konfiguriert werden.
- Über ein Gnome Applet können Werte in der Statuszeile des Desktops angezeigt werden.
- Einbindung der RRDTools zur grafischen Anzeige (http://oss.oetiker.ch/rrdtool)
- Entwicklung eines universellen CAN Knoten zum Messen von Temperatur, Luftfeuchtigkeit, sonstigen Sensoren, digitalen I/O und anderen zum Beispiel mit einem Atmel AT90CAN32/64/128.
Eine interessante Seite zu diesem Thema: http://www.messpc.de
Homepage von MHS Elektronik: http://www.mhs-elektronik.de
7 Socketcan / Python
(16. November 2009) Wir experimentieren öfter mal mit Socketcan (https://gitorious.org/linux-can), aktuell bei einer Diplomarbeit ueber Embedded Linux auf einem AVR32 Mikrocontroller. Das Socket-Modul in Python (socketmodule.c) versteht aber leider die Adressfamilie "CAN" noch nicht. Sie könnten das ändern (und noch ein paar Sachen dazu).
Ausserdem würde ich gerne eine Anbindung der "TinyCAN" USB-zu-CAN Adapter (siehe http://www.mhs-elektronik.de) an socketcan realisieren. Vom Arbeitsumfang würde dies in etwa eine Diplomarbeit füllen. Wenn dieser Schritt geschafft ist, dann kann auch CAN-Festival (http://www.canfestival.org) -- eine freie CANopen Implementierung -- sofort mit TinyCAN verwendet werden.
8 Open On-Chip Debugger
Der OpenOCD ist ein JTAG Debugger für alle Mikrocontroller die einen ARM-Kern haben (http://www.arm.com). Er entstand aus einer Diplomarbeit, die ich vor ein paar Jahren betreut habe. Mittlerweile wird das Projekt aktiv von einer Gemeinde aus dem Internet weiterentwickelt. Hier sind einige mögliche Themen:
- Integration der Skriptsprache Python (neben der bestehenden Skriptsprache Jim Tcl).
- Tutorien schreiben
- Thread-Unterstuetzung fuer FreeRTOS und eCos einbauen
- CPLD/FPGA Programmierung
- Boundary Scan Test
- Tracing
- Integration neuer Prozessoren
Hier sind ein paar weiterführende Links:
- Homepage http://openocd.berlios.de
- Online Doku http://openocd.berlios.de/web/?page_id=54
- Eclipse/OpenOCD fuer Windows http://www.yagarto.de
- Meine Seite http://www.hs-augsburg.de/~hhoegl/proj/openocd/index.html
9 Embedded Projects
Mein ehemaliger Diplomand Benedikt Sauter entwickelt interessante Soft- und Hardware und vermarktet das alles auch in seinem Internet-Geschäft http://www.embedded-projects.net. Seine Firma könnte zur Unterstützung der Entwicklungsarbeit sowohl Praktikanten als auch Diplomanden brauchen.
10 Offene Heizungssteuerung
Die unter http://www.hs-augsburg.de/~hhoegl/die-steuerung/index.html vorgestellte Heizungssteuerung hat noch viele unerledigte Arbeitspakete. Wenn Sie in diesem Bereich etwas machen wollen, dann kann ich gerne eine oder mehrere Diplomarbeiten nach Mass ausschreiben. [ausgeschrieben am 17. September 2008]
11 Solarregler TDR100/TDR300
Bei thermischen Solaranlagen hat man grob gesagt einen Regelkreis, der aus dem Sonnenkollektor, einigen Temperatursensoren und einer Pumpe besteht. Zum Steuern dieses Regelkreises wurde die Geraete TDR100 und TDR300 entwickelt, die mit dem Atmel AVR Mikrocontroller ausgestattet sind. Der Quelltext dieser Geraete wurde in Assembler geschrieben und soll nun in die Sprache C umgeschrieben werden. Auch einige neue Eigenschaften sollen implementiert werden.
XXX to do: Links aktualisieren
12 Debuggen von CPU32- und Coldfire-Prozessoren
Beim Debuggen von Prozessoren mit CPU32- und Coldfire-Kernen war man lange Zeit an den Parallelport gebunden, weil BDM Adapter fuer den USB Port (zumindest freie Adapter) rar waren. Seit 2006 gibt es eine Loesung von Daniel Malik, den "Turbo BDM Light Coldfire USB Pod" (TBLCF), der komplett unter der GPL steht. Dieser Adapter wird auch bereits von den BDM Tools unterstuetzt. Nun sollen die BDM Tools in einer Diplomarbeit zusaetzlich um Unterstuetzung fuer den USBprog erweitert werden, da dieser Adapter schneller und wesentlich breiter verfuegbar ist. Ausserdem ist neben dem Coldfire Kern auch der CPU32 Kern, der z.B. im Mikrocontroller 68332 im RT Praktikum verwendet wird, zu unterstuetzen. Der angefertigte Quelltext wird unter der GPL Lizenz stehen. [ausgeschrieben am 10. April 2008]
- Embedded Projects (USBprog) http://www.embedded-projects.net
- BDM Tools http://bdm.sourceforge.net
- TBLCF USB BDM Adapter http://forums.freescale.com/attachments/freescale/CFCOMM/624/1/tblcfv10.zip
- Vorlesung "Rechnertechnik" http://www.hs-augsburg.de/~hhoegl/rt/rt.html
13 ARM7 Tutorial
Ein Tutorial fuer die Programmierung eines ARM7 Controllers soll entstehen, aehnlich wie das in DA-21 (siehe http://elk.informatik.hs-augsburg.de/hhweb/da/da.html) fuer den AVR gemacht wurde. Sie verwenden ausschliesslich freie Werkzeuge, z.B. den GNU C Compiler und OpenOCD. Der Controller wird wahrscheinlich ein Atmel AT91SAM7X256 sein. Es ist bereits eine Experimentierplatine mit diesem Prozessor vorhanden. Die Arbeit wird unter einer freien Lizenz (z.B. Creative Commons) erscheinen. [ausgeschrieben am 29. November 2007]