STM32 Cortex-M und Spartan-6-FPGA auf einem Board »Xynergy'n More«: Synergien aus zwei Welten

Das Evaluationboard »Xynergy« von Silica geht in die zweite Runde: Es verbindet die zwei Welten »Mikrocontroller« und »FPGA« miteinander und hat sich bereits vielfach in der Praxis bewährt. Bislang arbeitete Xynergy mit dem auf einem ARM-Cortex-M3-Core basierenden STM32 und einem Spartan-6-FPGA. Nun gönnt Silica seinem Board ein »Upgrade« auf Cortex-M4 und baut es mit einem Motherboard und vielseitigen IP-Lösungen zu einer flexiblen Infrastruktur aus.

So wird der kürzlich vorgestellte STM32F4xx von STMicroelectronics mit Cortex-M4-Core in Kürze als Alternative zum Cortex-M3 auf dem Board Einzug halten. Vorgestellt hat der Halbleiterspezialist Silica sein Xynergie in diesem Jahr erstmals auf der embedded world kurz nach dem Start der Mikrocontroller-Initiative »Core’n More«. Inzwischen verfügt Xynergy ganz nach dem Motto »Xynergy’n More« über interessante Erweiterungsmöglichkeiten: Über die boardeigenen Erweiterungsstecker hinaus zusammen mit einem Motherboard und einer FSMC-AXI-Bridge kann das Modul noch einmal deutlich mehr Funktionen bieten.

»Die Entwickler schätzen das Evaluationboard insbesondere wegen der hohen Flexibilität der Anbindung des FPGAs an den Mikrocontroller«, erklärt Marcus Malitschek, Senior Field Application Engineer von Silica. »Die Besonderheit dieser Kombination von Mikrocontroller und FPGA liegt darin, Aufgaben so zu verteilen, dass sie von den Eigenschaften der jeweiligen Bausteine optimal erledigt werden können«, beschreibt Malitschek. Standardschnittstellen wie Ethernet, USB oder CAN sind in Mikrocontrollern sehr preiswert implementierbar. Im FPGA sind dafür meist kostenpflichtige IP-Cores erforderlich, die den Einsatz, zumindest bei kleineren Stückzahlen, nicht rechtfertigen. Geht es jedoch um Spezialaufgaben, für die es in einem Mikrocontroller keine entsprechenden Einheiten gibt, kann das FPGA seine Vorteile ausspielen. »In allen Bereichen, in denen es um Pre-, Post- oder Coprocessing geht, kann das FPGA dem Mikrocontroller hilfreich zur Seite stehen«, so Malitschek. 

  • Preprozessor: Daten werden mit hoher Geschwindigkeit vorverarbeitet und auf ein Maß reduziert, das vom Mikrocontroller gut zu verarbeiten ist. Im Bereich Bildverarbeitung könnte man sich eine Kantenextraktion aus dem Kamerabild vorstellen. Der Mikrocontroller hat nur noch eine IO / NIO-Entscheidung auf Basis der reduzierten Daten zu treffen.
  • Postprozessor: Der FPGA verarbeitet vom Mikrocontroller erzeugte Daten eigenständig weiter. Will man in einer Maschine mehrere Motoren bewegen, kann der Mikrocontroller die Bahnberechnung vornehmen. Die Umsetzung an der Maschine, also Motoren bewegen und Positionsüberwachung, übernimmt das FPGA eigenständig und gibt dem Mikrocontroller nur noch eine Rückmeldung.
  • Coprozessor: Das FPGA ist als Befehlserweiterung oder Hardwarebeschleuniger einsetzbar. Sehr rechenintensive Aufgaben werden auf das FPGA verlagert und entlasten somit den Mikrocontroller oder machen die Bewältigung bestimmter Aufgaben überhaupt erst möglich.


Solche Applikationen lassen sich mit dem Xynergy-Board und den im Folgenden beschriebenen Erweiterungen optimal evaluieren oder sogar auf dieser Plattform realisieren.