Ingenieurbüro für Leistungselektronik und Antriebe
L-E-A | Dr. Volker Bosch
Beratender Ingenieur / Consultant
Humboldtstraße 21
70771 Leinfelden-Echterdingen
Tel: 0711 713967
Mobil: 0170 1243186
Fax: 0711 48994659
info@dr-bosch.com

 

 

 

Digitale und analoge Elektronik

PPC32 Mezzanine-Board für komplexe Timing-Aufgaben

In den frühen 1990er Jahren entwickelte Motorola einen Timing-Coprozessor für Mikrocontroller-Systeme (MCU), die sogenannte Time Processor Unit (TPU). Die TPU erzeugt durch Abarbeitung eines Microcode-Programms, weitgehend unabhängig von der CPU, komplexe Timing-Signale. Die Signale, bzw. die Zähler, welche diese Signale generieren, können untereinander oder mit externen Signalen verknüpft bzw. auf diese synchronisiert werden. Sie sind über einen Registersatz durch die CPU des Mikrocontrollers beeinflussbar. Eine für Leistungselektronik sehr interessante Anwendung ist beispielsweise eine mehrkanalige Pulsweiten-Modulation mit frei einstellbarer Phasenlage der einzelnen Kanäle. So kann bei der Ansteuerung einer Umrichterbrücke der Ripple des Laststroms und damit das Geräusch der angeschlossenen Maschine oder auch die EMV-Emission minimiert werden.
Implementiert wurde die TPU beispielsweise in den MCUs der MC6833x-Familie. In den vergangenen 20 Jahren wurde die TPU zur eTPU2 weiter entwickelt. Diese findet sich in MCUs der PowerPC32-Familie (PPC32), die von NXP und ST für komplexe Steuerungsaufgaben in Automotive-Applikationen angeboten werden, beispielsweise für die Ansteuerung von Verbrennungsmotoren.

Die TPU ist auch sehr gut für Anwendungen in der Leistungselektronik geeignet. Eine Vielzahl von Bibliotheks-Funktionen sowie die Möglichkeit eigenen Microcode für die TPU zu erzeugen, versprechen die Lösung hochkomplexer Timing-Aufgaben.

Um schnell und flexibel Versuchsträger bzw. Demonstrator-Boards aufbauen zu können, wurde ein kompaktes Mezzanine-Bord mit einer SPC563Mx bzw. MPC5634Mx-MCU entworfen und aufgebaut. Fotos eines Exemplars des Boards sehen Sie am rechten Rand dieser Seite.

Auf dem Board befinden sich neben der MCU die folgenden Baugruppen:

Entwicklungsumgebung

Als Entwicklungsumgebung wird eine Portierung des GCC 4.9.2 für den PPC32-Core e200 (e200-gcc) auf einem Linux-PC verwendet (Quelle: github). Für die Programmierung bzw. den Download der Firmware auf die MCU wurden eigene Start-Up- bzw. Konfigurations-Module, Linkerskripte und Software-Tools für den Host-PC (Linux) entwickelt.
Die Firmware kann über die eSCI-Schnittstelle (UART/RS232) in das SRAM der MCU geladen werden und wird anschließend durch die MCU ausgeführt. Eine in das Host-Software-Tool zum Hochladen der Firmware integrierte einfache Terminalfunktion ermöglicht die Kommunikation mit der MCU und erlaubt so die schnelle und einfache Erprobung neuer Firmwaremodule auf der MCU.
Im nächsten Schritt wird die Programmierung des MCU-Flash-ROMs unter Verwendung der C90LC-APIs von NXP bzw. ST implementiert, so dass im Flash-ROM der MCU ein Echtzeit-Betriebssystem (RTOS) installiert werden kann.
Abschließend können dann die gewünschten eTPU2-Funktionen auf der MCU implementiert und erprobt werden.

Gerne erstelle ich für Sie mit dieser Hard- und Software-Basis Funktionsmuster bzw. Demonstratoren zur Lösung Ihrer Timing-Aufgaben und begleite Sie bei der Umsetzung in ein Serienprodukt.

 


Aktualisiert: 2020-08-05