Aufbau einer Systemumgebung für einen ARM 7 Controller

Für mehrere Projekte wird für einen Philips ARM7-Controller die Systemumgebung aufgebaut. Für die parallel entwickelte Anwendungssoftware wurde unter Verwendung der ARM-Tools eine Schnittstelle zu den Hardware-Ressourcen des Controller zur Verfügung gestellt. Neben Flash-, Timer- und PWM-Zugriffsfunktionen war z.B. eine RS232 Debug Schnittstelle als auch eine verschachtelte Interruptstruktur zu implementieren.
ARM 7 Systemumgebung
Hardware Philips LPC21xx ARM7TDMI-S Core
Sprachen C und Assembler
Umgebung ARM RealView Developer Suite v2.1
Debugger ARM Multi ICE
Dauer 3 Monate

Entwicklung von Firmware und Windows Software für ein Flash-Programmiergerät

Für 8-, 16- und 32-Bit Flash-Mikrocontroller waren Firmware und PC-Software für ein Programmiergerät zu entwickeln. Das Projekt beinhaltete Spezifikation, Entwicklung, Integration, Tests, Dokumentation sowie Freigabe der Software. Über ein Centronics Interface kann das Programmiergerät nach erfolgter Parametrierung auch autark in vollautomatische Produktionsprozesse beim Endkunden integriert werden. Um eine komfortable Parametrierung des Programmiergerätes durchführen zu können, wurde ein auf Windows 9x, NT4 und 2000 lauffähiges graphisches Interface entwickelt. Die zunächst in Visual Basic 4 erstellte GUI wurde insbesondere mit Hinblick auf die Ansteuerung von serieller, paralleler und USB-Schnittstelle in einer Nachfolgeversion auf API-C umgestellt.
Software für Flash-Programmiergerät
Hardware Controller NEC 70F3107
FLASH AMD 29DL323
serielles EEPROM X25097
programmierbarer Taktgenerator ICS307
Philips USB-Controller PDIUSBD12
LCD DEM16217
Sprachen VB, C und Assembler
Umgebung Embedded: Greenhills
PC: Microsoft C V6.x, Visual Basic V5.x
Debugger NEC V850
Dauer 15 Monate

Programmierung eines Echtzeitkernel

Für Lehrzwecke wurde ein Echtzeitkernel entwickelt, der einem 8-Bit-Mikrocontroller Echtzeit-Multitaskingeigenschaften verleiht. Der Kernel stellt dem Benutzer eine Schnittstelle für Assemblerprogramme durch Makros zur Verfügung. Das Anwenderprogramm wird automatisch mit den Objekt-Dateien des Kernels zusammengebunden und als ein Programmpaket in die Hardware-Entwicklungsumgebung geladen. Höchste Priorität in der Entwicklung hatte die Realisierung eines flexiblen, vom Anwender individuell konfigurierbaren Kernel. Der Kernel enthält einen prioritätsgesteuerten, verdrängenden Scheduling-Algorithmus. Zur Interaktion der einzelnen Prozesse stehen dem Anwender Events, Semaphoren, Messages und diverse Zeitdienste zur Verfügung.
Echtzeitkernel
Hardware 80C535 CPU Starterkit
Sprachen Assembler
Umgebung Keil V4.x
Debugger Hitex
Dauer 6 Monate

Phasenanschnittsteuerung

Für eine Baugruppe zur Ansteuerung eines Schwingmagneten war eine Phasenanschnittsteuerung beider Netzhalbwellen bei Netzfrequenzen von 25-75 Hz zu realisieren. Die Software synchronisiert sich fortlaufend auf die Netzfrequenz und ist gleichzeitig unempfindlich gegenüber kurzzeitigen Spannungseinbrüchen und Frequenzschwankungen. Versorgung der Karte mit neuen Sollwerten, Kalibrierung o.ä. erfolgt über eine RS232 vom PC aus.
Phasenanschnittsteuerung
Hardware Microchip PIC 16F874
Pegelwandler MAX202
Sprache C
Software HI-TECH C Compiler V7.87
MPLAB IDE 5.70.00
Debugger Microchip MPLAB ICE v2.60
Dauer 3 Wochen

Erweiterung einer LCD-Ansteuerung

Bei einer mit M16C Controller und grafischem LCD ausgestatteten Baugruppe war die Menüführung zu erweitern. Die bisher statische Menüstruktur wurde durch dynamischen Menüaufrufe ersetzt und es wurde eine graphische Leistungsanzeige implementiert. Die neue LCD Schnittstelle wurde in die bisherige Applikation integriert.
LCD-Ansteuerung
Hardware Mitsubishi M16C/62LCD Controller
Hitachi HD 61202U
Sprache C
Software Mitsubishi M16C Compiler M3T-NC30WA V5.00
Mitsubishi IDE V3.20
Debugger Mitsubishi M16C PD30
Dauer 2 Wochen