Automatisieren Automatisieren mit der Mikrocontrollerfamilie XMC4000

Die globalisierte Welt stellt die Automatisierungstechniker vor vielseitige Herausforderungen. Ihre Embedded-Systeme müssen vernetzt und gleichzeitig sicher vor Cyber-Attacken sein. Die Anforderungen an Produktivität und Fertigungsgüte bleiben hoch, der Wunsch nach Schutz geistigen Eigentums wird stärker. Kaum ein Mikrocontroller besaß bisher die Vielseitigkeit, sowohl Kommunikation als auch Sensor und Aktor auf höchstem Niveau zu adressieren und dabei sicheren Schutz zu bieten. Die neue XMC4000-Familie bietet eine ganzheitliche Lösung, mit der sich Materialkosten und Entwicklungszeit reduzieren lassen.

Kopien aus Asien sind für europäische Hersteller Normalität geworden. Sie sind dem Original nicht nur optisch und funktional nachempfunden. Das Kopieren fängt oft genug beim Firmen- und Produktnamen an und erstreckt sich bis auf die Platine und die Bauteile. So musste einmal ein deutscher Hersteller elektrischer Antriebe erfahren, dass auf einer chinesischen Fachmesse eine lokale Firma ausstellte, die geradezu eine Kopie ihres gesamten Unternehmens war.

Als man dann einen Nachbau eines erfolgreichen Frequenzumrichters öffnete, fand man zum Erstaunen Platinen von exakt geometrischer Gleichheit, bestückt mit identischen Bauteilen, durchzogen mit identischen Leiterbahnen. Nicht nur die Hardware wurde kopiert. Auch die Software des Frequenzumrichters wurde reproduziert, indem man den Hex-Code aus dem Mikrocontroller ausgelesen hatte.

Das ging ganz einfach: Es wurde nur ein Debugger an die JTAG-Schnittstelle gehängt. Und somit fielen die aufwendigen Regelalgorithmen und Kommunikations-Stacks in die falschen Hände. Damit so etwas nicht passiert und Infineon-Kunden ihr geistiges Eigentum schützen können, wurden Sicherheitsmechanismen im XMC4000-Flash-Speicher eingebaut. Unerlaubtes Auslesen des Speicher- inhalts wird blockiert (Bild 1). Auch der Debugger kann ausgeschlossen werden, um die sensiblen Daten zu schützen. Falls doch einmal ein Lesezugriff nötig sein sollte, kann der Leseschutz der betroffenen Flash-Speicherbank zeitlich begrenzt durch ein 64-bit-Passwort aufgehoben werden.

Schutz vor Stuxnet & Co.

Mit dem Kopierschutz stellt sich auch eine weitere Frage, nämlich die um den Schutz vor Cyber-Attacken: Angriffe auf Soft- und Hardware-Systeme von Regierungen, Unternehmen und Endverbrauchern. Im Juni 2010 war der Computerwurm Stuxnet aktiv und erlangte weltweite Berühmtheit, indem er iranische Zentrifugen zur Urananreicherung unbrauchbar machte. Es war nichts anderes als ein gezielter Angriff auf ausgesuchte speicherprogrammierbare Steuerungen mit angeschlossenen Frequenzumrichtern; der Angriff wurde von einem nicht rückverfolgbaren Ort der Welt aus durchgeführt.

Spätestens hier muss jedem bewusst sein, dass Viren, Trojaner und Würmer nicht nur eine Plage für PC-Nutzer sind. Sie können auch die Embedded-Systeme der Maschinen und Fertigungsanlagen treffen und haben somit die Automatisierungstechnik erreicht. Als Gegenmaßnahme können sichere Embedded-Betriebssysteme eingesetzt werden, die jedoch verhältnismäßig viel Hauptspeicher benötigen.

Die XMC4000-Familie hat daher bis zu 512 KB an RAM integriert. Doch auch ohne Betriebssystem bietet der XMC4000 Schutz vor unzulässiger Codeausführung. Neben dem Lese- ist auch ein Schreibschutz im Flash-Speicher integriert. Programmcode in den geschützten Sektoren kann nicht durch schädliche Codesequenzen manipuliert oder gar ersetzt werden.

Wahlweise kann man den Schreibschutz temporär durch ein Passwort aufheben oder aber ihn als One-Time-Programmable deklarieren und damit unwiderrufbar für alle Zeit verriegeln. Zusätzlich ist der Flash gegen den Befall von Alphateilchen und Neutronen geschützt. Jede Flash-Wordline ist ECC-gesichert und garantiert nach jeder Programmierung eine Datenkonsistenz von mindestens 20 Jahren.

Hohe Anforderungen an Produktivität und Qualität

Bei aller Aufmerksamkeit für den Schutz des geistigen Eigentums und der Abwehr vor Cyberattacken sind die Anforderungen in der Fabrikautomatisierung nach hohem Produktionsausstoß, niedrigen Fertigungstoleranzen und wettbewerbsfähigen Preisen nicht geringer geworden. Was bedeutet das nun für die Embedded-Systeme?

Nehmen wir ein Beispiel aus der Automobilproduktion, um die Anforderungen an Mikrocontroller zu verdeutlichen. Für die Karosseriefertigung sollen zwei Bleche in einer Fertigungszelle miteinander verschweißt werden. Um den Produktionsschritt präzise und effizient auszuführen, fährt ein Fördersystem einen Werkstückhalter mit dem ersten Blech in die Fertigungszelle exakt zu der Ruheposition, wo es gleich mit dem zweiten Blech verschweißt wird. Währenddessen arbeiten zwei Sechsachs-Roboter parallel.

Der erste, ein Greifroboter, beschleunigt von seiner Ausgangsposition bis kurz vor einer Palette mit dem zweiten Blech, bremst und bringt seinen Greifer in Position. Er nimmt behutsam das zweite Blech auf, beschleunigt zur Ruheposition des ersten Blechs, bremst erneut, so dass es die Ankunft desselben abpasst und beide Bleche sich langsam berühren, um in dieser Position zu verweilen. Der Schweißroboter fährt indes zum Ansatzpunkt der Schweißnaht und passt seine Geschwindigkeit so an, dass beim Erreichen beide Bleche bereits aneinander gefügt sind.

Der Lichtbogen am Schweißkopf wird aktiviert und die Bahn wird präzise, entlang der Fügekante mit der Geschwindigkeit für eine optimale Schweißnaht abgefahren. Anschließend entfernen sich beide Roboterarme von den verschweißten Blechen, gehen in ihre jeweilige Ausgangsposition und die verschweißten Bleche werden aus der Fertigungszelle befördert.

Mikrocontroller haben bei der Realisierung dieses Produktionsschrittes zentrale Bedeutung. Alle Achsen des Fördersystems und der Roboterarme werden durch elektrische Motoren angetrieben, die wiederum von Frequenz-umrichtern angesteuert werden. Der Frequenzumrichter ( Bild 2 ) übernimmt dabei zwei Funktionen: Zum einen steuert er einen einzelnen Antrieb an (Motor Control) und zum anderen integriert er diesen Antrieb in ein Gesamtsystem (Motion Control).

Antriebssteuerung mit Cortex-M

Bei der Definition der XMC4000-Familie haben wir mit unseren Kunden aus der Antriebstechnik gesprochen. Sie schilderten uns ihre Herausforderungen und berichteten uns, dass sich einige dieser Herausforderungen mit einem ARM-Cortex-M-basierten/-vergleichbaren Mikrocontroller bis dato nicht lösen ließen. Eine dieser Herausforderungen ist die Positionserfassung.

Je genauer die Position gemessen wird, desto genauer kann die Fahrbahn vorgegeben und die Geschwindigkeit berechnet werden. Umso feiner wird die Schweißnaht und umso dynamischer können sich die Roboterarme bewegen, was wiederum eine kürzere Produktionszeit bedeutet. Die Position wird üblicherweise mit einem Inkrementalgeber erfasst und viele Mikrocontroller haben Schnittstellen, um dessen Signale auszuwerten und die Position in einem Zählerregister festzuhalten.

Bei Antrieben mit hochdynamischen Richtungswechseln gibt es jedoch einen Haken, denn die üblichen Mikrocontroller haben kein Signal zur Richtungsindikation integriert. Alleine den Zählerstand auszuwerten reicht nicht aus, da er nur die Position und nicht die dabei eingeschlagene Richtung wiedergibt.

Eine Software-Lösung kommt nicht in Betracht; laufzeitbedingt ist sie nicht deterministisch genug und würde zudem zu viel CPU-Leistung blockieren. So sahen sich bisher viele Kunden gezwungen, ihre eigene Inkremental- geberauswertung auf einem FPGA zu implementieren. Als Gegenentwurf gibt es nun das Position Interface (POSIF) auf dem XMC4000 (Bild 3), das die Signale des Inkremental- gebers aufnimmt und daraus Steuersignale für die Timer-Einheit CCU4 generiert. Die Position (Richtungswechsel mitberücksichtigt), momentane Geschwindigkeit und das Geschwindigkeitsprofil werden automatisch berechnet und die Software zusätzlich vereinfacht.