Kommunikations-FPGA für Impulsgenerator
Dieses Teilprojekt gehört zum Hochspannungs-Impulsgenerator.
Das Kommunikations-FPGA dient als Device für den Concerto-Prozessor der den gesamten Impulsgenerator steuert. Es wurde ein Lattice-XP2 FPGA eingesetzt und mit Hilfe der Lattice Diamond Umgebung programmiert.
Während der Concerto-Prozessor nur die Kommunikationsschnittstellen (USB, Ethernet, RS232) bedient, ist das FPGA für ADCs, DACs, GPIOs, Flash-Speicher und insbesondere den optischen Interfaces zuständig.
Zum Anschluss an den Concerto wurde ein Gegenstück zu dessen EPI (External Peripheral Interface) implementiert. Ein Stream-Prozessor im FPGA leitet die gewählten Datenströme vom PC an die Peripherie bzw. in umgekehrte Richtung.
Für das optische Interface zum Ring wurde ein proprietäres Protokoll implementiert, welches im Zellen-FPGA beschrieben ist.
Für die Kommunikation mit den ADCs, DACs und dem externen Flash-Speicher wurden SPI-Interfaces implementiert. Durch die proprietäre Implementierung wurde sichergestellt, dass man das Timing für die unterschiedlichen angeschlossenen Devices im Griff hat.