Feature #13572

ACNET device support for new MPS features in ABB0F firmware

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

Start date:
Due date:
% Done:


Estimated time:
10.00 h
Spent time:


Ning has implemented new MPS features in the ABB0F firmware (see attached description). Create ACNET devices for accessing the new MPS registers.


#2 Updated by John Diamond over 4 years ago

Create ACNET support for:
  • Calculated Pulse Width
  • Edge Detection Threshold
Create Commands for:
  • Disabling/enabling timing check
  • Setting the timing check margin
  • Setting the Edge Detectoin threshold
  • Setting the pulse direction
Add output the the MPS show routine for:
  • Displaying the status of the timing check for each device
  • Displaying the timing check margin of error
  • Displaying the edge detection threshold
  • Displaying the pulse direction for each device

Create ACNET devices for the Ring Pickup's calculated pulse width and edge detection threshold.
Enable the timing check for the Ring Pickup in the startup script.
Set the timing check margin to 0x80.
Initialize the edge detection threshold to 0x1000.
Set the pulse direction to 0.

#3 Updated by John Diamond over 4 years ago

Moved cout's related to MPS status into Toroid::show().
Added lines to the MPS status display for all of the bullet points listed above.
Began implementing the necessary methods for accessing the new MPS features to IIntMonitorDev, Toroid, DAQPool, IIntDAQ and MirrTorDrv.

#4 Updated by John Diamond over 4 years ago

  • % Done changed from 0 to 30

Implemented output for the new MPS features in Toroid::show().

Device ID: 0
ADC ID: 0, channel: 0
Readouts: BBB disabled, raw disabled
DAQ Source: 0
MPS: Enabled, Lower: 0, Upper: 0, Edge Threshold: 0, Pulse Direction: 1 (+), Time Check: Disabled        NOT TRIPPED

#5 Updated by John Diamond over 4 years ago

  • % Done changed from 30 to 70

Implemented the following CLI commands:

vmeintMPSTimingCheckEnable device_id

Enables the check of calculated pulse length to the set gate width for device_id. If they are exceeded by the timing check margin then the board trips the MPS alarm.
vmeintMPSTimingCheckDisable device_id

Disables the timing check for device_id.
vmeintMPSTimingCheckMarginSet device_id, margin

Sets a margin of error for the timing check comparison for device_id. The margin parameter is given in ADC clock cycles.
vmeintMPSThresholdEdgeSet device_id, threshold

Sets a threshold to use when searching for the beam pulse for device_id. The threshold parameter should be a signed-16 bite integer representing raw ADC counts.
vmeintMPSPulseDirectionSet device_id, direction

Sets the expected beam pulse direction for device_id. The direction parameter should be 0 for a negative pulse and 1 for positive.

#6 Updated by John Diamond over 4 years ago

ACNET device support:

Register Device ID ACNET Device Property VMEInt method SSDN Channel is
Edge Detection Threshold (0x2D8) 0x63 Reading of Setting VMEInt::mpsThresholdEdgeGet Intensity Device ID
.. .. Setting VMEInt::mpsThresholdSet ..
Calculated Pulse Width (0x2e8..0x304, for channels 1 through 8) 0x64 Reading VMEInt::mpsPulseWidthGet Intensity Device ID

For nbeam:

Device ID ACNET Device Name Intensity Device ID SSDN
0x63 Z:990MPE 0x00 0063/0020/0000/0000
0x64 Z:990MPW 0x00 0064/0020/0000/0000

For PXIE Ring Pickup:

Device ID ACNET Device Name Intensity Device ID SSDN
0x63 P:MPRET 0x03 0063/0020/0000/0003
0x64 P:MPRPW 0x03 0064/0020/0000/0003

#7 Updated by Elliott McCrory over 4 years ago

New documentation from N. Liu: "PXIE Toroid and Ring Pickups Changes in firmware version ABB12 / 125MHz Digitizer Firmware Description". This document is not internally dated, but I received it on October 24, 2016.

#8 Updated by Elliott McCrory over 4 years ago

Notes for manipulating the VME registers (from N. Liu)

0xf0f012d0 -- Trips channel
0xf0f012c8 -- First MPS width channel has tripped (can be cleared to 0x00)
0xf0f013c2 -- set to 0xff to reset the trips

#9 Updated by Elliott McCrory over 4 years ago

  • % Done changed from 70 to 80

Hardware version number has incremented to abb12.

Have implemented and tested devices Z:990MPW and Z:990MPE.

Also available in: Atom PDF