Digitaler Signalprozessor (DSP) mit Linux
Oftmals werden an eingebettete Systeme widersprüchliche Anforderungen gestellt. Einerseits soll das System klein sein und wenig Energie verbrauchen, andererseits eine hohe Leistung haben. Hier stellt der Blackfin-Prozessor von Analog Devices ein ideales Arbeitspferd dar. Als erster DSP verfügt er über eine Architektur, welche es gestattet, ein Embedded Linux Betriebssystem darauf zu betreiben.
Anforderungen an ein Linux DSP System
Typische Anforderungen an DSP-Systeme sind zyklisch wiederkehrende Berechnungen auf größere Mengen von Daten. Ein typisches Beispiel ist die Berechnung einer Fast Fourier Transformation und Auswertung des so ermittelten Spektrums für 8 Datenkanäle mit einer Abtastrate von 1 MHz.
Kommen nun Anforderungen wie ein HTTP-Server, eine Login-Shell zur Diagnose, ein Dateisystem auf einem Flash-Speicher für die Parametrierung und eine präzise Synchronisierung der Echtzeituhren hinzu würde der Aufwand stark anwachsen. Das Linux-Betriebssystem stellt diese Dienste ohne Mehraufwand zur Verfügung.
Realisierung eines Linux DSP Systems
Genau diese Anforderungen hat ein Kunde vor etwa fünf Jahren an uns heran getragen. Darüber hinaus sollte das gesamte System sparsam und klein sein. Eine Analyse der verfügbaren Prozessoren ergab schnell, dass der Blackfin ideal für diese Anforderungen war.
Entwicklung der Blackfin Hardware
Zur fraglichen Zeit kam das Blackfin-STAMP Board auf dem Markt, welches einerseits als Vorbild für unser Hardwaredesign und andererseits als Entwicklungsplattform für die Software diente. Aus lizenzrechtlichen Gründen haben wir die Schaltung jedoch von Grund auf neu entwickelt. Aufgrund der Anforderungen an die Größe des DSP Systems haben wir die Schaltung auf drei übereinander angeordneten Leiterplatten von jeweils ca. 10x10 cm² verteilt. Dies ergab zugleich den Vorteil, dass nur eine der drei Leiterplatten in einem aufwändigen Multilayer-Verfahren gefertigt werden muss, welches aufgrund der feinen Strukturen des Blackfin Prozessors erforderlich ist.
Portierung von Linux
Für das STAMP stand bereits ein vorkonfiguriertes und lauffähiges uClinux zur Verfügung. uClinux ist eine speziell auf kleine System optimierte embedded Linux Distribution. Da wir die wesentlichen Parameter unserer Schaltung am STAMP-Board ausgerichtet hatten konnten wir das System schnell in Betrieb nehmen.
Entwicklung der Anwendungssoftware
Die Anwendungssoftware besteht aus den Algorithmen zur Verarbeitung der Daten, Programmen zur Bedienung und Parametrierung des DSP Systems über einen Webbrowser sowie verschiedenen zusätzlichen Programmen. Diese haben wir parallel zur Entwicklung der Hardware entwickelt und auf STAMP-Boards getestet. Die abschließende Portierung auf die kundenspezifische Hardware konnte auf diese Weise sehr schnell abgeschlossen werden.
Fazit
Durch den kombinierten Einsatz von Freier Software in Form der Embedded Linux Distribution uClinux und des frei verfügbaren STAMP-Boards konnten wir für unseren Kunden eine kurze Entwicklungszeit zu moderaten Kosten erreichen.


