IG502 DOUT - how to ensure DOn is not driven low after boot.

Does any one know of a way to configuring the device so it starts up and doesn't drive the digital outputs low by default?



The IG502 has low side drivers for DO0-3 with weak pull ups to 5~6V, This makes it very easy, and is the typical way, to drive relays.  One side of the coil goes to +ve supply, and the other side of the coil goes to a DO.

The problem is that after reset, and after the system has booted, each bit controlling each DO is set to 0 - which turns ON the low side driver (i.e. it is connecting DO to GND).  This turns on the relay. Looking with a scope or voltmeter, you would see some seconds of a 'high' level followed by the 'low' level.

What I need to do is ensure that after a reset none of the outputs are driven low - they are simply left to float. As if by default a '1' was loaded into the output register. This will mean that the relays do not get driven.

I cannot use a simple inverter since there is a short time that the outputs are pulled up before going low - the result being that the relays would still energize for the time the system takes to boot.

I cannot use the 'retentive setting' since if power is lost and then re-applied, I need to guarantee the relays will be in a safe state (OFF).

If this was a code running on a microcontroller, and we were only using low side drivers, we would not turn on any until they were actually required.

Is this something which needs new firmware?  It would be the addition of a setting for each DO which stated what the output should be after boot. (During boot it is always 'high' of course).

In the meanwhile, is there some other solution?

Thanks,

David.

Has invited:

Another option might be to have a setting which 'inverts' the output.  So writing a zero sets the output high, writing a one sets the output low.  This is also more logical when a digital output is low-side only.

To reply to a question, please Login or registered