scales low poly gray

(Bild: Fotolia, ToheyVector)

Zwar ist die Halbleitertechnologie die Basis aller elektronischen Produkte, aber es ist die Software, die unsere moderne Welt erst möglich macht. Im Vergleich zur Hardware bietet Software eine nahezu grenzenlose Flexibilität, und in Zusammenarbeit mit einem Hochleistungs-Mikroprozessor kann sie sehr gute Ergebnisse liefern. Die Fortschritte Künstlicher Intelligenz wären beispielsweise nicht ohne Software umsetzbar, die auf den aktuellen Mikroprozessoren läuft.

Eckdaten

SoCs kommen zunehmenden in diversen Anwendungsgebieten zum Einsatz. Das liegt daran, dass sie Prozessorkerne, feste Funktionen sowie konfigurierbare Hardware in einem System vereinen. Deshalb sind SoCs oftmals kostengünstiger und flexibler einsetzbar als die einzelnen Komponenten wie etwa ein FPGA oder ein Mikrocontroller. Zusätzlich bieten sie hohe Leistung. Jedoch müssen Entwickler abwägen und Kompromisse eingehen, da nicht jede Anwendung alle Funktionen eines SoCs nutzt.

In den letzten Jahrzehnten war eine Verschiebung des Gleichgewichts zwischen Hard- und Software zu erkennen. Es wird allgemein akzeptiert, dass heutzutage etwa 70 Prozent der Funktionalität eines Produkts durch eingebettete Software bereitgestellt wird, und dies fast ausschließlich aufgrund ihrer Flexibilität.

Abbildung 1: Blockdiagramm der hoch integrierten Zynq-Ultrascale-EG von Xilinx. SoCs

Abbildung 1: Blockdiagramm der hoch integrierten Zynq-Ultrascale-EG von Xilinx. Digi-Key

Die Leistungsgrenzen verschieben sich anwendungsbedingt ständig nach oben, wodurch dieses Ungleichgewicht zu einem einschränkenden Faktor wird. Software ist letztlich die Implementierung einer Funktion in abstrakter Form, was aber unvermeidbare Kosten in Form von Ausführungszeit generiert. Wenn Entwickler dieselbe Funktion in dedizierter Hardware auf Transistorebene implementieren, dann führt die Komponente sie zwangsläufig schneller aus. Dieser Leistungszuwachs kommt aber nur durch einen Flexibilitätsverlust zustande. Um das Gleichgewicht zwischen Leistung und Flexibilität zu verbessern, setzen Entwickler auf Bausteine, die Prozessorkerne, feste Funktionen sowie konfigurierbare Hardware kombinieren.

Hohe Leistung, optimierte Lösungen

Bausteine, in die diese drei Technologien integriert sind, werden als System-on-Chip (SoC) bezeichnet. Aufgrund ihrer Eigenschaften bieten sie gegenüber Bausteinen mit festen Funktionen eine größere Flexibilität, sind besser konfigurierbar als ein Mikrocontroller und verfügen über mehr Funktionen als ein FPGA, da sie die Vorzüge dieser Merkmale auf einer einzigen Plattform vereinen.

Dies ist aus verschiedenen Gründen eine gute Mischung für eine Anwendung. Der wichtigste Grund ist die Leistung, die entweder als Durchsatz oder als Echtzeit-Reaktion interpretierbar ist. Geringe Leistungsaufnahme und optimiertes Design können weitere Gründe sein. Je mehr Funktionen ein Entwickler in einen einzigen Baustein integrieren kann, desto weniger externe Komponenten benötigt er. Diese Szenarien decken die Vorteile eines SoCs ab: das Liefern von reiner Leistung und die Bereitstellung eines optimierten Designs.

Wenn letztlich der Durchsatz das Ziel ist, so ist die von einem frei gestaltbaren Design in Form eines ASIC gebotene Leistung kaum zu schlagen. Da allerdings die nicht wiederkehrenden Kosten sinken, müssen Hersteller die Entwicklungskosten für ein ASIC gegen den Preis pro Einheit aufwiegen. Deshalb lohnen sich ASICs oftmals erst ab großen Stückzahlen. Die FPGA-Technologie hat die Branche lange mit ASIC-ähnlicher Leistung auf einer nach dem Verlassen des Werks konfigurierbaren Plattform versorgt. Bei der zugrunde liegenden Technologie simuliert das System die spezialisierte Logik mittels Lookup-Tabellen, jedoch integrierten die Hersteller fest verdrahtete Funktionen. Insbesondere war dies der Fall bei Funktionen, die nur schwer durch Programmlogik emuliert werden können. In letzter Zeit führte dies dazu, dass Hersteller Prozessoren-Subsysteme integrierten. Damit gehören diese Bausteine auch zur Kategorie System-on-Chip. Die FPGA-Branchenführer bieten Bausteine an, die die drei Schlüsselelemente eines SoC umfassen. Dazu gehört beispielsweise die Serie Zynq-Ultrascale von Xilinx, die Bausteine anbietet, in denen Dual- oder Quad-ARM-Cortex-A53-Kerne mit ARM-Cortex-R5-Kernen gepaart sind.

Während diese Bausteine auf Anwendungen abzielen, die hohe Leistung fordern, gehören die SoC-FPGAs der Smart-Fusion-2-Familie von Microsemi und die PSoC-5LP-Familie von Cypress Semiconductor hingegen zu den SoCs, die in die zweite Kategorie fallen. In beiden ist ein ARM-Cortex-M3-Kern mit fest verdrahteten Funktionen und konfigurierbarer Hardware integriert. Spezielle Plattformen, die sowohl auf Hardware- als auch auf Softwareebene Support für die Anwendungsentwicklung bieten, unterstützen die oben genannten Bausteine.

Die genauen Eigenschaften der Evaluierungsplatine ZCU102 von Xilinx sowie mögliche Anwendungsgebiete, finden Sie auf der nächsten Seite.

Multicore-SoCs

Die Evaluierungsplatine ZCU102 von Xilinx bietet das Multiprozessor-SoC XCZU9EG aus der Zynq-Ultrascale-Serie. Seine Multicore-Verarbeitungsmöglichkeiten umfassen einen 64-Bit-Quad-Core-Prozessor Cortex-A53 und einen Dual-Core-Echtzeitprozessor Cortex-R5, die eng über FPGA-Logik gekoppelt sind, Kommunikationsschnittstellen und einen Grafikprozessor (Abbildung 1).

Abbildung 2: Die Hauptmerkmale der Evaluierungsplatine ZCU102.

Abbildung 2: Die Hauptmerkmale der Evaluierungsplatine ZCU102. Digi-Key

Diese Evaluierungsplatine (Abbildung 2) verfügt über ein 4 Gbit großes, mit dem Prozessor-Subsystem verbundenes DDR4-SODIMM sowie weitere 512 Mbit an mit der programmierbaren Logik verbunden DDR4-Arbeitsspeicher. Sie umfasst zwei Schnittstellen für FPGA-Mezzanin-Karten (FMC) für künftige Erweiterungen sowie weitere gängige Schnittstellen (PCIe Gen2x4, USB3, Displayport, SATA), die sie zu einer Evaluierungsplattform für viele Anwendungen in den Bereichen Automobilbau, Industrie, Video und Kommunikation machen.

Entwickler können die EG-Familie von etwa 100.000 auf mehr als eine Million Systemlogikzellen mit 50.000 bis über 500.000 Lookup-Tabellen (LUT) für konfigurierbare Logikblöcke skalieren. Dieser Konfigurierbarkeitsgrad eröffnet dem Multiprozessor Zynq-Ultrascale zusammen mit Hardware-Multimediablöcken und der integrierten Hochgeschwindigkeits-Peripherie einen großen Bereich anspruchsvoller Anwendungen. Die Evaluierungsplatine ZCU102 ist eine Entwicklungsplattform mit der fünffachen Leistung pro Watt im Vergleich zur Zynq-7000-Familie.

Vielfältige Anwendungsgebiete

Die Nachfrage nach Leistung steigt ständig, insbesondere im Kommunikationsbereich. Der größte Teil der Internetaktivitäten stützt sich auf Informationen, die in Datenbanken gespeichert sind. Am weitesten verbreitet ist dabei SQL. Entwickler können SQL-Datenbanken beschleunigen, indem sie einen Cache-Speicher verwenden, der normalerweise als Standardprozessor mit integriertem DRAM implementiert ist.

Abbildung 3: Blockdiagramm des erweiterten Smartfusion-2-Evaluierungskits.

Abbildung 3: Blockdiagramm des erweiterten Smartfusion-2-Evaluierungskits. Digi-Key

Dies funktioniert zwar, ist aber ebenfalls durch die Grenzen der Prozessorarchitektur beschränkt, da sie nicht für einen solchen Einsatzzweck konzipiert ist. Ein Baustein wie der Zynq-Ultrascale bietet eine optimierte Lösung für das Streamen von Daten, ohne den Prozessor zu beanspruchen. Er fungiert dabei unter Verwendung seiner hochentwickelten Merkmale als eigenständiger Server im Netzwerk. Damit kann er im Vergleich zu einem Standard-x86-Prozessor die vierfache Leistung mit einem Zwanzigstel der Leistungsaufnahme erreichen.

In der Automobilindustrie setzen viele Autobauer in ihren Fahrzeugen zunehmend auf Fahrerassistenzsysteme (ADAS) mit Kameras. Dadurch entsteht ein Bedarf an SoCs, die Daten von 2-Megapixel-Kameras mit 30 fps bewältigen können. Aufgrund seines hohen Integrationsgrads eignet sich der Zynq-Ultrascale für solche Anwendungen.

Die ZCU102 wird mit kompletter IP und Tools geliefert, sodass Designer umgehend mit der Entwicklung dieser und vieler weiterer Anwendungen beginnen können. Zusätzlich enthält das Entwicklungskit noch die Vivado-Design-Suite mit Design-Edition-Gutschein und Lizenzen, die sich auf das Gerät und den Baustein XCZU9EG auf der Platine beschränken.

Auf der nächsten Seiten lesen Sie, welche Aufgaben SoCs im IoT übernehmen können.

SoCs im IoT

Das IoT wird oft als Netzwerk von Geräten mit beschränkten Ressourcen und Funktionen beschrieben, aber es umfasst auch die Vernetzung und Automatisierung vieler vorhandener Anwendungen. SoCs mit dem richtigen Funktionsumfang und geringer Leistungsaufnahme können aufgrund ihres hohen Integrationsgrades eine optimale Plattform für ein vernetztes Gerät darstellen.

Abbildung 4: Das erweiterte Smartfusion-2-Entwicklungskit von Microsemi.

Abbildung 4: Das erweiterte Smartfusion-2-Entwicklungskit von Microsemi. Digi-Key

Der Smartfusion 2 von Microsemi ist beispielsweise für die Motorsteuerung sowie die industrielle Automatisierung bestimmt, kann aber problemlos als Basis eines sicheren, vernetzten Geräts fungieren. In ihm sind eine Flash-basierte FPGA-Struktur mit einem ARM-Cortex-M3-Kern sowie Hochleistungs-Kommunikationsschnittstellen wie CAN, Gigabit Ethernet, HS-USB und PCIe sowie DDR2/DDR3-Speichercontroller integriert. Microsemi hat zur Unterstützung der Entwicklung von Anwendungen mit dem Smartfusion 2 das erweiterte Smartfusion-2-Entwicklungskit entwickelt. Abbildungen 3 und 4 zeigen die wesentlichen Merkmale der Platine.

Auf der Grundlage dieses Kits hat Microsemi eine Demo-Anwendung entwickelt. Diese enthält die erforderliche Software für das Erstellen eines sicheren Webservers mit Unterstützung des Sicherheitsprotokolls TLS/SSL zum Senden und Empfangen von verschlüsselten Daten. Damit wendet es sich genau an die Anwendungen, die aktuell im IoT an Bedeutung gewinnen.

Wie Abbildung 5 zeigt, erhält die Anwendungsschicht Anforderungen von einem Client-Browser und beantwortet diese mit statischen Webseiten, während die Serveranwendung auf dem Smartfusion 2 läuft. Das Protokoll TLS/SSL implementierte Microsemi mithilfe der Open-Source-Bibliothek Polar-SSL. Eine weitere Open-Source-Software, die mit oder ohne Betriebssystem verwendbar ist, realisiert die Transportschicht (TCP/IP). In diesem Beispiel priorisiert und plant das Open-Source-Echtzeitbetriebssystem Free-RTOS die Tasks. Das erweiterte Entwicklungskit lässt sich zudem auch zur Ausführung von Mikrocontroller-Linux konfigurieren. Dazu hat Microsemi das Betriebssystem auf Linux-Basis speziell für das Smartfusion-2-SoC modifiziert.

Abbildung 5: Übersicht über eine sichere Webserver-Anwendung, die auf dem Smartfusion 2 implementiert ist.

Abbildung 5: Übersicht über eine sichere Webserver-Anwendung, die auf dem Smartfusion 2 implementiert ist. Digi-Key

Mit 150.000 Logikelementen, einem 166-MHz-Cortex-M3-Kern sowie dedizierten DSP-Blöcken bietet der Smartfusion 2 gemeinsam mit einem eingebettetem, nicht flüchtigem Speicher (Non-Volatile Memory, NVM) und SRAM ein leistungsfähiges Gleichgewicht zwischen Konfigurierbarkeit und fest verdrahteter Funktionalität. Das erweiterte Entwicklungskit nutzt dieses Potenzial durch die Unterstützung von PCIe-Randverbindern, FMC-Verbindern, zwei Gigabit-Ethernet-Anschlüssen, SPI und UART. Über einen zusätzlichen Hochleistungs-Operationsverstärker lässt sich der Energieverbrauch des Bausteins während der Entwicklung messen. Dies ermöglicht es den Entwicklern, eine optimale Lösung innerhalb eines vorgegebenen Budgets zu entwickeln.

Welchen Einfluss das Chipdesign hat, finden sie auf Seite 4.

Optimiertes Design

Solche Ein-Chip-Lösungen kommen in diversen Anwendungen zum Einsatz, in denen sich die richtige Mischung aus digitalen und analogen Komponenten sowie Arbeitsspeicher integrieren lässt. Es entsteht ein optimierter und maßgeschneiderter Baustein. So führt die Technik zwangsläufig zu einer kleineren Platinenfläche, weniger externen Komponenten und geringeren Materialkosten.

Abbildung 6: Das Entwicklungskit für das PSoC 5LP.

Abbildung 6: Das Entwicklungskit für das PSoC 5LP. Digi-Key

Programmierbare, analoge Bausteine sind weit weniger verbreitet als ihre digitalen Gegenstücke. Den Markt beherrscht hier die PSoC-Familie von Cypress Semiconductor. PSoC-Bausteine, also programmierbare SoCs, verfügen über einen Mikrocontrollerkern, fest verdrahtete Blöcke und programmierbare Logik, unterscheiden sich aber durch ihre konfigurierbare, analoge Peripherie, die sich über eine Schaltkondensator-Technologie, Operationsverstärker, Komparatoren, ADCs und DACs und digitale Filterblöcke aktivieren lässt. Zusammen ermöglichen diese Merkmale den Aufbau von komplexen analogen Signalpfaden, die eng mit den digitalen Funktionen auf dem Chip gekoppelt sind.

Das Entwicklungskit CY8CKIT-050 können Entwickler zusammen mit der integrierten Entwicklungsumgebung (IDE) PSoC-Creator verwenden. Damit können zahlreiche Anwendungen auf Grundlage des PSoC 5LP entwickelt werden. Abbildung 6 zeigt die wesentlichen Elemente des Entwicklungskits.

Der PSoC-Creator ist eine IDE mit einem Unterschied zu vergleichbaren Programmen: Es eignet sich für die gleichzeitige Entwicklung von Embedded-Software und Hardwarefunktionen, die in den konfigurierbaren analogen Blöcken des Bausteins implementiert werden. Entwickler können analoge Funktionen mittels Drag & Drop einfügen und zudem APIs dynamisch generieren, die den Zugriff auf diese Funktionen per Software erlauben. Zum Lieferumfang der IDE gehören zudem verschiedene vordefinierter Verstärker und Filter. Die Entwickler können aber auch eigene Funktionen erstellen.

Abbildung 7: Der mit dem PSoC 5LP implementierte Solar-Controller mit Mikro-Inverter.

Abbildung 7: Der mit dem PSoC 5LP implementierte Solar-Controller mit Mikro-Inverter. Digi-Key

Cypress hat diverse Anwendungsbeispiele zur Demonstration der Fähigkeiten des PSoC 5 erstellt, darunter beispielsweise die Implementierung eines Solar-Controllers mit Mikro-Inverter. Abbildung 7 zeigt einen Überblick über die Architektur einer solchen Anwendung. Der Mikro-Inverter umfasst mehrere Konvertierungsstufen, die eine Boost-Steuerung zur Unterdrückung der Welligkeit, eine Steuerung des Ausgangsstroms, einen Phasenregelkreis sowie einen MPPT-Algorithmus (Maximum Power Point Tracking) beinhalten.

Fazit

Zwar stellt Software eine abstrakte Möglichkeit zur Implementierung fast jeder Aufgabe oder Funktion dar, aber die Leistungsfähigkeit dedizierter Hardware lässt sich dadurch selten übertreffen. Bei steigender Nachfrage nach höherem Durchsatz und besserer Konfigurierbarkeit setzen sich Plattformen, die Hardware, Software, analoge und digitale Bereiche in einer Komponente kombinieren, vermehrt in Form von Ein-Chip-Lösungen durch.

Diese SoCs erfüllen einen Bedarf, aber wie bei jeder Implementierung sind Kompromisse erforderlich. Nicht alle SoCs bieten die richtigen fest verdrahteten Funktionen. Eine einzelne Anwendung wird kaum alle verfügbaren Merkmale nutzen, aber in manchen Fällen ist der finanzielle Aufwand für eine flexiblere Plattform nicht zu leisten. Allerdings nehmen diese Kompromisse aufgrund des technischen Fortschritts zunehmend ab und die von ihnen bereitgestellte Flexibilität rechtfertigt ihre Nutzung in einem breiteren Anwendungsbereich.

Rich Miron

(Bild: Digi-Key)
Senior Technical Content Developer bei Digi-Key Electronics

(prm)

Sie möchten gerne weiterlesen?

Unternehmen

Digi-Key Corporation

701 Brooks Avenue South
56701 Thief River Falls , MN
United States

Microsemi Corporation

1 Enterprise
CA 92656-2606 Aliso Viejo
United States

Xilinx GmbH

Willy-Brandt-Allee 4
81829 München
Germany