PV name | Description for PV | Remarks (register name) | YCPSW name | Calculation Formula |
---|
<prefix>:SIMVER | Firmware version number for Lcls2 PRL Master SIM | Version | <SIM_prefix>:M:PRLMST:Version:Rd |
|
<prefix>:PHASESHIFT_RBV | readback value for additional phase shift | PhaseShift | <SIM_prefix>:M:PRLMST:PhaseShift:Rd | 18_17bit signed 2'comp value, so decimal value ranges +/-1. Because this is a normalized phase value from the CORDIC: +1 = 180degree -1 = -180degree Should display in degrees
/* conversion 2'scomp fixed point (18_17bit) to floating point */ #define LENGTH 18 double Fixed1817toFloat(unsigned u) { int u32; u32 = (u & 1<<(LENGTH-1))? (~0x3ffff) |u : u; return (double) u32 / (double) (0x1ffff); }
degree = Fixed1817toFloat(u) * 180.; |
<prefix>:PHASESHIFT | set value for additional phase shift | Phase Shift | <SIM_prefix>:M:PRLMST:PhaseShift:St | 18_17bit signed 2'comp value, so decimal value ranges +/-1. Because this is a normalized phase value from the CORDIC: +1 = 180degree -1 = -180degree Should display in degrees
/* conversion 2'scomp fixed point (18_17bit) to floating point */ #define LENGTH 18 double Fixed1817toFloat(unsigned u) { int u32; u32 = (u & 1<<(LENGTH-1))? (~0x3ffff) |u : u; return (double) u32 / (double) (0x1ffff); }
degree = Fixed1817toFloat(u) * 180.; |
<prefix>:LOOPFILTER_RESET_RBV | readback value for loop filter reset | LoopReset | <SIM_prefix>:M:PRLMST:LoopReset:Rd | 0: for normal operation 1: Resetloopfilterintegral |
<prefix>:LOOPFILTTER_RESET | set value for loop filter reset | Loop Reset | <SIM_prefix>:M:PRLMST:LoopReset:St | 0: for normal operation 1: Resetloopfilterintegral |
<prefix>:LED | readback value for blue/red/green LED | LED | <SIM_prefix>:M:PRLMST:LED:Rd | 000: Error, FPGA image not flash, there should at least one LED on between Green and Red 001: Locked, but amplitude input is too low or high 010: Unlocked, but amplitude input is too low or high 011: Error, Locked and Unlocked should not be on in the same time 100: Error, there should at least one LED on between Green and Red 101: Locked, input amplitudes are good 110: Unlocked, input amplitudes are good 111: Error, Locked and Unlocked should not be on in the same time |
<prefix>:PHASEERR1 | phase error before the phase shifter | RawPhiErr | <SIM_prefix>:M:PRLMST:RawPhiErr:Rd | 18_17bit signed 2'comp value, so decimal value ranges +/-1. Because this is a normalized phase value from the CORDIC: +1 = 180degree -1 = -180degree Should display in degrees
/* conversion 2'scomp fixed point (18_17bit) to floating point */ #define LENGTH 18 double Fixed1817toFloat(unsigned u) { int u32; u32 = (u & 1<<(LENGTH-1))? (~0x3ffff) |u : u; return (double) u32 / (double) (0x1ffff); }
degree = Fixed1817toFloat(u) * 180.; |
<prefix>:PHASEERR2 | phase error after the phase shifter | PhiErrFinal | <SIM_prefix>:M:PRLMST:PhiErrFinal:Rd | 18_17bit signed 2'comp value, so decimal value ranges +/-1. Because this is a normalized phase value from the CORDIC: +1 = 180degree -1 = -180degree Should display in degrees
/* conversion 2'scomp fixed point (18_17bit) to floating point */ #define LENGTH 18 double Fixed1817toFloat(unsigned u) { int u32; u32 = (u & 1<<(LENGTH-1))? (~0x3ffff) |u : u; return (double) u32 / (double) (0x1ffff); }
degree = Fixed1817toFloat(u) * 180.; |
<prefix>:LOCK | lock logic status | LockLogicState | <SIM_prefix>:M:PRLMST:LockLogicState:Rd |
|
<prefix>:INPUTMUX_RBV | readback input mux | Input MUX | <SIM_prefix>:M:PRLMST:Input_MUX:Rd
| 0: Chan 1 - Chan 2 1: Chan 2 - Chan 1 |
<prefix>:INPUTMUX | set input mux | Input MUX | <SIM_prefix>:M:PRLMST:Input_MUX:St | 0: Chan 1 - Chan 2 1: Chan 2 - Chan 1 |
<prefix>:W0SCALE_RBV | readback w0 scale | w0_scale | <SIM_prefix>:M:PRLMST:w0_scale:Rd | w0 scale register. w0 = 100Hz, this register is used to scale the w0 of the loopfilter. Xilinx expect a 18bit signed 2's comp number with binary point at 5th bit. Hardware register is 32bith wide, please keep value 0 after the 18th bit. |
<prefix>:W0SCALE | set w0 scale | w0_scale | <SIM_prefix>:M:PRLMST:w0_scale:St | w0 scale register. w0 = 100Hz, this register is used to scale the w0 of the loopfilter. Xilinx expect a 18bit signed 2's comp number with binary point at 5th bit. Hardware register is 32bith wide, please keep value 0 after the 18th bit. |
<prefix>:W1_RBV | readback w1 value in radian | w1 | <SIM_prefix>:M:PRLMST:w1:Rd | w1 value in radian. Xilinx expect a 18bit signed 2's comp number with binary point at 5th bit. Hardware register is 32bith wide, please keep value 0 after the 18th bit. |
<prefix>:W1 | set w1 value in radian | w1 | <SIM_prefix>:M:PRLMST:w1:St | w1 value in radian. Xilinx expect a 18bit signed 2's comp number with binary point at 5th bit. Hardware register is 32bith wide, please keep value 0 after the 18th bit. |
<prefix>:PRAMPSLOPE_RBV | readback value for phase shift ramp slope | Phase_ramp_gain | <SIM_prefix>:M:PRLMST:Phase_ramp_gain:Rd | Slope of the phase shift ramp function. Internally converted to 18bit signed 2'comp value. Entered as a decimal in the GUI |
<prefix>:PRAMPSLOPE | set value for phase shift ramp slope | Phase_ramp_gain | <SIM_prefix>:M:PRLMST:Phase_ramp_gain:St | Slope of the phase shift ramp function. Internally converted to 18bit signed 2'comp value. Entered as a decimal in the GUI |
<prefix>:ADCAMP0_RBV | readback value for ADC0 amplitude from CORDIC | ADC0_Amp | <SIM_prefix>:M:PRLMST:ADC0_Amp:Rd | 18_17 signed 2'comp registers, max value is between almost -1 and 1. The value is normalized to 1 from the 1.8V amplitude ADC. This is amplitude, not peak to peak value 1 = 1.8V -1 = -1.8V
/* conversion 2'scomp fixed point (18_17bit) to floating point */ #define LENGTH 18 double Fixed1817toFloat(unsigned u) { int u32; u32 = (u & 1<<(LENGTH-1))? (~0x3ffff) |u : u; return (double) u32 / (double) (0x1ffff); }
volt = Fixed1817toFloat(u) * 1.8; |
<prefix>:ADCAMP1_RBV | readback value for ADC1 amplitude from CORDIC | ADC1_Amp | <SIM_prefix>:M:PRLMST:ADC1_Amp:Rd | 18_17 signed 2'comp registers, max value is between almost -1 and 1. The value is normalized to 1 from the 1.8V amplitude ADC. This is amplitude, not peak to peak value 1 = 1.8V -1 = -1.8V
/* conversion 2'scomp fixed point (18_17bit) to floating point */ #define LENGTH 18 double Fixed1817toFloat(unsigned u) { int u32; u32 = (u & 1<<(LENGTH-1))? (~0x3ffff) |u : u; return (double) u32 / (double) (0x1ffff); }
volt = Fixed1817toFloat(u) * 1.8; |
<prefix>:LOCKDISABLE_RBV | readback value for loop lock disable setting bit in lock logic state machine | LockDisable | <SIM_prefix>:M:PRLMST:LockDisable:Rd | 0 - loop enable 1 - loop disable |
<prefix>:LOCKDISABLE | set value for loop lock disable | LockDisable | <SIM_prefix>:M:PRLMST:LockDisable:St | 0 - loop enable 1 - loop disable |
<prefix>:LOCKRESET_RBV | readback value for reset the lock logic state machine | StateReset | <SIM_prefix>:M:PRLMST:StateReset:Rd | 0 - normal operation 1 - state machine reset |
<prefix>:LOCKRESET | set value for reset locking logic | StateReset | <SIM_prefix>:M:PRLMST:StateReset:St | 0 - normal operation 1 - state machine reset |