Programmierbare Logik So vereinfacht sich die Zusammenarbeit zwischen Hard- und Softwareentwicklung

Autor / Redakteur: Mark Saunders* / Holger Heller

Mit der integrierten Entwicklungsumgebung (IDE) PSoC Creator von Cypress ist das gleichzeitige Hardware- und Applikationsdesign für PSoC-3/4/5LP-Systeme möglich. Fast 200 vorverifizierte, sofort einsetzbare PSoC-Blöcke stehen den Entwicklern zur Verfügung.

Firmen zum Thema

Programmierbare Bauteile mit Embedded CPU-Kernen sind eine Lösung für eine Reihe von Entwicklungsaufgaben, die allein mit Hardware oder Software nur schwierig oder kostenaufwändig zu realisieren wären. Diese Bauteile enthalten digitale und analoge Hardwareressourcen, die sich so programmieren lassen, dass sie exakt die benötigten Funktionen bereitstellen. Passende Entwicklungswerkzeuge sorgen dafür, dass die der programmierbaren Logik gewöhnlich unterstellte Komplexität auch kein Problem mehr ist.

PSoC Creator von Cypress ist eigens dafür entwickelt worden, diese Aufgabe einfach zu machen. Damit brauchen keine elektrischen Schaltungen bis ins Detail entwickelt zu werden, sondern es ist nur der relevante Teil zu zeichnen – wie man es auf einem Whiteboard machen würden. Anschließend ermittelt die Software die beste Platzierung und das Routing der Peripherieblöcke (die als Komponenten bezeichnet werden) sowie die erforderliche Konfiguration für Taktsignale und Spannungsversorgung und optimiert die gesamte Schaltung.

PSoCs (Programmable System on Chip) sind Mixed-Signal-Bauteile und enthalten u.a. integrierte Digital/Analog-Wandler (DAC), die dazu benutzt werden können, an einen anderen Anschluss des Bauteils eine Spannung oder einen Strom zu übergeben. Man kann einen D/A-Wandler mit einem Anschluss-Pin physikalisch verbinden, indem man diese beiden Komponenten auf das Schaltbild zieht, und sie dort miteinander grafisch verbindet. Die Komponenten in der Bibliothek zu finden und in das Schaltbild zu kopieren, dauert nur einige Sekunden.

Validierte Auswahl an Komponenten verfügbar

Wie man sieht, hat der D/A-Wandler keine „Eingänge“ – keinen Anschluss zur Spannungsversorgung, keinen Vref-Eingang, keine knifflige Bus-Schnittstelle (Bild 1). Er ist nur eine Spannungsquelle, die mit einem Anschluss verbunden wird, der ebenso einfach ist. In der Praxis unterstützen die Pins des PSoC viele Kombinationen von GPIO, SIO und analogen Funktionen mit verschiedenen Treibermodi sowie Funktionen zur Freigabe und zur Synchronisierung. Der analoge Anschluss, der hier verwendet wird, hat den physikalischen Anschluss bereits genau so konfiguriert, wie er in der Schaltung benötigt wird.

Der PSoC Creator wird mit einer validierten Auswahl von fast 200 Komponenten – z.B. Analog/Digital-Wandler (ADC), D/A-Wandler (DAC), Operationsverstärker, UART und I2C, PWM und Timern – geliefert, die sehr viel einfacher einzusetzen sind, als die simplen IP-Blöcke in herkömmlichen Programmen zur Eingabe von Schaltbildern. Bei den Komponenten werden die Einzelheiten zur Implementierung vereinfacht dargestellt und die entwickelten Schaltungen sind gleich beim ersten Mal fehlerfrei. Die Anwender können die Funktionen in einem Parameter-Editor (Customiser-Dialog) auswählen, und das Programm bestimmt die erforderliche Bauteilekonfiguration, um die gewünschten Aufgaben zu erfüllen.

Nehmen wir als Beispiel eine UART. Dies ist gewöhnlich eine firmwareorientierte Komponente, und der Customiser zeigt die Optionen zur Konfiguration in einer Weise an, die dem Ingenieur vertraut ist. So erscheinen keine Optionen für einen Takteingang oder eine Oversampling-Rate. Abgefragt wird nur die benötigte Baudrate, und das Programm erzeugt automatisch eine Taktquelle, die der Komponente die entsprechende Frequenz liefert (Bild 2).

Hardware- und Softwareentwicklung in Einklang bringen

Programmierbare Bauteile mit integrierter CPU benötigen Werkzeuge, in denen auch die Integration der Hardware- und Softwareentwicklung enthalten ist. Eines der Probleme bei Tools, die eher auf die Hardware ausgerichtet sind, ist, dass die Softwareingenieure gewöhnlich gezwungen werden, mit Werkzeugen zu arbeiten, die sie nicht besonders mögen, und sich mit direkten Speicherzugriffen sowie Peripherieschnittstellen auf Registerebene auseinandersetzen müssen.

Ohne die richtigen Softwarewerkzeuge hilft ein PSoC den Hardwareentwicklern auf Kosten der Softwareentwickler. Die Entwicklung der Hardware wird enorm beschleunigt und das Risiko wird minimiert, besonders im Vergleich zum Workflow bei einem ASIC. Die eigentliche Arbeit, die Dinge zum Laufen zu bringen, wird dabei jedoch auf das Softwareentwicklungsteam abgewälzt.

(ID:42669079)