For my current project I'm using a quad push-pull-driver with 5V supply. In each of the four outputs, there's a 5V suppressor diode and a polyfuse to protect the whole device against overvoltages. While this works, the suppressor diode only limits to ~6.7V and the polyfuse doesn't kick in immediately. Even worse, if one of the push-pull-outputs is switched high in this state, the 6.7V is connected to the internal 5V supply (via the high side FET) and thus reaches several ICs (CAN, MAX202) and this way also input pins of the CPU which are only 5V tolerant (max: 6V). The microntroller and other periperhals are supplied via a 3V3 linear regulator, so the problem is only the 5V supply.
As my quad push pull (Microchip TC4469) has additional negated inputs which I use as common enable/disable, I thought about disabling the outputs by pulling this disable line high if the supply voltage exceeds 5V.
I came up with a circuit using two BJT transistors and a Zener Diode (see appended screenshots).
The switch represents the pin of my microcontroller that I use for output enable/disable, Probe1 marks the net that will be connected to the disable pin of the quad dirver, the voltage on the right is the 5V supply voltage that is increased up to 6.7V due to external short to a higher voltage.
The "inactive" screenshot shows the case where the 5V supply is still 5V. As the micrcontroller switches the pin to ground to enable the quad driver's push-pull outputs, the disable pin (Probe1) is low and the quad driver would be active.
In the "active" screenshot, the 5V supply voltage is increased to 5.5V, so the PNP transistor switches through and the voltage at the base of the NPN transistor increases. So the NPN transistor switches through and applies the 3.3V potential to the disable pin (Probe1).
So does this make sense? Are there other approaches which need little space and effort (thought about using an OP/Schmitt Trigger, but I don't really have much space left).