Motorola MPC555

The MPC555 is a high-speed 32-bit Central Processing Unit that contains a floating point unit designed to accelerate the advanced algorithms necessary to support complex applications. High-performance data manipulation capabilities and a large on-chip FLASH memory with powerful peripheral subsystems allow for the flexibility to change or upgrade your product late in the production cycle.

The MPC555's 32-bit Core—compliant with the PowerPC instruction set architecture—supports a wide range of on-board peripherals and offers excellent functionality and performance. Its high level of flexibility is combined with low development costs and quick time to market cycles. In addition, code compatibility and scalability among the MPC500 Family members eases the migration process and offers software reuse between family members. For more informations download the documentation of the MPC555 board.

MPC555 Features

  • 40MHz Core with Floating Point Unit

  • 26 Kbytes of Static RAM

  • 448 Kbytes Flash EEPROM Memory with 5-V programming (CMF)

  • Flexible Memory Protection Unit

  • General-Purpose I/O Support

  • Two Time Processor Units (TPU3)

  • 18-Channel Modular I/O System (MIOS1)

  • Two Queued Analog-to-Digital Converter Modules (QADC)

  • Two CAN 2.0B Controller Modules (TouCANs)

  • Queued Serial Multi-Channel Module (QSMCM)

  • U-Bus System Interface Unit (USIU)

Allgemeine Dokumente

mpc555 Microcontroller Board

Download (pdf)

Allgemeine Datenblätter

MPC555 User's Manual

Download (pdf)

MPC5xx RISC CPU Reference Manual

Download (pdf)

RAM M5M5V408B, 512kB

Download (pdf)

Flash AM29LV160D, 16 Megabit (2M*8Bit / 1M*16Bit)

Download (pdf)

MPC555-Board

Datenblätter, Schema, PCB

MPC555-Board Hauptprint

Download (pdf)

MPC555-Board Prozessor

Download (pdf)

MPC555-Board Memory

Download (pdf)

MPC555-Board Steckerbelegung

Download (pdf)

MPC555-Board Memory-Map

Download (pdf)

MPC555-Board Steckerbelegung Schema

Download (Schematic Library)

MPC555-Board Steckerlayout

Download (PCB Library)

Anschlüsse

Für den Betrieb des Boards müssen die folgenden Pins angeschlossen werden:

  • 3V zwingend (es genügt 1 Pin, egal welcher)

  • 5V zwingend (es genügt 1 Pin, egal welcher)

  • 12V optional (muss nur angeschlossen sein, falls der CAN-Bus benutzt wird)

Stromverbrauch

In den folgenden Tabellen ist der Stromverbrauch des MPC555 unter verschiedenen Betriebsbedingungen aufgelistet.

Standby-Modus

Total mit Kabel-Interface = 156mA

Total ohne Kabel-Interface = 100mA

3.3V ohne Kabel-Interface = 72mA

5V ohne Kabel-Interface = 28mA (Rest)

Flash-Anwendung

Total mit Kabel-Interface = 317mA

Total ohne Kabel-Interface = 250mA

3.3V ohne Kabel-Interface = 199mA

5V ohne Kabel-Interface = 51mA (Rest)

Debug-Modus (BDI)

Total mit Kabel-Interface = 386mA

3.3V mit Kabel-Interface = 275mA

5V mit Kabel-Interface = 111mA (Rest)

 
 

Steckerleisten für MPC555 (Gegenstücke)

  • Samtec TFM-150-01-L-D-LC (1x) à ca. 12.-

  • Samtec TFM-130-01-L-D-LC (2x) à ca. 8.-

Lieferant: Sibalco, Basel

Lieferzeit: ca. 2-3 Wochen

MPC555 Interfaceprint

Mit dem MPC555-Interfaceprint werden die Signale zwischen dem Host und Mikrokontroller verstärkt. So kann eine Kabellänge von mehr als 10 m ohne Probleme erreicht werden. Handelsübliche 9Pol-DSub-Buchsen für die serielle Kommunikation und 25Pol-DSub-Stecker für die BDI-Kommunikation ermöglichen den Gebrauch von handelsüblichen Verbindungskabeln.

Das Schema des Interfaceprints kann hier heruntergeladen werden.

USB Interfaceprint

Die Beschreibung des USB Interfaceprints befindet sich im Artikel „USB Programming and Debugging Interface“

MPC555 Regelungstechnik-Box

Die Regelungstechnik-Box beinhaltet, wie im Titel bereits erwähnt, einen MPC555 als Kernkomponente. Es stehen die folgenden Peripheriebausteine zur Verfügung:

  • 8 digitale Eingänge

  • 8 digitale Ausgänge

  • 8 analoge Eingänge

  • 8 analoge Ausgänge (wovon 2 mit erhöhtem Ausgangsstrom)

  • externe QSPI

Doku zur MPC555-RegelungstechnikBox.

Schema zur MPC555-RegelungstechnikBox.

Testprogramm zur MPC555-RegelungstechnikBox.

Regelungstechnik-Print

Der Regelungstechnik-Print ist der Nachfolger der oben beschriebenen Regelungstechnik-Box. Die Kernkomponente des Regelungstechnik-Prints ist wie bei der Box ein MPC555. Es stehen die folgenden Peripheriebausteine zur Verfügung:

  • 8 digitale Eingänge/Ausgänge

  • 4 analoge Eingänge

  • 4 analoge Ausgänge (2 davon sind Power-Ausgänge)

  • externe QSPI

  • 4 LED

Doku zum MPC555-RegelungstechnikPrint.

Schema zum MPC555-RegelungstechnikPrint.

Testprogramm zum MPC555-RegelungstechnikPrint.

Testanleitung zum MPC555-RegelungstechnikPrint.

RTBoard-API-Referenz

PowerPC Architektur

PPC Roadmap

Download (pdf)

MPC5xx Roadmap

Download (pdf)

Tutorials und Application Notes

PPC Embedded Application Binary Interface

Download (pdf)

PPC Embedded Application Binary Interface, App. Note

Download (pdf)

PPC Compiler Writers Guide

Download (pdf)

Exception Table Relocation

Download (pdf)

MPC555 Interrupts

Download (pdf)

BDM-Interface

Download (pdf)

Chip Errata

Chip Errata MPC555 K3 Mask Set (12.10.2002)

Download (pdf)

Unsere Chips haben die folgenden Specifikationen: Mask Set = 6K02A, PartNum = 0x30, MaskNum = 0x32, Nick Name = K3

Weiterführende Links

http://www.cloudcaptech.com/mpc555resources.htm

http://groups.yahoo.com/group/MPC500/

Programmierung

Der Microcontroller MPC555 kann in Componenten Pascal oder in Java programmiert werden.

Einen ersten Überblick bietet das PDF Java-Crosscompiler für mpc555. Anhand von verschiedenen Beispielen wird die objektorientierte Programmierung mit Component Pascal und Java beschrieben. Es werden die Gemeinsamkeiten sowie die Unterschiede anschaulich aufgezeigt. Zudem die Verwendung von beider Programmiersprachen mit Hilfe des Java Native-Interfaces erklärt.

Java Treiber

Unter folgendem Link finden Sie die Java API-Beschreibung der Packages mpc555 (Treiber) und mpc555test (Testprogramme).

MicroC/OSII

MicroC/OSII is a small and efficient operating system. It offers a preemtive real-time kernel and many useful features. It can manage up to 64 tasks with unique priorities as-signed to it. Each task has its own stack with different stack sizes. It provides further ser-vices like time management functions, events, mutexes and semaphores. Interrupts can suspend the execution of a task. If a higher priority task is awakened as a result of the in-terrupt, it will run immediately.

FAQ

1. Welchen Spannungsbereich misst der interne AD-Wandler?
2. Wie schnell ist der Prozessor getaktet?
3. Target Commands funktionieren nicht
4. Wie funktioniert die Garbage Collection?
5. Periode eines Tasks ändert nicht
6. Target startet nicht aus Flash
7. IRQ0 nicht benützen
8. IRQ5, IRQ6 und IRQ7 sind beschaltet und ich kann keine Programme mehr runterladen.
9. Wie kann ich ein Programm im Flash debuggen?
10. Die LED auf dem Interfaceprint (Huckepack) leuchtet.
11. Kleine LED auf dem Target-Board blinkt
1.

Welchen Spannungsbereich misst der interne AD-Wandler?

Es sind zweimal 16 Kanäle (mit externem Multiplexer sogar mehr) vorhanden. Jeder Kanal wird mit 10 Bit abgetastet. Die negative Referenzspannung liegt auf AGND. Dieses Signal liegt auf J3/Pin2 des Footprints und muss extern mit Masse verbunden werden. Die positive Referenzspannung ist auf dem Board bereits mit +5V verbunden.

2.

Wie schnell ist der Prozessor getaktet?

An den mpc555 ist ein 4Mhz Quarz angeschlossen. Daraus erzeugt ein PLL den internen Takt von 40MHz. Der Inter Module Bus läuft ebenfalls mit der gleichen Frequenz. Diese Einstellungen passieren im Kernel.

3.

Target Commands funktionieren nicht

Wenn Sie vom Host aus einen Command auf dem Target starten möchten, muss zwingend ein Scheduler auf dem Target laufen, d.h. es muss z.B. das Modul ToppcTasks mitgeladen werden.

4.

Wie funktioniert die Garbage Collection?

Die dynamischen Variablen werden in einem Speicherbereich namens Heap alloziert. Wird ein einmal reservierter Bereich nicht mehr benötigt (nicht mehr referenziert), wird er vom Garbage Collector automatisch wieder dem freien Speicher zugeteilt. Was genau abläuft: siehe Modul ToppcHeap.

5.

Periode eines Tasks ändert nicht

Ein Task wird mit einer bestimmten Periodendauer installiert. Zu einem späteren Zeitpunkt kann diese Periodendauer nicht verändert werden, resp. eine Änderung wirkt sich nicht aus.

6.

Target startet nicht aus Flash

Damit der mpc555 aus dem Flash booten kann, muss sich natürlich ein gültiges Programm im Flash befinden. Es spielt keine Rolle, ob das Debugging Interface aufgesteckt bleibt. Im Falle des USB Interfaces müssen Sie aber sicherstellen, dass die Jumper korrekt gesteckt sind (Power vom Mikrocontrollerboard).

7.

IRQ0 nicht benützen

Der externe Interrupt-Eingang IRQ0 löst einen NMI aus (non-maskable interrupt). Benutzen Sie diesen Pin auf keinen Fall!

8.

IRQ5, IRQ6 und IRQ7 sind beschaltet und ich kann keine Programme mehr runterladen.

Achtung, bei einem Reset müssen diese drei Interrupteingänge unbedingt offen gelassen werden. Grund: Über diese 3 Pins wird der Systemtakt eingestellt (interne pullups und -downs). Nach dem Reset können diese Interrupteingänge sehr wohl benutzt werden.

9.

Wie kann ich ein Programm im Flash debuggen?

Wenn ein Programm, das aus dem Flash heraus läuft, Fehler beinhaltet, kann der Ablauf nicht einfach mit dem Debugger unterbrochen werden, da der Debug-Modus ausgeschaltet ist. Sie müssen wie folgt vorgehen: 1. XoppcSystem.Build ausrufen mit der MemoryMap für das Flash (dieser Punkt kann wegfallen, wenn der letzte Build immer noch aktuell ist). 2. XoppcSystem.LoadRam (damit wird der Prozessor neu gestartet, der Debug-Modus eingeschaltet und die globalen Variablen geladen. Das Programm läuft aus dem Flash, aber jetzt kann das Programm jederzeit durch den Debugger unterbrochen werden).

10.

Die LED auf dem Interfaceprint (Huckepack) leuchtet.

Eine leuchtende LED bedeutet, dass der Prozessor im Debug Modus ist. Entweder haben Sie den Prozessor gestoppt mit TargetBreak oder im Programm ist eine Exception aufgetreten, die den Prozessor in den Debug Modus versetzt hat. Welche Exception die Ursache ist, und was Sie weiter unternehmen können, lesen Sie im BoardDemoTool unter Exceptions nach. (das BoardDemoTool öffnen Sie unter dem Menupunkt 'InfoXoppc').

11.

Kleine LED auf dem Target-Board blinkt

Entweder ist der Memorycheck in der Bootprozedur misslungen (wird gleich nach dem Starten ausgeführt) oder eine Exception wurde ausgelöst und ein Exception Handler lässt die LED blinken.