Leakage current on i2c data lines, how to fix?

Thread Starter

akke

Joined Dec 17, 2015
77
I have a board with a DRV8830 i2c motor driver that runs at 6V. The board's CPU runs at 3.3V.
The 6V power is provided by an LDO that can be shutdown by the CPU to lower power consumption.
But when 6V is gone from the DRV8830, and i2c SDA/SCL are HIGH (idle/sleeping) there's a current leaking through the DRV8830 of about 300uA.

Is it possible to put a mosfet between the data lines that will only conduct when 6V power is enabled? Or is it a bad idea to put a mosfet between i2c datalines?

I'm not sure how to do this correctly. I'm open to suggestions.
 

geekoftheweek

Joined Oct 6, 2013
1,266
I haven't worked with them personally, but there are ICs that are similar to relays in how they operate. I believe they are normally called switches. I can't look up any info at the moment, but will get some part numbers when I get a chance if anyone doesn't offer a better solution by then.
 

Ian0

Joined Aug 7, 2020
10,286
The I2C inputs to the DRV8830 have a maximum high threshold of 3.0V (50% Vcc), so just connect the pull-ups to the 3.3V supply.
 

Thread Starter

akke

Joined Dec 17, 2015
77
My i2c lines are pulled up to 3.3v. No pullup to 6v. But still there’s a current flowing of about 300uA when +6V is shut down.
The current goes away if I disconnect the sda ald scl lines. Or when removing GND from the drv8830 chip.
 

Ian0

Joined Aug 7, 2020
10,286
What voltage do you measure on the DRV’s power supply pin?
if it is slightly above 0V when it has no power supply then the current is going through its protection diodes into its power supply.
Why do you need to disconnect its power supply?
 

Thread Starter

akke

Joined Dec 17, 2015
77
I need to turn off the drv8830 mainly because the LDO will consume 50uA when it’s active and only 2uA when the LDO is shutdown.
It’s a battery operated device.

I’ll measure the power voltage as soon as i’m back in my office. Over 1-2 hours.
 

Thread Starter

akke

Joined Dec 17, 2015
77
but I did test removing power from the drv8830. Leaving the pin floating. And still current was flowing. It went away after disconnecting GND from the drv8830 or by disconnecting both SCL and SDA
 

crutschow

Joined Mar 14, 2008
34,910
You should be able to to put a small N-MOSFET in series with the SDA/SCL lines (source towards the DRV8830 and gate to 6V) to prevent the leakage.
The MOSFET would need to be a logic-level type with a maximum Vgs(th) of ≤1.5V.
 

Ian0

Joined Aug 7, 2020
10,286
Why do you need an LDO when the DRV8830 can regulate the motor voltage using PWM?
That would reduce the losses and improve battery life.
the DRV8830 can shut down to 300nA.
 

Thread Starter

akke

Joined Dec 17, 2015
77
The drv8830 max voltage is 6.7v. The device runs of a 2 cell pack, max 8.4v. So, that’s why I added an LDO.
 

Ian0

Joined Aug 7, 2020
10,286
Why can’t you just tristate the SCK and SDA lines, i.e. make the inputs?
Because the pull-up resistors are permanently connected. Current flows from the 3.3V supply, through the pull-ups, through the DRV protection diodes into the (disabled) 6V supply.
 

BobTPH

Joined Jun 5, 2013
9,335
Because the pull-up resistors are permanently connected. Current flows from the 3.3V supply, through the pull-ups, through the DRV protection diodes into the (disabled) 6V supply.
Oh, OK. If there is no other use of the SPI interface, you could set them low when the driver chip is disabled.

edited: Never mind, that would also cause the leakage.
 

Ian0

Joined Aug 7, 2020
10,286
It’s unfortunate that there isn't a higher voltage version, because dropping a couple of volts with a linear regulator isn't going to be efficient. I use Toshiba's TB67H450. It's not IIC but it still only take two wires to interface it, but it does require a PWM output from the processor.
 

Ian0

Joined Aug 7, 2020
10,286
Oh, OK. If there is no other use of the SPI interface, you could set them low when the driver chip is disabled.

edited: Never mind, that would also cause the leakage.
If it were SPI not IIC, with no pullups, then it would be OK.
 

Ian0

Joined Aug 7, 2020
10,286
I added two BSS138 mosfets on the SDA/SCL lines like suggested in here. It works perfect!
If there is anything else on the IIC bus which is required when the DRV is off, then it won't work.
If the IIC bus only drives the DRV, then it will be fine.
 

Thread Starter

akke

Joined Dec 17, 2015
77
If there is anything else on the IIC bus which is required when the DRV is off, then it won't work.
If the IIC bus only drives the DRV, then it will be fine.
The mosfets are on the drv8830 side. Other i2c devices are connected directly to the i2c bus. The mosfets will only disconnect the sda/scl lines to the drv8830.

It shouldn’t impact the other i2c devices?
 
Top