Wiki
Wiki
☚ Schaltungen ★
hinten >>>>>>>>> vorne | |||||||||
---|---|---|---|---|---|---|---|---|---|
1. | 2. | 3. | 4. | 5. | 6. | 7. | |||
Schaltungen: | | | | | Front | Selektor | Q+D | Signaltransfer über alles |
|
SubDback-V2 | BackExtend-V2 | MDR-IO-V2 | DisplayContr-V2 | X | X | X | |||
Layouts: | | | | | Front | Selected | Q+D | ||
SubDback-V2 | BackExtend-V2 | MDR-IO-V2 | DisplayContr-V2 | X | X | MDR-IO-V2 |
### Bestellt und in Herstellung (Leiterkarte) ### Ersetzt!
Dieses Board “DisplayContr-V2” ist der “MDR-IO”-Platine an der internen VG-Leiste aufgesetzt und beherbergt Treiber und Kontrollogik, die auf der Frontseite mit dem Matrixelement räumlich nicht unter zu bringen ist. Diese Platine ist also parallel zum Mutterboard angeordnet. Das Display an der Frontplatte ist orthogonal an der Frontplatte und ist dann per Flachbandkabel dem “DisplayContr-V1” verbunden! Die Anzeige des Matrixelementes stellt dem Wartungspersonal des Trafofrontends wichtige Informationen im Problemfall zur Verfügung! Es kann damit auch gezielt mittels der Monitorausgänge das Trafosignal am Osszyllloskop betrachten. Die auf diese Ebene aufgesetzte Ebene der FESA-Softwareerfassung basiert auf diesem Adapter und funktioniert nur korrekt solange eben kein Fehler vorliegt. Deswegen ist die Visualierung der Trafoanzeige auf dem Display elementar wichtig!
Das DisplayControl board steuert mittels zweier CPLDs die Darstellung der Messbereiche und Klemmpulse in Echtzeit auf der LED-Anzeige. Dies “lebt” im 50 Hz UNILAC-Takt (Abbildung). Es gibt 100 ein und ausgehende Signale, die hier zwischen beiden CPLDs aufgeteilt werden. Wegen dieser Aufgabenteilung gibt es weitere 9 Signale, die zwischen beiden CPLDs ausgetauscht werden müssen. 87 Signale sind “langsame” Signale (>= 1ms), die acht Klemmpulssignale dagegen können bei Pulsverkürzung nur 10 µs lang sein. Sechs Signale dienen nur der JTAG-Schnittstelle des CPLDs und dessen Taktung.
#####################################100 externe Signale an oder ab CPLD EXCEL-Signalliste 74LVC3A##################################### | ||||||
87 langsame IO-Signale 8x 4 = 32 Setzbits1) 50 Hz 8x Lesebits2) 2x 2x 10 = 40 LED-Vorgabebits3) 7x Spaltenaktivierungsbits4) | ∪ | 8 schnelle Klemmpulssignale5) | ∪ | 9 Signale zwischen den beiden CPLDs 5x Takt 4x Periode Können entfallen wenn nur ein Chip | 5x CPLD Betriebssignale 4x JTAG 10 MHz6) |
|
> 1 ms | > 1 µs | 1 ms |
Die unten gezeigten Schaltsymbole dienen nur als Hilfskonstrukt, bis die EE korrekte Symbole für den eingesetzten CPLD angelegt hat: die Baugröße des abgebildeten Symbols ist mit der des Chips übereinstimmend und ermöglicht so das Layout! Die Pin-Nr-Funktionspaare am Symbol sind somit irrelevant.
Die gesamte page2 wird später durch mit dem korrekt angelegte Symbol ersetzt.
U21 - JTAG (Unten) J16 CPLD1: Messbereiche Chip oben | U22 - JTAG (Oben) J15 CPLD2: Klemmung & Taktzählung Chip unten |
page3.pdf |
Die beiden CPLDs auf dem Board steuern den Ablauf der Ansteuerung des Punktmatrixelements im Milisekundentakt: Beide CPLDs haben Zugriff auf die grünen und roten LEDs des Elementes, um damit die drei möglichen Farben Rot, Gelb und Grün der Anzeige zu erzeugen. Grob beschrieben steuert der eine CPLD die Messbereichsanzeige in Grün und der andere CPLD die Klemmpulsanzeige in Gelb. Die Nutzung des Punktmatrixelementes reduziert den Stromverbrauch der LEDs, da in einem Augenblick immer nur eine Spalte des Displays zur Anzeige aktiv ist und stellt Messbereiche und Klemmung quasi live im 50Hz-Zyklus, 20 ms-Intervall dar: Die ersten 15ms im 20ms-Takt dienen der Strahlvorbereitung — die letzten 5ms stehen maximal dem Strahl zur Verfügung. Die im 50Hz-Takt vorgegebenen Messbereiche werden mit der 14. Millisekunde getastet und gespeichert (40 Bit), die Anzeige zweimal im Intervall komplett durchlaufen, bzw. erneuert.
Über einen Drehenkoder auf dem Frontboard können verschiedene Anzeigemodi angewählt werden (3Bit), durch Leuchten der ersten LED in grün für Modus “1” in der Zeile “Entklemmt”, der zweiten LED für Modus “2” usw.:
Der erste CPLD “U21” erfasst an 50 Eingängen die drei Messbereichsbits, die Testfunktion und das Bit für Kanal präsent. Diese fünf Bit können, aber müssen nicht unbedingt gespeichert werden, da sie nur der Anzeige auf dem Matrixelement dienen und nicht digital weiterverarbeitet werden.7). Werden diese Bits nicht gespeichert und nur zum relevanten Millisekundentakt durchgeschaltet, so wird das transparent genannt. Innerhalb einer Periode stehen zwanzig Milisekundenintervalle zur sequentiellen Aktivierung der sieben Spalten zur Verfügung — nicht 21! Die Klemmunng in der 6. Spalte soll normalerweise transparent und live in den letzten 5 ms mit Strahl angezeigt werden: Deswegen werden nach Begin einer neuen Periode nur die Spalten 1,2,3,4,5 (MB-Balkenanz.) und 7 sequentiell aktiviert. Im Fall einer Speicherung werden 50 der 128 Bitspeicherstellen benötigt! Die Speicherung würde dann im 13. Takt erfolgen. Die Takte 14-20 würden darauf mit dem Strahl live dargestellt: dann auch der Klemmpuls in der 6. Spalte. Dieser erste CPLD führt auch die Dekodierung der drei Messbereichsbits zur Balkenanzeige hin aus. Der kontinuierlich bis 20 laufende Taktbus wird vom zweiten CPLD empfangen.
Der zweite CPLD “U22” zählt einerseits den Einlaufenden Millisekundentakt binär und gibt diesen Takt auf einen Taktbus “Tkt0-4” aus. Volle 20ms-Intervalle bilden einzelne Zeilen und werden als Perioden bis Fünfzig gezählt und auf den Bus “Per0-5” ausgegeben. Diese 50 Perioden in der Sekunde bilden die maximal möglichen Time slots für virtuelle Beschleuniger. Der CPLD erfaßt an acht Eingängen die anstehenden Klemmpulse der Trafos im Millisekundentakt mit Strahl (max. 5ms) und speichert diese ggf. für einen Trafo und die Darstellung in zehn Intervalle, also 200ms zwischen. Diese Speicherung des Klemmpulses in Einmillisekundenintervallen ist auch deswegen nötig, da es z.B. bei Strahlverkürzung auch Packete von nur 10µs geben kann. Dies zu erkennen wäre für den menschlichen Beobachter zu schnell! Dafür werden 50 Bit benötigt. Der durchlaufende Taktbus wird dekodiert in sieben Spalten: die jeweils zur Anzeige aktive Spalte des Displays. Der mittels Drehenkoder und interiertem Drucktaster gewählte Anzeigemodus wird auf den Modebus “Mod0-2” ausgegeben und intern gespeichert (3Bit). Der gewählte Mode wird als einzeln leuchtende LED in der untersten Zeile visualisiert. Ebenfalls wird durch den Drehentkodierer die Fokusselektion “W-1-4” als Bus ausgegeben und intern gespeichert (4 Bit): Dies selektiert entweder einen Trafo zur Handbedienung (Mode 5) in der ersten MB-Anzeigestelle rot oder die Zeile, also das Klemmpulstiming aus dem virtuellen Beschleuniger in der letzten Anzeige-LED gelb für Mode 4! Weiter wird der per Drehenkoder bestimmte manuelle Messbereich auf den Bus Man0-2 bitweise gemäß Rangecodierung ausgegeben.
Die meisten an die CPLDs übergebenen Signale entstammen quasi-statischen Quellen und müssen daher nicht entprellt werden. Dies gilt nicht für die Signale des Drehenkoders und seines Drucktasters. Sie müssen eventuell innerhalb des CPLDs elektronisch entprellt werden! Das benötigt dann die Reservierung einiger Speicherbits. Vielleicht in Form eines fünfstufigen Schieberegisters basierend auf den einlaufenden 1ms Takten an dem dann auf Vorhandensein von fünf aufeinaderfolgenden Einsen geprüft wird. Annahme dabei: übliches Kontaktprellen unter einer Millisekunde.
Das “Decode”-Signal ist die Übergabe Status “Schalter gedrückt” von einem CPLD zum Anderen, da der Schalter ja physisch zur Auswertung nur an einen verbunden ist, die Anwahl in den diversen Modi aber wohl auch vom zweiten CPLD verarbeitet werden muss!
Ggf. muss vom CPLD auch ein Phasenschift bezüglich des richtigen 50 Hz-Taktes ausgeführt werden: Das GSI-UNILAC-Timing basiert zwar auf auf dem Netzintervall, aber welche der drei Drehstomphasen am Rackstromanschluss vorliegt ist nicht klar.
Der gedrehte Drehwahlschalter erweckt den Courser zum Leben: punktweise in der zehnten Zeile grün blinkend (hier komplett rot), wo durch Punkt der aktive Mode angezeigt wird! Druck des Drehwählers an einer Stelle, z.B. zweiter Position wählt dann diesen zweiten Mode, die LED leuchtet dauernd!
Anzeigesimulation ########################################################## | Die Wahl der alternativen Messbereichsanzeigen, ob orginal binär kodiert (Mode 2) oder im Standard als Balkenanzeige (Mode 1) bleibt resident gesetzt mit dauergrüner LED, bis durch Drücken auf der alternativen Position der jeweils andere Mode gesetzt wird. Mode 3 an dieser Position durch Druck gewählt, lässt den Cursor in die erste Zeile in erste Position springen: Die MB-LED dort wandelt sich von grün auf rot. Drehen lässt den Cursor in erster Spalte auf bzw. ab wandern. Druck in einer Zeile wählt diesen Trafo zu fixen Betrachtung in einem von zehn (fünfzig: 50x 20ms = 1s) aufeinanderfolgenden Beschleunigern im Fokus. Die erste LED bleibt rot und der Curser springt in die letzte, siebte Spalte und lässt die LED gelb aufleuchten: Drehen lässt nun den gelben Cursor auf und ab wandern. Wahl durch Druck in einer Zeile fixiert den Messbereich der x-ten UNILAC-Periode, nur diese Periode und der verbundene Beschleuniger wird dauerhaft angezeigt, die Anzeige ruhiger. Diese Wahl wird durch kurzen Druck in gleicher Position wieder frei gegeben. Langes Drücken lässt erneut die Wahl eines anderen Trafos zu: der Cursor springt erneut in die erste Spalte. Der Mode 3 wird verlassen, wenn auf schon gewählter Position erneut gedrückt wird; der Mode wird verlassen und der Cursor springt zurück in die Modezeile 10! Mode 4 ändert nur die Darstellung der Klemmpulse: statt nur in seiner Position in Spalte 6 werden von dieser nach vorne die Klemmpulse dargestellt. Dieser Mode wird ebenfalls resident gesetzt bis erneutes Drücken den Mode bendet. Mode 5 gewählt bringt erneut den Cusor in Possition 1,1 und macht die grüne LED rot. Drehen läßt den Cursor vertikal wandern und Drücken in einer Zeile wählt die Klemmpulsdarstellung zu der von Mode 4 mit dem Unterschied, dass für diesen einen Trafo zehn aufeinderfolgende gespeichert und angezeigt werden. Der Mode wird abgewählt, wenn in der gewählten Zeile erneut getätigt wird. Mode 6 setzt den Cursor in Position 1 der Zeile neun: Drehen dort zieht einen Messbereich in Balkenanzeige auf, Drücken setzt diesen. Dieser Wunschmessbereich wird an die DAQ-Software über das IO gemeldet. Die setzt den Wunschmessbereich und kann das dann ggf. selber wieder eliminieren. Mode 7 durch Druck in Position 7 gesetzt: die zehnte Zeile leuchtet zunächst komplett rot. In diesen Mode ist die Klemmung des Kontrollsystems aufgehoben, um im Falle eines Fehltimings dennoch am Monitorausgang Trafopulse sehen zu können. Das sollte nicht zu lange sein, daher endet dieser Mode automatisch nach 70s. Alle 10s erlischt eine der sieben LEDs. |
Der VHDL-Code für die beiden CPLDs wird aktuell freundlicherweise von Rene Geissler umgesetzt und findet sich auf dem GIT Repository:
★ VHDL-Code-Seite ☛
Pos. | Kurz | Beschreibung | Fehlerbehandlung |
---|---|---|---|
1 | -15 gegen GND kurz geschlossen | Pin 32b mit ”-15V“ wird an GND kurzgeschlossen, wenn auf MDR-IO-V2 aufgesteckt! | einfach: VG-Pin 32b an Displaybord kappen! |
2 | Signalindizierung 1..10 zu den LED-Treibern umgekehrt, wie an den Ausgängen der Treiber (10..1) zum Frontboard mit den Punkt LEDs | Anzeige auf dem Kopf | MAPING Signalausgabe im CPLD ändern…. |
☚ Schaltungen ★