Digitale Signalprozessoren
Der Trend zur Digitalisierung ist heute präsenter denn je. In vielen alltäglichen Produkten werden analoge Hardwarekomponenten durch digitale Lösungen ersetzt und in diesem Zuge mit verschiedensten Mikrocontrollern ausgestattet. Diese verwenden dann Algorithmen der digitalen Signalverarbeitung, um bisher analoge Abläufe zu ersetzen.
Während vor wenigen Jahren noch klar zwischen expliziten digitalen Signalprozessoren und sog. General-Purpose-Prozessoren unterschieden werden musste, verschwimmt diese Grenze zunehmend. Heutige CPUs besitzen neben einer Vielzahl von Kernen schon seit längerem spezialisierte Funktionseinheiten mit großer Registerbreite in jedem Kern. Diese können z.B. einen Befehl parallel auf mehrere Datenworte anwenden (SIMD – Single Instruction Multiple Data). Dadurch warten bereits low-cost-Varianten neuerer Prozessorgenerationen mittlerweile mit Leistungsmerkmalen auf, die zuvor exklusiv DSPs vorbehalten waren.
Digitale Signalprozessoren bei telos
telos verwendet seit „Jahrzehnten“ DSPs bei der Entwicklung kundenspezifischer Lösungen. Daher haben wir im Bereich der digitalen Signalverarbeitung einen großen Erfahrungsschatz aufgebaut. Neben Standard- und Multi-DSP-Architekturen kommen dabei auch Hybride wie die Blackfin Familie von Analog Devices zum Einsatz. Auch DSPs anderer Hersteller wie NXP Semiconductors, Intel oder Freescale finden Verwendung.
Darüber hinaus führen wir Projekte mit Herstellern durch, die parallel zur Entwicklung neuer DSP-Prototypen die Entwicklung von passender Anwendungs-Software benötigen. In diesen Fällen wird dann oftmals unter Einsatz von Simulatoren und/oder Emulatoren Software entwickelt, die später ohne größere Anpassungen auf die Ziel-Hardware portierbar sein muß.
Die nachfolgende kleine Projektauswahl zeigt exemplarisch, in welchen Bereichen DSPs bei telos eingesetzt wurden:
- Implementierung von Sprachverarbeitungs-Standards wie CELP speech coding
- Entwicklung von En- und Decodern für MPEG Audio- und Video-Signalverarbeitung
- Realisierung von verschiedenen Verfahren für 5.1 Audio-Surround-Systeme
- Interface-Anbindungen von Kommunikationssystemen an weltweite Übertragungskanäle
- Echtzeitverarbeitung von Messdaten optoelektronischer Messsysteme
Digitale Audio- und Video-Signalverarbeitung
Im Rahmen der Audio- und Video-Signalverarbeitung sind die entstehenden Datenströme häufig sehr umfangreich und komplex. Damit diese Daten in geeigneter Weise verarbeitet, gespeichert und übertragen werden können, benötigt man leistungsfähige Architekturen. Diese erfordern die Entwicklung intelligenter, adaptiver Algorithmen zur Filterung, Konvertierung und Kompression der Daten. Die Datenverarbeitung wird dabei in der Regel in Echtzeit durchgeführt.
Hierbei kommen Architekturen zum Einsatz, die speziell für die moderne Signalverarbeitung entworfen wurden. Sie verfügen über schnelle Recheneinheiten, interne Busse zur parallelen Datenverarbeitung und vielfältige, standardisierte Interfaces. Daher sind diese Plattformen für viele aktuelle und zukünftige technische Aufgabenstellungen im Bereich der Signalverarbeitung ganz besonders gut geeignet.
Softwareentwicklung für DSP
In der Anfangszeit der DSP-Programmierung wurden Anwendungsprogramme auf DSP-Plattformen üblicherweise in Assembler realisiert. Die Programmierung in Maschinensprache zwecks manueller Optimierung der Programmabläufe war notwendig, um die volle Leistungsfähigkeit des DSPs nutzen zu können. Dies erforderte aber vom Entwickler ein umfassendes und tiefes Verständnis der Chip-Architektur des DSPs und der Signaltheorie des zu entwerfenden Algorithmus. Außerdem erforderte die Implementierung des Codes einen ungemein hohen Aufwand.
Heutzutage ermöglichen verschiedene Hersteller und Produkt-Familien den Einsatz der Programmiersprache „C“. Diese prozedurale, aber relativ maschinennahe Hochsprache kann mit speziell entworfenen Compilern einen Großteil der Optimierungsaufgaben übernehmen. Wie jede Hochsprache nimmt sie dem Entwickler die lästigen Routineaufgaben wie z.B. die Programmierung eines Funktionsaufrufes als einzelne Sequenz von Maschinenbefehlen ab, indem sie die Logik dieses Ablaufs vom verwendeten Befehlssatz abstrahiert.
In der Regel bieten die Hersteller eine Variante mit erweitertem Sprachumfang namens „DSP-C“ an. Damit erreicht man regelmäßig eine einfachere Portierbarkeit und Wiederverwendbarkeit auf alternativen DSP-Plattformen.
Allerdings ist eine Optimierung nur dann möglich, wenn das Softwaredesign bereits bei der Planung der Software definierten Kontroll- und Steuerungsmechanismen unterliegt. Dies muß im Hinblick auf die Fähigkeiten des DSPs und der zu entwickelnden Anwendung geschehen. Nur so lassen sich die Vorteile optimierender Compiler voll ausschöpfen und die Gefahr von Overhead reduzieren, die eine Verschwendung von Rechenleistung und ggf. eine Gefährdung der Echtzeitfähigkeit zur Folge haben könnte.
Aufgrund der zuvor erwähnten verschwimmenden Grenzen zwischen General-Purpose- und dedizierten Signalprozessoren kommt dem Verständnis der signal- und systemtheoretischen Grundlagen auch bei der Entwicklung auf General-Purpose-Prozessoren ein immer höherer Stellenwert zu. Anstatt die einschlägigen Algorithmen jedoch selbst zu implementieren, zu testen und zu optimieren, empfiehlt sich der geschickte Einsatz von bereits vorhandenen DSP-Codebibliotheken der Hersteller.
Die Anforderungen an moderne DSP Software-Entwicklung hat sich also im Laufe der Jahre von der optimierenden, maschinenabhängigen und sehr aufwändigen Programmierung hin zu einem komplexen Software-Systemdesign unter Einhaltung vielfältiger, aber standardisierter Spezifikations- und Qualitätsvorgaben weiterentwickelt.
Auch um diesen geänderten Anforderungen gerecht zu werden, besitzt telos seit vielen Jahren ein nach ISO9001 zertifiziertes Qualitätssicherungssystem, das Prozesse zur Steuerung und Kontrolle dieses geforderten Systemdesigns zur Verfügung stellt.
Links
Es ist nicht leicht, eine gute Übersicht über DSP Familien und Varianten zu finden, aber hier finden Sie eine herausragende Zusammenstellung.
- Sie benötigen Unterstützung im Bereich Digitale Signalverarbeitung?
- telos ist seit 1988 aktiv. Nutzen Sie unser Ingenieurteam und die Erfahrung mehrerer Jahrzehnte!
- Nehmen Sie bitte Kontakt mit uns auf 040 450173 60
- Gerne auch für einen unverbindlichen "Klönschnack", wie man im Norden sagt