Skip to content

30ns gate drive pulse during freewheeling #31

@malte0811

Description

@malte0811

This is an issue rather than a PR since the changes will be in binary files, so resolving merge conflicts "nicely" is not possible. Since this directly affects the switching logic I would like someone to double-check my arguments.

The problem

During freewheeling, the "switching" and "passive" half-bridge are swapped after every (full) cycle. On the gate drive signals (GDxA/B) which turn on at the same time as this "swap", a 30ns pulse is present at the start of the "passive" cycle of the corresponding half-bridge. Below are scope-shots of this pulse on a dev-board (with the CT input tied to 5V):

DS1Z_QuickPrint2
DS1Z_QuickPrint3

I originally noticed these pulses on the actual IGBT gates of my (small) coil, so I assume that they contribute some switching losses "in the real world" rather than being a purely theoretical issue.

The cause

All of the following is in the PWM schematic sheet. KillA and KillB are derived from Tselect/nTSelect:
kill

These are inverted on every other falling edge of ST, which is a ~30ns pulse (2 cycles of 64 MHz):
old

However the half-bridges toggle on the rising edge of ST:
gdt

So the bridge that will become passive is switched 30ns before it is disabled, causing the pulse.

Proposed fix

As a fix I suggest to make Tselect/nTSelect toggle on the rising edge of ST instead of the falling one (by removing the inverter on ST in the second "cause"-screenshot). The value of (n)Tselect differs from the "old" value only while ST is high. The (n)Tselect signals are used in two places, the first and third "cause"-screenshot. In the first one we want the change. In the third one it does not change the behavior: Since HT is ST or …, both inputs of the MUX are high while ST is high and the select signal does not affect the output.
ht

This removes the pulses while keeping the non-freewheeling output correct. I have tested the fix in my small coil without any issues, but I may have missed issues affecting e.g. only larger coils or QCWs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions