Die programmierbaren Bausteine der PSoC-Serie basieren auf einem ARM-Cortex-M-Prozessorkern.

Die programmierbaren Bausteine der PSoC-Serie basieren auf einem ARM-Cortex-M-Prozessorkern. Cypress

Eine 32-Bit-MCU bietet eine höhere Taktfrequenz und einen leistungsfähigeren Befehlssatz für eine sehr viel höhere Rechenleistung und dazu die Möglichkeit viel mehr Speicher zu adressieren als eine 8-Bit-CPU. So sehr ein Entwicklerteam auch an seiner 8-Bit-CPU hängen mag – wenn sie die Grenzen ihrer Fähigkeiten erreicht hat, gibt es keine andere Wahl, als die Entwicklungen der nächsten Generation auf einer völlig neuen Plattform zu implementieren.

Bei der Migration auf eine konventionelle 32-Bit-MCU werden die meisten bisherigen Anwender von 8-Bit-Systemen mindestens vier verschiedenen Problemen begegnen. Diese lassen sich jedoch abmildern oder auch vermeiden, wenn die Migration von einer 8-Bit-MCU auf ein 32-Bit Programmierbares-System-on-Chip (PSoC) von Cypress Semiconductor erfolgt.

Unkonventioneller als gewöhnliche 32-Bit-MCUs

Eine PSoC-MCU ist eine sehr unkonventionelle MCU, die auf den ersten Blick genau so aussieht wie alle anderen 32-Bit-MCUs. Die verschiedenen Bausteine der PSoC-Serie basieren beispielsweise auf einem ARM-Cortex-M0+-Prozessorkern, einem ARM-Cortex-M0 oder einem ARM-Cortex-M3-Prozessor. Außerdem enthalten PSoC-Bausteine eine gewisse Anzahl fest verschalteter Peripheriefunktionen, einschließlich der Capsense-Technologie zur Implementierung berührungsempfindlicher Tasten, Schieberegler und Drehregler auf der Oberfläche von Overlay-Materialien wie Kunststoff, Holz oder Glas.

Anders als bei einer herkömmlichen MCU sind die meisten Funktionen im Chip jedoch nicht fest verschaltet. Eine herkömmliche MCU bietet eine feste Auswahl von Funktionen, die auf der ersten Seite des Datenblatts aufgeführt sind, und enthält Timer, Zähler, A/D-Wandler, D/A-Wandler, Kommunikationsschnittstellen, Displaycontroller und andere, die allesamt im Chip fest „eingebacken“ sind. Wenn eine MCU nicht die für die Anwendung benötigten Funktionen bereitstellt, muss der Entwickler eine andere MCU wählen.

Funktionsbelegung frei konfigurierbar

In einem PSoC sind leistungsfähige analoge und PLD-­basierte digitale Blöcke sowie Verbindungen und Signalwege programmierbar und in nahezu unendlich variablen Kombinationen konfigurierbar. Die Konfiguration lässt sich dynamisch ändern, wodurch sich im selben Chip zu verschiedenen Zeitpunkten völlig unterschiedliche Funktionszusammenstellungen implementieren und auf fast beliebige Anschlusspins routen lassen.

Die Familien PSoC 4 und PSoC 5LP umfassen zahlreiche Varianten, vom kleinsten PSoC 4000S mit 20 GPIO, 16 kB Flash-RAM und 2 kB SRAM bis zum größten PSoC 5LP im 100-poligen TQFP-Gehäuse mit bis zu 256 kB Flash-RAM für Programme und 64 kB SRAM.

Eck-Daten

Anschlussbelegung, Codierung und Debugging sowie Energieverbrauch und Hardwarekomplexität sind die vier wesentlichen Problemquellen bei der Migration von 8-Bit- auf 32-Bit-MCUs. Das programmierbare 32-Bit-SoC von Cypress umgeht diese Probleme und bietet eine Reihe weiterer Vorteile.

Da jede dieser PSoC-Familien einen ARM-Cortex-M-Kern enthält, bieten sie in der Regel die zusätzliche Leistung zur Datenverarbeitung und Steuerung, die ein Entwickler sucht, wenn er die Migration von einer 8-Bit-MCU, die die Grenzen ihrer Fähigkeiten erreicht hat, in Angriff nimmt. Auch wenn herkömmliche MCUs mit denselben ARM-Cortex-M-Kernen einige dieser Funktionen bieten können, gibt es bei der Migration zu einer konventionellen 32-Bit-MCU vier potenzielle Problemquellen, die sich bei der Migration zu einem PSoC-Bauteil dank seiner unübertroffenen Programmierbarkeit vermeiden lassen.

Einige Chiphersteller, die in ihrem Produktsortiment sowohl 8-Bit- als auch 32-Bit-MCU anbieten, haben große Anstrengungen unternommen, um die Anschlussbelegung ihrer einfacheren 32-Bit-Bausteine an die ihrer besten 8-Bit-Bausteine anzupassen. Dabei war die Anschlussbelegung bei 8-Bit-Legacy-MCUs nicht immer konsistent, sodass die Anschlussbelegung einer 32-Bit-MCU, die zu einem bestimmten 8-Bit-Bauteil kompatibel ist, dies nicht unbedingt zu anderen 8-Bit-Bauteilen sein muss. In der Praxis war der Versuch, eine Anschlussbelegung mit festen Funktionen zu einer anderen kompatibel zu machen, im günstigsten Fall ein Teilerfolg. Änderungen bei den Ausgangsanschlüssen erfordern eine erhebliche Menge an Zusatzarbeit, die es für die Kunden sehr viel unattraktiver macht, den Migrationsprozess anzugehen.

Im Gegensatz hierzu sind programmierbare interne Verbindungen und eine programmierbare Anschlussbelegung völlig flexibel. Die gesamte Anordnung kann beibehalten werden, da die Anschlussbelegungen nicht fest vorgegeben sind und sich vom Anwender so konfigurieren lassen, dass sie denen der wichtigen Signale eines Legacy-Bauteils entsprechen. Dies kann bei Entwicklungsprojekten, bei denen man einen Teil des bisherigen Leiterplattenlayouts wiederverwenden will, ein großer Vorteil sein. So kann zum Beispiel ein Entwicklerteam die Gewohnheit haben, empfindliche Signalleitungen auf der linken Seite der Leiterplatte und die Leitungen zur Versorgungsspannung auf der rechten Seite zu routen. Mit der fest vorgegebenen Anschlussbelegung konventioneller MCUs ist es unter Umständen unmöglich, diese Gewohnheit bei der Migration zu einem 32-Bit-Controller beizubehalten. Ein 32-Bit-PSoC-Bauteil mit programmierbarer Anschlussbelegung ist hingegen in der Lage, bestehende Regeln zur Leitungsanordnung weiterhin aufrecht zu erhalten.

Intelligente Peripherie entlastet den Prozessor

Die Migration auf eine konventionell 32-Bit-Plattform wegen höherer Leistung, zusätzlicher Features und komplexerer Anwendungssoftware erschweren die Codierung. Komplexe Software zu schreiben ist schwierig und zeitraubend, besonders beim Umstieg auf völlig neue Entwicklungswerkzeuge. Hinzu kommt, dass konventionelle 32-Bit-MCUs zum Betrieb eine umfangreiche Peripherie benötigen. Da diese Funktionseinheiten ihre Signale nicht autark verarbeiten können, muss das der Prozessorkern der Reihe nach mit sehr hoher Geschwindigkeit erledigen. Je mehr Eingangssignale durch die CPU geführt werden, desto schwieriger gestalten sich das Timing und die Deterministik und umso fehleranfälliger wird der Betrieb des Systems, sodass der Aufwand für ein detailliertes Debugging steigt.

Zu den Schnittstellen der PSoC-Bausteine zählt auch Full-Speed USB 2.0.

Zu den Schnittstellen der PSoC-Bausteine zählt auch Full-Speed USB 2.0. Cypress

Der Betrieb eines PSoC-Bauteils folgt einem völlig anderen Modell. Anstelle der vielen Peripherie ohne eigene Intelligenz, die um die Zeit eines einzigen Prozessors kämpft, erlaubt es ein PSoC-Bauteil dem Anwender, schnell und einfach intelligente Peripherie zu implementieren, die unabhängig von der CPU arbeiten kann. Dies ermöglichen die universellen digitalen Blöcke (UDB) und die programmierbaren analogen Blöcke, die die Hauptkomponenten der Bauteile der Serien PSoC 4 und PSoC 5LP bilden. Mit diesen Blöcken lassen sich viele Funktionen, beispielsweise kundenspezifische Kommunikationsschnittstellen oder Codierungen, einfach implementieren, ohne die CPU damit zu belasten. Programmierbare analoge Blöcke und die analogen Multiplexer der PSoC machen es außerdem möglich, ganze Anwendungen zu erstellen, die ohne die CPU auskommen.

Die Entwicklung einer Anwendung zur analogen Spannungsüberwachung und Erzeugung eines Alarms lässt sich beispielsweise implementieren, indem man in der integrierten Entwicklungsumgebung PSoC-Creator eine Handvoll PSoC-Komponenten in einem Drop-Down-Menü auswählt. Diese Komponenten, zu denen Komparatoren, PWM, eine Uhr, eine Look-Up-Tabelle sowie der analoge Multiplexer gehören, machen es mit dem PSoC 5LP möglich, eine State-Machine völlig aus Hardware zu erstellen, die nur wenige Zeilen Code benötigt, um die einzelnen Komponenten zu initialisieren.

Den Energieverbrauch gering halten

Mit ihren höheren Taktfrequenzen und der Unterstützung von mehr Speicher und Peripherie verbrauchen 32-Bit-MCUs unweigerlich mehr Energie als eine 8-Bit-MCU, wobei der größte Energieverbraucher einer MCU mit einem ARM-Cortex-M-Kern dieser Kern ist. Im Gegensatz zu einer konventionellen 32-Bit-MCU wird der Kern in einem PSoC-Bauteil nur dann aktiviert, wenn dies sinnvoll ist. Wenn Funktionen in den UDB oder in den programmierbaren analogen Blöcken implementiert sind, kann der Kern im Power-Down-Modus bleiben, was den Energieverbrauch ohne Verzicht auf wesentliche Funktionen verringert.

Komplexe Hardware im Handumdrehen programmieren

Die fest vorgegebene Architektur konventioneller 32-Bit-MCUs führt zu strengen Regeln und Bedingungen für den Betrieb der vielen unterstützten Peripheriekomponenten, und entsprechende Datenblätter der MCU sind gewöhnlich hunderte Seiten lang. Im Unterschied hierzu arbeiten PSoC 4 und PSoC 5LP mit einer Komponenten-Methodik, die durch die intuitive grafische Benutzeroberfläche des PSoC-Creators möglich wird. Eine Anwendung lässt sich schnell und einfach erstellen, indem die Komponenten, zum Beispiel PWM, Taktgeber, D/A- und A/D-Wandler, auf das virtuelle Whiteboard des Tools gezogen, mit virtuellen Drähten verbunden und den vom Anwender definierbaren Anschlüssen zugeordnet werden.

Dieser Entwicklungsprozess ist grafisch, intuitiv und zeigt dem Anwender direkt die Ressourcen oder Bausteine, die für die Anwendung zur Verfügung stehen, und erlaubt es bisherigen 8-Bit-MCU-Anwendern innerhalb von Minuten nach dem Download des PSoC-Creators reale 32-Bit-Anwendungen zu entwickeln, ohne auch nur einen Blick in ein Datenblatt oder Benutzerhandbuch zu werfen.

Volle Flexibilität bei der Systementwicklung

Natürlich ist die Vermeidung solcher Probleme nicht der einzige Faktor bei der Auswahl von Bauteilen, denn jede 32-Bit-Controller-Familie hat ihre eigenen Stärken. Bei der PSoC-Serie zählen zu diesen Stärken die große Auswahl sehr leistungsfähiger analoger Features, die weltweit führende Capsense-Technologie und die Flexibilität, eine Systementwicklung jederzeit, auch wenn sie sich bereits in der Produktion befindet, ohne Eingriffe in die Hardware zu ändern. Der wesentliche Vorteil dieser PSoCs besteht aber darin, dass sich die vier größten Probleme bei einer Migration von 8 nach 32 Bit vermeiden lassen und die Entwickler eine flexible, leistungsfähige und robuste Lösung erhalten, um schnell innovative Designs zu erstellen.