Autor: | Hubert Hoegl <Hubert.Hoegl@hs-augsburg.de> |
---|---|
Datum: | 2008-01-07 |
URL: | http://hhoegl.informatik.hs-augsburg.de/doc/die-steuerung/controller.html |
Inhalt
Controller
Auf dem Controller läuft das Steuerungsprogramm. Wesentliche Teile sind
- Tasks (parallele Programmteile)
- Menüsteuerung
- Kommunikation über UART, SPI und CAN
- Bibliothek aus vordefinierten Komponenten
Die konkrete Implementierbarkeit des Controllers soll so offen wie möglich sein. Da bei der Heizungssteuerung nur relativ träge Reaktionen im Sekunden- bis Minutenbereich auftreten, ist die Leistungsfähigkeit des Controllers (fast) nicht von Bedeutung. Folgende Randbedingungen sind erforderlich:
- Eine 8-, 16-, oder 32-Bit CPU mit 8 bis 60 MHz Takt
- Etwa 100 bis 500K Programmspeicher (Flash)
- Etwa 16 bis 128K RAM Speicher
- Real-Time Clock
- EEPROM mit 1 bis 2K (auch SPI Anschluss möglich)
- UART
- SPI
- CAN. Das CAN Interface kann entweder in den Mikroprozessor eingebaut sein, oder als externer Baustein an den Prozessor angeschlossen sein. Ausserdem ist es möglich, einen externen CAN Adapter, z.B. USB-Tiny-CAN (http://www.mhs-elektronik.de) über UART oder USB anzusteuern.
- Freie I/O Leitungen zum Anschluss des Displays, Tasten und LEDs. Als Alternative könnte man das Diplay auch über SPI ansteuern. Dann müsste das Display allerdings mit einem eigenen kleinen Controller ausgestattet sein (oder man verwendet ein Display mit SPI Anschluss).
- USB Device Anschluss zum Anschliessen an den PC (optional).
- Programmierbarkeit über den GNU C Compiler.
Mögliche Hardware für den Controller umfasst:
- Handelsübliche Boards mit 32-Bit ARM7 Mikroprozessor, z.B. LPC2292 oder Atmel AT91SAM7X256. Diese Prozessoren habe auch bereits mindestens eine CAN Schnittstelle eingebaut. Solche Boards gibt es z.B. bei Olimex (http://www.olimex.com).
- Handelsübliche Boards mit 8-Bit Atmel AVR Prozessor, z.B. Mega128 oder Mega256.
- Boards mit Embedded Linux, z.B. mit ARM9 MCU
- Boards mit uClinux, z.B. mit ARM7 MCU
- Gewöhnlicher PC unter Linux. Es reicht ein (sehr) altes Modell, z.B. ein 80486 mit 25 MHz. Es wird keine Grafik benötigt.
Manche der üblichen Boards haben keinen EEPROM und/oder keinen RTC. Diese Bausteine müssen dann extern über SPI angeschlossen werden.
Die SPI Schnittstelle ist sehr vielseitig verwendbar, z.B. für
Er dient zum Abspeichern von Messdaten über längere Zeiträume, z.B. Wochen und Monate. Die Flash-Technologie wird als Speicher verwendet, in der Form von MMC Karten, DataFlash Karten oder ICs, oder USB Flash Dongles. In letzterem Fall muss der Logger auch über eine USB Host Schnittstelle verfügen.
Manche Controller Plattformen haben bereits eine USB Host Schnittstelle eingebaut. Unter Embedded Linux oder uClinux gibt es dazu auch Treibersoftware.
Das Ein-/Ausgabemodul SLXIO2 hat sich aus dem schon etwa 10 Jahre verwendeten SLXIO entwickelt. Die Version 2 hat folgende Eigenschaften:
H. Högl, Eine modulare und konfigurierbare Heizungssteuerung, 1. Dezember 2003.
http://hhoegl.informatik.hs-augsburg.de/hhweb/doc/heizung/paper.pdf
Peter Novotnik, A framework for menu structured user interfaces on embedded systems, Diplomarbeit im Wintersemester 2005/2006.
Christian Merkle, Entwicklung eines GUI-Frameworks fuer Embedded Systems zur plattform- und controllerunabhängigen Ansteuerung und Simulation von LCDs, Masterarbeit im Wintersemester 2007/2008,