102 Dokumentation: Der Myon-Pretrigger und seine Online-SoftwareeinausMU3−1M:MU4−1L: "MU4−0"R: MU4−2MU3−2M:MU4−2L:R:MU4−1MU4−3MU3−3M:MU4−3L:R:MU4−2MU4−4MU3−4M:MU4−4L:R:MU4−3MU4−5einausAbbildung A.4:Verteilung der MU3- und MU4-Daten auf verschiedene PCU-Kanäle. Datender MU4-Randspalten (MU4-1 und MU4-4) müssen auch zu benachbartenPCUs übertragen werden ( ”aus“) oder von diesen empfangen werden( ”ein“) [Sch01b].Pro Konzidenzkanal gibt es einen CPLD, in dem der Algorithmus zur Berechnung derKoinzidenzen implementiert ist. Die Suche nach Konzidenzen vollzieht sich in mehrerenSchritten. Die Daten der MU3- und MU4-Spalten eines Koinzidenzkanals werdenzunächst synchron aus den DPRAMs ausgelesen und in die Eingangsregister des CPLDgeschrieben. Dort können einzelne Bits maskiert, d. h. auf eine logische ”0“ gesetzt,werden, um zu verhindern, dass eventuell fehlerhafte Auslesekanäle die Konizidenzberechnungnegativ beeinflussen. Nun werden die Daten der drei MU4-Spalten paarweiseverodert, also je zwei durch ein logische ODER miteinander verknüpft. Somit erhältman ein Treffermuster, dass durch drei Bits beschrieben werden kann. Eine Unterscheidungzwischen Treffern in der oberen MU4-Reihe und der unteren MU4-Reihe ist allerdingsnicht mehr möglich. Führt die anschließende Konzidenzsuche zum Erfolg, wirddas Datenwort der MU3-Treffer durch ein Datenwort der Koinzidenz ersetzt. Ein aufeine logische ”1“ gesetztes Bit entspricht hier einer gefundenen Koinzidenz. Im folgendenSchritt wird die Position des MU3-Pads einer Koinzidenz innerhalb des Zyklus, diesogenannte Koinzidenzadresse, bestimmt. Das Konzidenzdatenwort wird hierzu in vierTeile zu je vier Bits aufgeteilt, die als Adressen für interne Look-up Tables (LUT) dienen.Diese LUTs geben als Ergebnis die Adresse der gefundenen Koinzidenz aus. EinValid-Bit, das eine gefundene Koinzidenz mit einer logischen ”1“ kennzeichnet, wirdebenfalls ausgegeben. Von der LUT werden grundsätzlich zwei Adressen ausgegeben.Ist im Teildatenwort des Koinzidenzdatenwortes kein Bit gesetz, werden zwei beliebigeKonzidenzadressen ausgegeben und durch die Valid-Bits als ungültig markiert. Ist ein
103Bit gesetzt, wird die Adresse, die der Position der Koinzidenz entspricht, zweimal ausgegeben,aber nur einmal durch das Valid-Bit als gültig erklärt. Sind zwei Bits im Teildatenwortgesetzt, werden beide Adressen als gültig markiert und ausgegeben. Solltenmehr als zwei Bits im Teildatenwort gesetzt sein, werden die zwei am weitesten voneinanderentfernten Koinzidenzen gültig erklärt und die dazugehörigen Adressen ausgegeben.Alle übrigen Konzidenzen gehen in diesem Fall verloren. Es findet hier also eineAuswahl ”2 aus 4“ statt, die in den Eigenschaften der CPLDs begründet ist. Diese Stufeder Koinzidenzberechnung liefert insgesamt acht Konzidenzdatensätze mit jeweilsacht Bits: einem Valid-Bit, vier Bits der Koinzidenzadresse und drei Bits für das Treffermusterder MU4-Daten. Ein weiterer Selektionsschritt ”5 aus 8“ findet statt, wennmehr als fünf Konzidenzen auftreten. Hier werden die fünf Konzidenzen mit dem geringstenAbstand zum Protonenstrahlrohr ausgewählt. Die so gefundenen Informationenüber Koinzidenzen werden von den CPLDs zunächst in Auffang-FIFOs (FIFO: First-in-First-Out-Speicher) geschrieben. Diese Bausteine ermöglichen unabhängige SchreibundLesezugriffe bei Erhalt der zeitlichen Reihenfolge der Daten. Hier findet eine Nullunterdrückungstatt, d. h. wenn keine Koinzidenzen gefunden wurden, werden keineDaten in die FIFOs geschrieben. Die gültigen Koinzidenzdaten werden sortiert nachihrer Koinzidenzadresse in die FIFOs geschrieben, wobei das erste FIFO jeweils dieKoinzidenz erhält, die dem Strahlrohr am nächsten liegt. Befinden sich Daten im erstenAuffang-FIFO, werden diese Daten ausgelesen und in einem weiteren FIFO zur Serialisierungzwischengespeichert. Dann werden die Valid-Bits der Koinzidenzdaten in denübrigen Auffang-FIFOs überprüft und die Daten gültiger Koinzidenzen ebenfalls in denSerialisierungs-FIFO übertragen. Kopien dieser Daten werden in einem Test-FIFO gespeichert,der über die VME-Schnittstelle zu Kontrollzwecken ausgelesen werden kann.Jeweils zwei PCUs und ein PMG sind zu einem logischen Segment zusammen gefasstund können über eine spezielle Verbindung auf der Rückseite der Crates (Backplane)Daten austauschen. Über diese Backplane zeigt der jeweilige Konzidenzkanal auf einerPCU dem PMG an, dass sich Koinzidenzdaten im Serialisierungs-FIFO befinden. DieseDaten werden dann vom PMG angefordert und über die Backplane von den Auffang-FIFOs zur PMG übertragen.Die Pretrigger Message Generatoren (PMG) übersetzen die von den PCUs empfangenenKoinzidenzdaten in Nachrichten für den FLT (siehe Abbildung A.5). Diese standardisiertenNachrichten enthalten die Parameter der Konzidenzen, aus denen der FLT dieRegion of Interest (RoI) berechnet, die Impulsabschätzung und die BX-Nummer derEreignisses. Ein CPLD auf jeder PMG überwacht ständig die Schnittstellen zu den angeschlossenenPCUs, um die Datenübertragung von den PCUs zum jeweiligen PMGzu initiieren. Hier wird auch kontrolliert, in wie vielen Koinzidenzkanälen gleichzeitigDaten zur Verfügung stehen und sichergestellt, dass jeweils nur ein KoinzidenzkanalZugriff auf die gemeinsame Datenschnittstelle hat. Da die x-Position der Koinzidenznicht in den von der PCU gesendeten Daten enthalten ist, fügt der PMG drei Bits zu denDaten hinzu. Aus diesen kann die genaue x-Position einer Koinzidenz bestimmt werden,die einzelnen Pretrigger-Module bestimmten Detektorbereichen zugeordnet sind.Die FLT-Nachrichten werden mit einer in einem RAM implementierten Look-up Table