Project

General

Profile

Task #14696

Support for PXIE digitizer firmware ABC02

Added by John Diamond almost 4 years ago. Updated almost 4 years ago.

Status:
Assigned
Priority:
Normal
Assignee:
Category:
DAQ
Start date:
11/29/2016
Due date:
% Done:

70%

Estimated time:
24.00 h
Spent time:
Duration:

Description

Necessary upgrade for CW operation at PXIE.

125MHz_Digitizer_Firmware_Description_ABC02.pdf (1.05 MB) 125MHz_Digitizer_Firmware_Description_ABC02.pdf Firmware spec from Ning John Diamond, 11/29/2016 09:01 AM

History

#2 Updated by John Diamond almost 4 years ago

  • Subject changed from Supper for PXIE digitizer firmware ABC02 to Support for PXIE digitizer firmware ABC02

Implemented support for setting the ADC Arm mode. Command line utility is:

vmeintADCArmModeSet( adc_id, mode_str )

#3 Updated by John Diamond almost 4 years ago

Implemented support for setting the ADC trigger mode. Command line utility is:

vmeintADCTriggerModeSet( adc_id, mode_str )

#4 Updated by John Diamond almost 4 years ago

Forked PXIETorDrv from MirrTorDrv to support the ABCxx 125MHz digitizer firmware.
Created a command line utility for installing a PXIETorDrv device:

addPXIETorAdc adc_id, a16_base

Updated nbeamstartup to install PXIETorDrv.

#5 Updated by John Diamond almost 4 years ago

Implemented support for setting the ADC's gate mode. Command line utility is:

vmeintGateModeSet adc_id, gate_mode_str

#6 Updated by John Diamond almost 4 years ago

  • % Done changed from 0 to 20

Implemented support for enabling/disabling the ADC's gated window mode. Command line utility is:

vmeintGateWindowModeSet adc_id, mode_str

Implemented support for enabling/disabling the ADC's CW mode. Command line utility is:

vmeintCWModeSet adc_id, mode_str

Implemented support for setting the number of integration windows to run per pulse. Command line utility is:

vmeintIntWindowNumSet dev_id, n

Added output to PXIETorDrv::show() that shows the status of: arm mode, trigger mode, gate mode, gated window mode and CW mode. Also shows the number of integration windows for pulse mode.

#7 Updated by John Diamond almost 4 years ago

Implemented support for setting the ADC's after-gate delay. Command-line utility is:

vmeintAfterGateDelaySet devId, delayStr

#8 Updated by John Diamond almost 4 years ago

Implemented commands for switching between the three operating modes supported by ABC02 firmware:
  • Short Pulse (original operating mode)
  • Long Pulse and Gated Long Pulse
  • CW

The command utilities are:

  vmeintOpShortPulse window_size_str
  vmeintOpLongPulse num_windows, window_size_str, after_gate_delay_str
  vmeintOpCW window_size_str

#9 Updated by John Diamond almost 4 years ago

Verified on nbeam that we are receiving interrupts while operating in CW, Short Pulse and Long Pulse mode.

#10 Updated by John Diamond almost 4 years ago

  • % Done changed from 20 to 40

PXIETorDrv::readCurrent() now returns the data present in the average beam current register (+0x298) instead of calculating current by dividing integrated intensity by the gate width.

#11 Updated by John Diamond almost 4 years ago

Removed the mpsSoftTrip(..) kludge introduced in #14512 and replaced with the MPS Force Trip register (+0x2d5).

#12 Updated by John Diamond almost 4 years ago

  • % Done changed from 40 to 50

Implemented support for displaying the MPS trip type and trip window number in the vs output.

#13 Updated by John Diamond almost 4 years ago

  • % Done changed from 50 to 60

Implemented a command line utility for forcing an MPS trip:

vmeintMPSSoftTrip device_id

Tested on nbeam successfully.

#14 Updated by John Diamond almost 4 years ago

The firmware now provides a register (+0x2d1) that tells us what type of MPS trip occurred. I've added 3 bits to the IntensityAccessor digital status property that provides this information to ACNET:
  • Bit 20: MPS Threshold OK/Tripped
  • Bit 21: MPS Timing Check OK/Tripped
  • Bit 22: MPS Software OK/Tripped

Added these to Z:TOR990 for testing on nbeam.

#15 Updated by John Diamond almost 4 years ago

  • % Done changed from 60 to 70

Removed the gate width term from PXIERingMPSScaleFilter.
Switch to PXIETorDrv in pxintstartup for studies out at PXIE.

Reverted back to old code and old firmware out at PXIE.

Also available in: Atom PDF