Mikrocontroller oder programmierbare Logik Entscheidungskriteren bei der Hardwareentwicklung

Autor / Redakteur: Sven Hofmann* / Holger Heller

Für die Entwicklung kundenspezifischer Applikationen sind in Abhängigkeit der jeweiligen Anforderungen und Einsatzgebiete bestimmte Kriterien einzuhalten. Um dies sicherzustellen,

Firmen zum Thema

( Archiv: Vogel Business Media )

Für die Entwicklung kundenspezifischer Applikationen sind in Abhängigkeit der jeweiligen Anforderungen und Einsatzgebiete bestimmte Kriterien einzuhalten. Um dies sicherzustellen, muss unter Umständen zwischen dem Einsatz von programmierbarer Logik und/oder Mikrocontrollern abgewogen werden. Beide Möglichkeiten bringen Vorteile und Einschränkungen mit sich.

Die IMM-Gruppe bietet Hard- und Softwareentwicklungsdienstleistungen für viele Marktsegmente. Für die Entwicklung kundenspezifischer Applikationen sind in Abhängigkeit der jeweiligen Anforderungen und Einsatzgebiete bestimmte Kriterien wie Performance, Größe, Energiebedarf und Kosten einzuhalten. Diese Kriterien stehen oftmals im Widerspruch zueinander, wodurch bei der Auswahl geeigneter Komponenten und Designmethoden ein sinnvoller Kompromiss zu finden ist. Mit der zunehmenden Steigerung der Integrationsdichte in Halbleiterbauelementen ist auch deren Leistungsfähigkeit und der Funktionsumfang enorm gestiegen.

Bildergalerie

Geringere Strukturbreiten in der Halbleiterfertigung erlauben es, mehr Leistungsmerkmale in Hardware zu integrieren, wodurch wiederum die Performance steigt. Betrachtet man das Angebot verschiedener Anbieter hinsichtlich der Anwendungsgebiete, so sind für nahezu jede Applikation entsprechend ausgestattete Mikrocontroller zu moderaten Preisen erhältlich. Auch im Bereich der programmierbaren Logik entwickelt sich der Markt ständig weiter. Das Spektrum reicht vom einfachen PLD zur Integration einfacher logischer Funktionen bis hin zum FPGA mit mehreren in Silizium integrierten Prozessoren, mit dem sich hochkomplexe Embedded-Systeme realisieren lassen.

Seit 1991 ist die IMM-Gruppe im Bereich Forschung und Entwicklung tätig. Während dieser Zeit wurde ein umfangreiches Wissen, vorwiegend um die Programmierung von Mikrocontrollern, gesammelt. Der FPGA-Entwurf hingegen ist erst seit einiger Zeit Bestandteil von Kunden- und Inhouse-Projekten. Anhand einiger Applikationen die intern entwickelt wurden oder derzeit in Entwicklung sind, werden im Folgenden einige typische Einsatzgebiete von PLDs, MCUs und FPGAs vorgestellt.

MCU-Leistung in bestimmten Bereichen nicht mehr ausreichend

In besonders zeitkritischen Bereichen, wie z.B. der galvanischen Entkopplung bidirektionaler Bussysteme oder dem Multiplexing paralleler Bussysteme kommt man mit der Performance einer MCU nicht mehr aus, dann empfiehlt sich der Einsatz eines PLD bzw. FPGA, teilweise zahlt sich sogar eine Kombination von Mikrocontroller und PLD bzw. FPGA aus. Das USIX ist ein Gerät zur galvanischen Entkopplung des USB für den Einsatz von USB-Geräten in der Patientenumgebung. Bild 1 zeigt die prinzipielle Funktion des USIX. Die Hauptanforderung liegt in der Einhaltung der extrem kurzen Signalverzögerungen auf dem Hin- und Rückweg der Übertragungsstrecke, um den USB-Spezifikationen gerecht zu werden.

Die galvanische Entkopplung bidirektionaler Busse erfordert eine Umschaltung der Senderichtung, die aus dem Signalpegel detektiert werden muss. Die Auswahl des passenden Bauelements ist hier kompromisslos und einfach: es kommt nur ein PLD oder ein Aufbau mit diskreten Bauelementen in Frage. Da ein diskreter Aufbau jedoch keinerlei Kopierschutz umfasst, fällt hier die Wahl auf ein PLD. Zum Entwurf des PLD-Designs können die frei verfügbaren Tools von Xilinx genutzt werden. Beim eingesetzten PLD handelt es sich um einen XC9572XL.

Ein anderes mögliches Einsatzgebiet für einen PLD stellt das Bedienteil des EMM-02 dar. Dabei handelt es sich um die elektromechanische Weiterentwicklung des eigenentwickelten pneumatischen Gewichtsentlastungsmoduls EPM-01. Die Aufgabe bestand darin, ein möglichst preiswertes Handbedienteil zu entwickeln, das über eine dreistellige 7-Segment-Anzeige, Status-LEDs und vier Tasten zur Bedienung des Gerätes verfügt (Bild 2). Die Ansteuerung des Bedienteils erfolgt über eine SPI-Schnittstelle des EMM-02-Controllers. Der Entwurf basiert ebenfalls auf einem CPLD XC9572XL von Xilinx. Dieser Baustein erfüllt im Bedienteil folgende Aufgaben:

• SPI-Slave-Funktion,

• BCD à 7-Segment-Decoder,

• Anzeige-Multiplexing und

• Tastenabfrage.

Während des Entwurfsprozesses wurde Wert darauf gelegt, ein skalierbares Design zu erstellen. Damit besteht prinzipiell die Möglichkeit, ohne großen Aufwand die Anzahl der Tasten oder der Anzeigesegmente zu ändern und somit das Design in Verbindung mit anderen Geräten bzw. Controllern zu nutzen. Das Handbedienteil sollte an dieser Stelle als ein Beispiel für einen Grenzfall dienen. Es hätte genauso gut mit Hilfe einer MCU mit annähernd gleichem Zeit- und Materialaufwand realisiert werden können. Für die elektronische Steuerung des EMM-02 selbst steht die Anwendung einer MCU außer Frage. Hier gilt es zahlreiche Schnittstellen zu verwalten, Protokolle zu interpretieren, Sensoren abzufragen, Aktoren anzusteuern etc.

MCUs prädestiniert für Steuerungsapplikationen

Wie bereits erwähnt, steht eine Vielzahl von MCUs mit verschiedensten Schnittstellen bis hin zum Ethernet-MAC und einem breiten Spektrum an Speichergrößen zur Auswahl, womit ein breites Anwendungsspektrum abgedeckt werden kann. Besonders für den Consumer-Markt streben die Halbleiterhersteller eine möglichst hohe Integration an, um mit möglichst wenigen externen Bauteilen die größtmögliche Funktionalität zu bieten. Die zahlreichen Entwicklungsprojekte, die durch die IMM-Gruppe unter Verwendung von Mikrocontrollern realisiert wurden, enthalten meist ICs der Hersteller Renesas, Microchip, Atmel und Infineon.

Als typisches Beispiel einer MCU-Applikation ist hier die Steuereinheit des Chemostat zu nennen. Der Chemostat dient zur kalorimetrischen Messung und zur Messung diverser Kultivierungsparameter bei lebenden Mikroorganismen mit Hilfe elektrochemischer Sensoren in einem abgeschlossenen System. Die Elektronik beinhaltet insgesamt vier MCUs. Dabei übernimmt ein PIC-Controller die Kommunikation zum Host-PC per USB und die Ansteuerung der anderen Controller per I²C-Interface, sowie das Handling der Benutzerschnittstelle. Ein weiterer PIC dient zur Ansteuerung des Leistungsteils eines Schlauchpumpenantriebes und der Heizung zur Temperaturstabilisierung. Zwei weitere Controller vom Typ ADUC845 mit integriertem 24-Bit-A/D-Wandler werden zur genauen Erfassung der Temperaturen an mehreren Stellen im System und zur Messwerterfassung potenziometrischer und amperometrischer biochemischer Sensoren genutzt. Die Elektronik, sowie die entsprechende Firmware der einzelnen MCUs ist Bestandteil eines Forschungsprojektes (Aufmacherbild).

Weitere klassische Einsatzfelder von MCUs stellen die Kommunikationstechnik und die Automatisierungstechnik dar, wobei diese Bausteine in der Kommunikationstechnik bereits in vielen Bereichen von FPGAs oder DSPs abgelöst worden sind. Grund dafür sind immer höhere Datenraten, die es zu verarbeiten und zu verteilen gilt. FPGAs bieten neben der parallelen Datenverarbeitung mit Frequenzen bis zu 550 MHz (Virtex5) und I/Os mit bis zu 8 GBit/s enorme Vorteile und ermöglichen die Realisierung von Anwendungen, in denen es um die Verarbeitung mehrerer serieller und/oder paralleler Datenströme geht. Weiterhin besteht die Möglichkeit der Integration von IP-Cores, die es dem FPGA erlauben, Funktionalitäten von MCUs oder DSPs zu übernehmen und somit die Integrationsdichte in komplexen Produkten zu erhöhen, zusätzliche Kosten durch die Einsparung externer ICs für diese Funktionen zu senken.

Die Integration von meist lizenzpflichtigen IP-Cores von Drittanbietern ist vergleichbar mit dem Einsatz zusätzlicher Bauelemente gleicher Funktionalität, erfordert zwar eventuell einen FPGA mit höheren Ressourcen, kann aber direkt mit den Einsparungen durch die entfallenden Bausteine verrechnet werden. Für den zukünftigen Einsatz solcher Technologien werden bei IMM derzeit Erfahrungen gesammelt, so dass für kommende Produkte eine kürzere Entwicklungszeit und eine schnellere Markteinführung denkbar sind. Als Applikationen auf der Basis von FPGAs sind die bei IMM produzierten Audioprodukte der Firma RME zu nennen. Die parallele Verarbeitung vieler Audiodatenströme mit Latenzzeiten von weniger als 2 ms erfordert die Realisierung mit Hilfe eines FPGAs.

Forschungsprojekte im Audio-/Videostreamingbereich

Seit geraumer Zeit beschäftigen sich Entwickler der IMM-Gruppe in Zusammenarbeit mit Ingenieuren der FH Mittweida neben der MCU-Programmierung auch mit dem FPGA-Entwurf. Grundlegend für diese Zusammenarbeit sind die Forschungsprojekte namens Bieloris und A/V-Converter zu nennen. Diese Projekte beschäftigen sich mit Audio- und Videostreaming und der Bearbeitung der gestreamten Daten mit Hilfe eines oder gar mehrerer FPGAs, die diese Aufgaben in Hardware und dadurch in Echtzeit ausführen. Eine weitere FPGA-Anwendung stellt die Audio-Only-Lösung des A/V-Projektes dar. Die Baugruppe besteht aus einem I/O-Device mit acht analogen und acht digitalen Audio-Ein- und Ausgängen sowie einem zusätzlichen SPDif/Toslink-Anschluss zur Verbindung mit dem USB-Port eines Host-PC (Bild 3).

Das Design koppelt ein FPGA mit einer MCU. Der Mikrocontroller übernimmt dabei die Kommunikation mit dem Host-PC per USB 2.0 und die Konfiguration des FPGAs mittels einer I²C-Schnittstelle. Die Aufgabe des FPGA besteht darin, die gesampelten Daten der analogen und digitalen Eingänge an den USB-Controller zu übergeben und die Audiodaten vom Host-PC an die analogen und digitalen Kanäle zu verteilen. Weiterhin wird im FPGA die Samplefrequenz digital erzeugt oder auf einen der digitalen Eingänge synchronisiert, sowie die Ansteuerung der A/D-, D/A-Wandler und des Monitorausgangs realisiert. Die genannten Merkmale sind über eine I²C-Schnittstelle steuerbar. Die Initialisierung erfolgt in erster Linie von der MCU, kann aber im laufenden Betrieb vom Host-PC geändert werden. Der Vergleich der vorgestellten Produktbeispiele veranschaulicht, welche Anforderungen den Einsatz von FPGAs oder PLDs notwendig machen, wobei ebenfalls deutlich wird, dass der Mikrocontroller auch weiterhin für viele Applikationen die einzige sinnvolle Wahl darstellt.

IMM-Gruppe, Tel. +49(0)3727 62050

*Sven Hofmann ist Entwicklungsingenieur bei der IMM-Gruppe in Mittweida.

(ID:184723)