Newsletter

13.04.2010

XMOS - Ethernet AV-Bridging

Hi-Q-News XMOS "Ethernet AV-Bridging"

Trotz permanenter Erhöhung der Bandbreite und Erweiterung des Standards um Quality-of-Service hat Ethernet heute noch immer mit der Problematik fehlender Echtzeitfähigkeit zu kämpfen. Vor allem zur Übertragung multimedialer Inhalte mit der Notwendigkeit möglichst synchroner Paketzustellung macht sich dieser Mangel unangenehm bemerkbar. Dies könnte sich nun ändern, denn mit der Standard-Erweiterung „AVB“ (802.1BA) entsteht eine Möglichkeit zur deterministischen Zustellung von Paketen in einem lokalen Netzwerk. XMOS bietet dafür mit seinen Event-Driven-Prozessoren eine moderne Implementierung.

Event-Driven Prozessor

Ethernet AVB mit seinen Substandards "Precision Time Protocol" (802.1AS), "Queuing & Forwarding" (802.1Qav) und "Reservation & Allocation" (802.1Qat) verlangt spezifische Erweiterungen der Media-Access-Controller, dazu die Unterstützung digitaler Medienaufzeichnung- und Wiedergabe. Zur Implementierung eignen sich ganz generell Prozessoren aus dem Embedded-Bereich, doch müssen sie in hohem Maße determinierbar, also echtzeitfähig sein, um den Anforderungen des synchronen Ethernets gerecht zu werden. Architekturen auf Basis von State-Machines, implementierbar beispielsweise in FPGAs und CPLDs, erfüllen diese Forderung natürlich in idealer Weise, sind aber recht sperrig in der Formulierung der benötigten HDL-Funktionsblöcke. Ideal  ist ein hoch deter-ministischer Prozessor mit der Möglichkeit zur Programmierung in gewohnter Hochsprache, wie er seit einiger Zeit von der Firma XMOS als „Event Driven Processor“ (EDP) mit der sog. XCore-Achitektur angeboten wird.

Die Idee dahinter ist im Grunde recht einfach: Definiere so viele Funktionen wie möglich in Software, auch solche, die klassischerweise in Hardware realisiert sind und lasse dies auf einer Anordnung von Prozessorkernen ablaufen.

Jeder Task belegt einen Thread, 8 davon laufen in exaktem Zyklus auf einem Core. Eine gegenseitige Beeinflussung ist ausgeschlossen und so lässt sich bei der Entwicklung exakt vorhersagen, wie lange eine bestimmte Aktion dauern wird. Dieses hohe Maß an Determinismus ist die zentrale Schlüsseleigenschaft der Chips und versetzt Entwickler in die Lage, nicht nur Systemprozesse wie Protokollstacks, sondern auch Hardwareschnittstellen in einer gemeinsamen Umgebung zu definieren.

Dieser integrierte Hardware/Software Development-Flow basiert auf einem modifizierten C-Compiler namens XMOS-C (XC), letztlich eine C-Erweiterung, die den Zugriff und die Steuerung des Multi-Threadings und der I/O-Ressourcen ermöglicht.

Systemdesign
 
Die Komponenten MAC, PTP und Audio-Interface benötigen in Summe 13 Threads und knapp 80 kByte Speicher. Mit einem Vorrat von 32 Threads und 256 kByte Speicher des XS1-G4-Prozessors bleiben also für Anwendungen mehr als 60% der Chip-Ressourcen, z.B. für Protokollimplementierungen, zur Netzwerkkonfiguration, Anwenderschnittstellen, für Audio-Verarbeitungsroutinen oder einfach für zusätzliche Audio-Streams. Die Aufteilung der Komponenten auf die 4 Kerne des Prozessors ist in der Abbildung links zu sehen. Einige zeitkritische Threads müssen auf einem gemeinsamen Core laufen, da hier die kürzesten Link-Verzögerungen existieren.

Entwicklungsplattformen

Die SW-Entwicklungsumgebung ist nach erfolgter Registrierung kostenlos von der XMOS-Webseite zu beziehen und zwar für den Einsatz in Windows-Umgebung ebenso wie für MAC- oder Linux-Betriebssysteme. Einmal registriert, erhält man Zugang zu den Tools und Beispielprogrammen sowie zur Seite Xlinkers, der offiziellen XMOS Web-Community. Darin findet man eine große Zahl an Projekten und Programmen, sowie Code-Snippets, aber auch Blogs mit Problemendiskussionen und Lösungen, die einem das Leben als Entwickler leichter machen.

Hardwareseitig bietet XMOS mehrere Evalu­ierungs-Boards auf Basis des XS1-G4 und dem neuen Single-Core-Device XS1-L1. Für die AVB-Implementierung nutzt XMOS das XS1-G, eine Break-Out-Box mit QVGA-LCD im schwarz glänzenden Gehäuse und Anmutung eines Modder-PCs, umfangreich ausgestattet mit LVDS-Schnittstellen, Audio-I/O und Ethernet, einem Slot für SD-Cards und die auf Pfostenleisten herausgeführten XIO-Ports.

Im Auslieferungszustand sind bereits einige Bei­spielprogramme installiert, die über ein On-Screen-Menü und der Tastatur gestartet werden können. Neben „Pong“ und „Mandelbrot“ gibt es auch einen Audio Frequenzanalyzer, der den Audio-Eingang des Evalsystems in Echtzeit analysiert und als Frequenzdarstellung auf den Bildschirm bringt.

Demosystem

Mit der Ausstattung des AVB-Referenzsystems von XMOS lässt sich eine AVB-Wolke mit 4 Teil­nehmern aufbauen, wobei jede der Boxen als Talker oder Listener fungieren kann. Die notwendige Software ist auf einer SD-Karte in jeder Box enthalten und lässt sich über ein Menü auswählen.

Zur Auswahl stehen die Programme „AVB_T.XB“ für den Einsatz als Talker und „AVB_L.XB“ für den Listener. Audiosignale werden über die Line-In Klinkenbuchsen in die Boxen eingespeist bzw. können über Line-Out an aktive Boxen ausge­geben werden. Am zentralen Ethernet Switch lässt sich über einen Repeating-Port der Datenverkehr auf der Ethernet-Ebene verfolgen, z.B. mit einem Packet-Sniffer wie dem bekannten Wireshark.

Die Boxen zeigen im Betrieb eine Frequenzdarstellung des eingespeisten bzw. übertragenen Audiosignals, im Thread-Diagramm als FFT & Buffer Komponente zu finden. Auch damit lässt sich sehr eindrucksvoll zeigen, dass sich Threads auf diesem Prozessor nicht gegenseitig beeinflussen und ihre Echtzeitfähigkeit auch unter Last beibehalten.


...mehr über XMOS


TOPAS electronic GmbH
Großer Kolonnenweg 18C3
D 30163 Hannover
Fon: +49 511 96864-0
Fax: +49 511 96864-64
info@topas.de

IDT - Dual-Mode Wireless Power Receiver IC IDTs innovative Lösung schlie

...mehr


Invensense MPU-3300
Single-Chip 3-Achsen Industrie-Gyroskop InvenSe

...mehr

Hi-Q-News - "Leitungstreiber für den Feldbus" von LSI |

...mehr