Applikationssoftware für ein Multi-DSP-System

Based on the realtime operating system eRTOS4.0, which was developed in the department of computer architecture, a controller software should be implemented. This serves the regulation of positions and angles for the Nano-Positioning and Nano-Measuring Machine (NPMM). A Multi-DSP-Board is used as development platform.At the beginning the controller algorithm for one DSP was implemented and tested without the operating system and afterwards with the operating system. From the runtime-measurements a comparision of the different implementation methods could be accomplished. After this the algorithm for a Multi-DSP-Board was developed. For this solution a Speedup is expected, because no one DSP, but four DSPs regulate the positions and angles in parallel. The signals must be split up by a Master-DSP and afterwards distributed to the four Slave-DSPs. The aspect of load-balancing plays an important role. As important as this are the message transport, task management and synchronisation. Since the Master-DSP is responsible for the signal allocation, communication and synchronisation of the data, the slaves only have to calculate.During the implementation and test phase it turned out that the expected Speedup could not be reached. Due to the fact that the operating system and also the hardware did not supply the necessary bases in certain respects, a new solution had to be developed, which works under these constraints durably, accurately but also fast. It was necessary to implement different variants and test these. As a result, an improved version could be developed. The speedup of the optimized Multi-DSP-Version in comparison with the Single-DSP-Versions was determined at the end of the work.At the beginning, a Speedup was expected around the threefold. This expectation was in its entirety fulfilled. In communication and data exchange between master and slaves interfaces were used from the predecessor works. These were examined regarding realtime ability. Technical base for development was in the end the use of the HPI-Driver, which accomplished low-level communication on register level and therefore exhibit the best test results.

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.

Ilmenau, Techn. Univ., Diplomarbeit, 2007

Vorschau

Zitieren

Zitierform:
Zitierform konnte nicht geladen werden.