Delay of next step in power management

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:

<step>PSQ_SET_TIMER(3, 200)</step>
<step>PSQ_JUMP_IFNOT_TIMEOUT(3, 0)</step>

The result is a delay of only 100msecs.

Questions: I’ve used timer# 3 since I’ve already used two other timers before.

Is there anything special with timer# 3?

Can I re-use timer# 1 which was already used before for a 100msec delay?

Is there a smarter command to get a 200msec delay?

cheers

ulf

Hello Ulf,

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).

cheers,

Stefan

In-between we found out that also the 200 msec delay worked, scope connected to the wrong pin :slight_smile: 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>