Hy,
ich habe auf meinem Desktop RT 3 zeitgesteuerte Schleifen.
Jeder Schleife ist eine "Aufgabe" sowie einem CPU Kern zugeordnet.
Auf dem FPGA werden die Signale von 32 Sensoren erfasst.
Ist von einem Sensor eine gewisse Anzahl an Messwerten erfasst so werden diese als "Paket" mit einem Erkennungsmerkmal in einen DMA FIFO geschrieben.
Anhand des Erkennungsmerkmals werden die gelesenen Daten aus dem DMA FIFO auf dem RT System gelesen, zugeordnet und verarbeitet.
Konzept auf dem RT System ist folgendes:
1te Schleife: Liest Daten von einem FPGA DMA FIFO und schreibt sie in einen RT FIFO.
2te Schleife: RT FIFO lesen,die Messwerte dem richtigen Sensor zuordnen und in ein Array schreiben.
Noch umzusetzen ist:
3te Schleife: Die Werte im Array lesen und gemäß dem Sensorprotokoll umrechnen, formatieren und in einer Datei speichern.
Probleme gibt es mit Schleife 2, die CPU Auslastung vom Kern 2 steigt langsam an, bis irgendwann 100% erreicht werden.
Die Ursache ist mir noch unklar, da die Schleife 2 ja nichts anderes macht als Werte in das dazugehörige Array zu schreiben.
Nun die Frage was verursacht diesen Anstieg der CPU Last und wie kann Abhilfe geschaffen werden?
Gruß,
Ben