<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Other NXP Productsのトピック#Initial sequence timing problem in GD3162??</title>
    <link>https://community.nxp.com/t5/Other-NXP-Products/Initial-sequence-timing-problem-in-GD3162/m-p/2243175#M30651</link>
    <description>&lt;P&gt;Hi, I am using inverter which using s32k396 mcu bga type and GD3162.&lt;BR /&gt;&lt;BR /&gt;I have question about GD3162 initial sequence timing.&lt;/P&gt;&lt;P&gt;I’m using an S32K396 MCU with GD3162 gate drivers in an automotive inverter.&lt;BR /&gt;We have 6 GD3162 devices in total, configured as two daisy-chain groups (TOP 3 devices and BOTTOM 3 devices).&lt;/P&gt;&lt;P&gt;I’ve found a strange behavior regarding the GD3162 initialization sequence depending on how the system is powered up.&lt;/P&gt;&lt;P&gt;When I power on the inverter normally and control it through CAN only, the U-phase BOTTOM gate driver does not switch at all, while the other 5 channels work normally.&lt;/P&gt;&lt;P&gt;But when I power on the system and then load the ELF file through Trace32 using a CMM script, everything works perfectly — all 6 GD3162 devices switch correctly.&lt;BR /&gt;So there is clearly some difference between “normal power-up + CAN control” vs “Trace32 flash + run”.&lt;/P&gt;&lt;P&gt;In my software, the initialization part that controls the GD3162 looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dio_WriteChannel(DioConf_DioChannel_DioChannel_3_GD_LS_PowerCon, 1); // This enables the 5V supply for GD3162 VDD&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;CDD_Gd3162_OsifSystemTimeDelay(100);&lt;/P&gt;&lt;P&gt;CDD_Gd3162_InitDriver(NULL_PTR);&lt;/P&gt;&lt;P&gt;CDD_Gd3162_OsifSystemTimeDelay(2000);&lt;/P&gt;&lt;P&gt;CDD_Gd3162_RequestReset();&lt;BR /&gt;CDD_Gd3162_OsifSystemTimeDelay(2000);&lt;/P&gt;&lt;P&gt;CDD_Gd3162_WriteRegister(CDD_GD3162_MAX_DEVICE_CONFIGS, GD316X_MODE2_ADDR8, DataCheck); // config enable&lt;BR /&gt;CDD_Gd3162_WriteRegister(CDD_GD3162_MAX_DEVICE_CONFIGS, GD316X_MODE2_ADDR8, DataCheck1);&lt;BR /&gt;CDD_Gd3162_WriteRegister(CDD_GD3162_MAX_DEVICE_CONFIGS, GD316X_CONFIG5_ADDR8, DataCheck8);&lt;/P&gt;&lt;P&gt;CDD_Gd3162_WriteRegister(CDD_GD3162_MAX_DEVICE_CONFIGS, GD316X_MODE2_ADDR8, DataCheck2); // config disable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What’s interesting is that if I slightly adjust the OsifSystemTimeDelay values in this sequence, then even with a normal power-up (no Trace32), all 6 gate drivers start working correctly.&lt;BR /&gt;So the problem seems to be strongly related to the timing of GD3162 power-up, reset, and configuration in the daisy-chain.&lt;/P&gt;&lt;P&gt;There is another issue as well:&lt;BR /&gt;During a dynamometer test, the inverter starts switching normally, but after some load is applied, the U-phase BOTTOM suddenly stops switching (I’m assuming this based on the 12V supply current drop and the motor sound changing). A fault is triggered at the same time.&lt;BR /&gt;But again, if I start the system via Trace32 (flash the ELF using the CMM file and run), I don’t see this issue at all — the inverter runs normally under load.&lt;/P&gt;&lt;P&gt;So both problems disappear when the system is started via Trace32, which makes me believe that Trace32’s initialization process (MCU halted during flash loading, delayed start-up, etc.) causes the GD3162 daisy-chain to initialize correctly, while a normal fast power-up does not.&lt;/P&gt;&lt;P&gt;I want to ask about the correct GD3162 initialization timing, especially in daisy-chain mode.&lt;BR /&gt;Specifically:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Required delay after enabling VDD or bias supply&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Required delay before sending the first SPI command&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Recommended delay after CDD_Gd3162_RequestReset()&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Any timing constraints for multiple GD3162s in a daisy chain (e.g., all devices must finish POR before first communication)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;If the GD3162 does not receive the configuration at the correct timing, is it possible for only one device (like the U-phase bottom driver) to fail to enable or to drop out later under load?&lt;/P&gt;&lt;P&gt;And is it expected that starting the MCU “too quickly” after power-up could cause SPI initialization to happen while some GD3162 devices are still in UVLO/POR state?&lt;/P&gt;&lt;P&gt;If there is any application note or example sequence showing the recommended initialization timing for GD3162 in daisy-chain configuration, please share it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there any timing problem in my code above?&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
    <pubDate>Sat, 22 Nov 2025 03:24:54 GMT</pubDate>
    <dc:creator>Mooang</dc:creator>
    <dc:date>2025-11-22T03:24:54Z</dc:date>
    <item>
      <title>#Initial sequence timing problem in GD3162??</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/Initial-sequence-timing-problem-in-GD3162/m-p/2243175#M30651</link>
      <description>&lt;P&gt;Hi, I am using inverter which using s32k396 mcu bga type and GD3162.&lt;BR /&gt;&lt;BR /&gt;I have question about GD3162 initial sequence timing.&lt;/P&gt;&lt;P&gt;I’m using an S32K396 MCU with GD3162 gate drivers in an automotive inverter.&lt;BR /&gt;We have 6 GD3162 devices in total, configured as two daisy-chain groups (TOP 3 devices and BOTTOM 3 devices).&lt;/P&gt;&lt;P&gt;I’ve found a strange behavior regarding the GD3162 initialization sequence depending on how the system is powered up.&lt;/P&gt;&lt;P&gt;When I power on the inverter normally and control it through CAN only, the U-phase BOTTOM gate driver does not switch at all, while the other 5 channels work normally.&lt;/P&gt;&lt;P&gt;But when I power on the system and then load the ELF file through Trace32 using a CMM script, everything works perfectly — all 6 GD3162 devices switch correctly.&lt;BR /&gt;So there is clearly some difference between “normal power-up + CAN control” vs “Trace32 flash + run”.&lt;/P&gt;&lt;P&gt;In my software, the initialization part that controls the GD3162 looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dio_WriteChannel(DioConf_DioChannel_DioChannel_3_GD_LS_PowerCon, 1); // This enables the 5V supply for GD3162 VDD&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;CDD_Gd3162_OsifSystemTimeDelay(100);&lt;/P&gt;&lt;P&gt;CDD_Gd3162_InitDriver(NULL_PTR);&lt;/P&gt;&lt;P&gt;CDD_Gd3162_OsifSystemTimeDelay(2000);&lt;/P&gt;&lt;P&gt;CDD_Gd3162_RequestReset();&lt;BR /&gt;CDD_Gd3162_OsifSystemTimeDelay(2000);&lt;/P&gt;&lt;P&gt;CDD_Gd3162_WriteRegister(CDD_GD3162_MAX_DEVICE_CONFIGS, GD316X_MODE2_ADDR8, DataCheck); // config enable&lt;BR /&gt;CDD_Gd3162_WriteRegister(CDD_GD3162_MAX_DEVICE_CONFIGS, GD316X_MODE2_ADDR8, DataCheck1);&lt;BR /&gt;CDD_Gd3162_WriteRegister(CDD_GD3162_MAX_DEVICE_CONFIGS, GD316X_CONFIG5_ADDR8, DataCheck8);&lt;/P&gt;&lt;P&gt;CDD_Gd3162_WriteRegister(CDD_GD3162_MAX_DEVICE_CONFIGS, GD316X_MODE2_ADDR8, DataCheck2); // config disable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What’s interesting is that if I slightly adjust the OsifSystemTimeDelay values in this sequence, then even with a normal power-up (no Trace32), all 6 gate drivers start working correctly.&lt;BR /&gt;So the problem seems to be strongly related to the timing of GD3162 power-up, reset, and configuration in the daisy-chain.&lt;/P&gt;&lt;P&gt;There is another issue as well:&lt;BR /&gt;During a dynamometer test, the inverter starts switching normally, but after some load is applied, the U-phase BOTTOM suddenly stops switching (I’m assuming this based on the 12V supply current drop and the motor sound changing). A fault is triggered at the same time.&lt;BR /&gt;But again, if I start the system via Trace32 (flash the ELF using the CMM file and run), I don’t see this issue at all — the inverter runs normally under load.&lt;/P&gt;&lt;P&gt;So both problems disappear when the system is started via Trace32, which makes me believe that Trace32’s initialization process (MCU halted during flash loading, delayed start-up, etc.) causes the GD3162 daisy-chain to initialize correctly, while a normal fast power-up does not.&lt;/P&gt;&lt;P&gt;I want to ask about the correct GD3162 initialization timing, especially in daisy-chain mode.&lt;BR /&gt;Specifically:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Required delay after enabling VDD or bias supply&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Required delay before sending the first SPI command&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Recommended delay after CDD_Gd3162_RequestReset()&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Any timing constraints for multiple GD3162s in a daisy chain (e.g., all devices must finish POR before first communication)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;If the GD3162 does not receive the configuration at the correct timing, is it possible for only one device (like the U-phase bottom driver) to fail to enable or to drop out later under load?&lt;/P&gt;&lt;P&gt;And is it expected that starting the MCU “too quickly” after power-up could cause SPI initialization to happen while some GD3162 devices are still in UVLO/POR state?&lt;/P&gt;&lt;P&gt;If there is any application note or example sequence showing the recommended initialization timing for GD3162 in daisy-chain configuration, please share it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there any timing problem in my code above?&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Sat, 22 Nov 2025 03:24:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/Initial-sequence-timing-problem-in-GD3162/m-p/2243175#M30651</guid>
      <dc:creator>Mooang</dc:creator>
      <dc:date>2025-11-22T03:24:54Z</dc:date>
    </item>
    <item>
      <title>Re: #Initial sequence timing problem in GD3162??</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/Initial-sequence-timing-problem-in-GD3162/m-p/2246777#M30662</link>
      <description>&lt;P&gt;I solved it.&lt;/P&gt;&lt;P&gt;Unmatched timing of Voltage supply cause this problem.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I am using S32ds.&lt;BR /&gt;In my code, before running main code, start up code run first.&lt;/P&gt;&lt;P&gt;I noticed that when running my Trace32 &lt;EM&gt;.cmm&lt;/EM&gt; script, the MCU starts executing the firmware only after the inverter has already been powered on for a sufficient amount of time.&lt;BR /&gt;Because of this, the power-up and voltage-stabilization timing seems to be much more stable when the debugger is attached.&lt;/P&gt;&lt;P&gt;To replicate the same behavior during a normal standalone boot, I added a small delay in the startup code so that the system waits a bit before entering the &lt;EM&gt;main()&lt;/EM&gt; function.&lt;BR /&gt;After adding this delay, the issue was resolved.&lt;/P&gt;</description>
      <pubDate>Mon, 24 Nov 2025 06:41:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/Initial-sequence-timing-problem-in-GD3162/m-p/2246777#M30662</guid>
      <dc:creator>Mooang</dc:creator>
      <dc:date>2025-11-24T06:41:46Z</dc:date>
    </item>
  </channel>
</rss>

