I want to use an MP5010B Electronic Fuse IC. I will enable or disable it by using the Enable/Fault pin which is billed as a bi-directional three state IO.
I will enable or disable this pin using a microprocessor such as an AVR with a GPIO pin.
I also want to monitor the status of the efuse with the same microprocessor.
The relevant part of the IC data sheet that explains the functioning of the enable/fault pin is extraced here:
The Enable/Fault pin is a bi-directional, three-
level I/O with a weak pull-up current (25μA, typ.).
The three levels are LOW, MID, and HIGH. It
functions to enable/disable the part and to relay
fault information.
Enable/Fault as an input:
- LOW and MID disable the part.
- LOW, in addition to disabling the part,
clears the fault flag. - HIGH enables the part (if the fault flag is clear).
Enable/Fault as an output:
- The pull-up current will allow a “wired
nor” pull-up to enable the part (if not
overridden). - An under-voltage condition will cause a
LOW on the Enable/Fault pin, and will
clear the fault flag. - A thermal fault will set a MID on the
Enable/Fault pin, and will set the fault
flag
I do not understand how to employ both this input and this output function at the same time on the AVR. Could someone explain how this interface will look electrically between a 3.3V Arduino and this electronic fuse chip including the state of any internal pullups if needed on the AVR pin ?