Skip to content

Latest commit

 

History

History
52 lines (32 loc) · 2.74 KB

README.md

File metadata and controls

52 lines (32 loc) · 2.74 KB

PXD-OVP

Revised firmware for the CPLDs located on the Overvoltage Protection board (OVP board).

Introduction

The LMU-PS OVP board protects the PXD sensor and ASICs from overvoltages and conditions that could potentially damage the PXD detector. In total, 24 conditions are checked. In the presence of an OVP event, the voltages are shut down and the detector is no longer in operation. The rate of triggered OVP events has increased since spring 2021 (0.5-1 per day) after beam currents were increased. Since OVP events occur even when regulators are off, the cause are Single Event Upsets (SEUs) in the CPLD logic which sends the OVP trigger signal.

The modified firmware is intended to prevent these occurrences.

Instructions

ISE Design Suite 14.7 (on Ubuntu) is used to generate the CPLD programming file. The settings for generating the file, the necessary steps for uploading the file as well as the simulation settings are described in the following sections:

OVP Test Board

For the investigation, the OVP-Test-Board was designed which houses an Arduino Nano. The Arduino is used to communicate with the CPLD (via I2C), read out the status of the individual channels, write masks or reset the control logic.

OVP_test_board

CPLD Control Logic

An SR latch (unclocked) is replaced with a D-flip flop (clocked, falling edge D-flip flop with asynchronous reset (low)). In the case of an SEU, the SR-latch triggered an OVP event.

The clock needed for the flip flop is transmitted from the auxiliary CPLD via the existing ax_res-line. This means that I2C can no longer be reset via the push button (does not pose any restrictions for operation). A delay is implemented at the end of the logic to filter short pulses before the flip flop returns to the correct state (if the state is changed within 20.8 nanoseconds (48 MHz) by an SEU).

logic_ovp_new_2-1

Repository structure

/documentation Documentation and schematics

/arduino/I2C_master Code for the Arduino Nano

/firmware Firmware for two Xilinx CPLDs (XC95144XL-TQ100)

  • /xilinx_aux Auxiliary CPLD - contains the I2C interface
  • /xilinx_main Main CPLD - contains the control logic

/OVP_breakout KiCad files for the OVP test board

/firmware_old Old firmware for two Xilinx CPLDs (XC95144XL-TQ100)