University thesis:
Ilmenau, Techn. Univ., Diplomarbeit, 2007
Footnote:
Description:
Auf Basis des Echtzeitbetriebssystems eRTOS in der Version 4.0, das im Fachgebiet Rechnerarchitektur entwickelt worden ist, sollte ein Regler aufgesetzt werden. Dieser dient der Regelung von Positionen und Winkel für die Nanopositionierungs- und Nanomessmaschine. Ein Multi-DSP-Board dient hierbei als Entwicklungsplattform.Zu Beginn wurde der Regleralgorithmus für einen DSP in der ersten Version ohne das Betriebssystem und anschließend mit dem Betriebsystem implementiert und getestet. Aus den Messungen der Laufzeiten konnte später eine Gegenüberstellung der verschiedenen Implementierungsvarianten durchgeführt werden.Darauf aufbauend wurde der Algorithmus für ein Multi-DSP-System entworfen. Es wird ein Speedup erwartet, da nun nicht mehr ein DSP, sondern vier DSPs parallel die Positionen und Winkel regeln. Die Signale müssen von einem Master-DSP aufgespalten und anschließend an die vier Slave-DSPs verteilt werden. Der Aspekt der Lastbalance spielt hierbei eine wichtige Rolle. Ebenso wichtig sind der Nachrichtentransport, die Taskverwaltung sowie die Synchronisation. Da der Master-DSP für die Signalaufteilung, Kommunikation und Synchronisation der Daten mit den Slaves zuständig ist, müssen die Slaves nur die Berechnungen durchführen.Erst während der Implementations- und Testphase stellte sich heraus, dass der erwartete Speedup sich nicht einstellte. Aufgrund der Tatsache, dass das Betriebssystem und auch die Hardware in mancher Hinsicht nicht die benötigten Grundlagen lieferte, musste eine Lösung entwickelt werden, die unter diesen Randbedingungen robust, fehlerfrei und trotzdem schnell arbeitet. Dafür war es notwendig, verschiedene Varianten zu implementieren, diese zu testen und aus den daraus gewonnenen Erkenntnissen eine verbesserte Version zu entwickelt. Wie schnell die Multi-DSP-Variante gegenüber einem einzigen DSP ist, wurde am Ende der Arbeit ermittelt.Zu Beginn der Arbeit wurde ein Speedup um das Dreifache erwartet. Diese Erwartung wurde in vollem Umfang erfüllt. Bei der Kommunikation und dem Datenaustausch zwischen Master und Slaves kamen Schnittstellen aus den Vorgängerarbeiten zum Einsatz. Diese wurden im Hinblick auf Echtzeitfähigkeit überprüft. Grundlagen für die Entwicklung war am Ende die Nutzung des HPI-Treibers, der nur niedere Kommunikation auf Registerebene durchführte und deshalb die besten Testergebnisse aufweisen konnte.