Hi all. I got the request to delay the shutdown of the payload power by 200 msecs after the power of the FPGAs has been switched off. I’m doing this in this way:
what you are doing looks ok. There is nothing special about timer #3. However you can also reuse timer #1, even if it has been used before in the same sequence.
BTW, can you please share the full power-off sequence (or the IPMC project).
In-between we found out that also the 200 msec delay worked, scope connected to the wrong pin Here the complete list of the shutdown procedure of our DTH-400:
<PowerOFFSeq>
<step>PSQ_DISABLE_SIGNAL(USER_IO_31)</step> <!-- 217: REQ_ZYNQ_DOWN -->
<step>PSQ_ENABLE_SIGNAL(USER_IO_31)</step>
<step>PSQ_SET_TIMER(1, 100)</step> <!-- 100msec pulse to shutdown RTM -->
<step>PSQ_JUMP_IFNOT_TIMEOUT(1, 0)</step>
<step>PSQ_DISABLE_SIGNAL(USER_IO_31)</step>
<step>PSQ_SET_TIMER(2, 30000)</step> <!-- wait 30s for RTM shutdown done -->
<step>PSQ_JUMP_IF_FUNCTION_IS_TRUE(isZynqShutDown, 2)</step>
<step>PSQ_JUMP_IFNOT_TIMEOUT(2, -1)</step>
<step>PSQ_DISABLE_SIGNAL(USER_IO_2)</step> <!-- 197: DAQ FPGA POWER OFF -->
<step>PSQ_DISABLE_SIGNAL(USER_IO_24)</step> <!-- 92: TCDS FPGA POWER OFF -->
<step>PSQ_DISABLE_SIGNAL(USER_IO_20)</step> <!-- 90: SWITCH POWER OFF -->
<step>PSQ_DISABLE_SIGNAL(USER_IO_18)</step> <!-- 209: ZYNQ POWER OFF -->
<step>PSQ_CALL_FUNC(zynqStatus)</step> <!-- log timeout or shutdown done -->
<step>PSQ_SET_TIMER(3, 200)</step> <!-- wait 200msec -->
<step>PSQ_JUMP_IFNOT_TIMEOUT(3, 0)</step>
<step>PSQ_DISABLE_SIGNAL(CFG_PAYLOAD_DCDC_EN_SIGNAL)</step>
<step>PSQ_END</step>
</PowerOFFSeq>