PP2 Status F. Bellina
Problem solved.. Problem with inhibit and reading temperature and many crazy behavior Solved with a new FPGA firmware: the hardware of the newest controller board requires for some digital signals, different signals and different delay. In the FPGA firmware this change was not correctly implemented for all the lines. Problem with many lost commands Some problem was caused by the way the PVSS sends commands to the ELMB, too many commands and without delay Problem with reading (all values=0) and -15V missing The problem was caused because the power supply used in SR1 isn’t capable to provide 0,7A for each crate. Problem with moving trimmer of Regulator 0 board 1 The problem was caused by a bug in the protocol communication inside the ELMB.
...Next steps 1. Stability: No lost commands, no wrong commands, safe commands when switch On/Off of the power, etc. 2. Speed Reduction of the “commands” from PVSS for a single command, optimizations of the delays, parallelization of commands where possible, 3.Calibration ? 4. Improve functionalities Watchdog between ELMB and FPGA, use of the ELMB ADC for read values in case of FPGA failure, etc. (next slides for detail)
...Next steps (Stability) 1.LOST COMMANDS: To test if the new controller card (with new firmware) lose command (with old board this happens…1 lost command every ) If that happens yet: 1.Understand where! (PVSS>ELMB>FPGA>REGULATOR BOARDS) 2.Try to solve and/or decrease the phenomenon. 3.Find a way for avoid critical situation: Acknowledgement Mechanism Think different way to sends commands (*) (*) if for example the commands are lost between ELMB and FPGA, commands like kill or inhibit can be sent more times (this decrease the possibility of error by 10³ or more each times), or command like move the trimmer by n position, splitted.
...Next steps (Stability) 2. WRONGS COMMANDS: In principle this shouldn’t absolutely happen in the new Controller Card. To test if it’s true, and in case solve the problem! (adding more control in the software communication or solving the hardware problems) 3. SAFE COMMANDS WHEN SWITCH ON/OFF: To Check if the way the FSM/PVSS switch ON or OFF the system power (Wiener) and regulators are switched with the correct procedure?
...Next steps (Speed) 1.DECREASE COMMANDS SENT Actually the PVSS send too many commands for a single operation. SDO(*) for STOP the reading routine that send PDO(**) with values SDO for check if the reading routine is stopped SDO for the command SDO for START the reading routine SDO for check if the reading routine is started Change in ELMB and PVSS code (example) SDO for STOP the reading routine Immediately the ELMB stops to read and stops to send PDO, but sends a last PDO with a code that means that the routine is stopped, the PVSS see it.. SDO for the command Immediately after the command, the ELMB start again to read and send PDO and the PVSS can recognize it (*) SDO = Service Data Object, type of can message with acknowledge (**) PDO = Process Data Object, type of can message without acknowledge (faster)
...Next steps (Speed) 2. OPTIMIZATION OF THE SPEED: The current Delays are huge and not really needed. There are 3 steps: 1.Decrease number of commands from PVSS (previous slide) 2.Change the ELMB and FPGA software for have faster commands (parallelization of the operations on channels where possible, optimizing delay in the FPGA) 3.Find in PVSS the best delay for each commands (best means the shortest but safe)
...Next steps (Calibration) 1.INCREASE THE BIT OF THE ADC Calibration totally via software, no physical operation on the board) Vmin (~ 1.6V) Vmax (~ 2.9V) Controller Board #1 10 bit ADC Voltage Range (OK) Volt Controller Board #2 10 bit ADC Voltage Range (OK, but with different calibration respect Controller Board 1) Controller Board #3 10 bit ADC Voltage Range (Wrong position, physical operation needed) Controller Board #4 more than 10 bit ADC Voltage Range (OK)
...Next steps (New functionalities) 1.ELMB FUNCTIONALITIES IN CASE OF FPGA FAILURE Watchdog between ELMB and FPGA The ELMB can RESET the FPGA The ELMB can read (using its ADC) the values (multiplexer control needed)
Conclusion Many problem solved, but a lot of work to do. Francesco and Kerstin (for the PVSS-ELMB part) will start on January (the setup in pixel lab is ready) Francesco and Fabrizio should meet soon (at CERN or at Milano) for the “stability part” between ELMB and FPGA. To define a date.
Pixel PP2 Communication System