Author Topic: Using a transistor for opening and closing connection to ground  (Read 3640 times)

0 Members and 1 Guest are viewing this topic.

Offline sean87Topic starter

  • Regular Contributor
  • *
  • Posts: 150
  • Country: nl
  • EE WannaBee
    • EMBEDONIX
I have to design a PCB with 24 MAX9611 ICs. Since this IC has a fixed I2C address (2 address pins, A0 and A1 with any combination of GND, VCC, VCC/2 and VCC/3) it is only possible to assign 16 unique addresses.

In my case, I need to have 2 groups of 12 chips, named CH1 and CH2. and since the microcontroller of choice only has 1 I2C interface, I need to somehow multiplex through them.

The easiest solution I can think of is just switch the power between CH1 and CH2 and read their registers alternatively (as the design does not require that all chips to be queried at same time).

I want to have the decoupling capacitors to be connected to VCC plane (so they are always charged) and using I/O pins of the uC, turn each channel on/off by switching a transistor so that their ground pins to be connected to the ground plane of the PCB.

So here are my questions:
1- I have the schematic for the case where the VCC can be switched into the VCC pins of the chips, but I am looking for a way to use the transistor to switch the ground connection instead.
2- What kind/type of transistor should I use? I believe the combined current draw for 12 of these chips is about 1A (this is just a rough guess, I could not find the current draw while ON in the datasheet!)




« Last Edit: August 06, 2016, 06:13:07 pm by sean87 »
EMBEDONIX - Embedded Systems, Linux and good stuff!
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 13119
Re: Using a transistor for opening and closing connection to ground
« Reply #1 on: August 06, 2016, 06:16:15 pm »
That doesn't seem like a smart idea if the MAX9611 RS pins are above Vcc and even if they aren't it may dump current onto the I2C bus.

Why not use an I2C multiplexer, e.g PCA9540B to split the bus into two sections so you can reuse addresses?
 
The following users thanked this post: sean87

Offline Monkeh

  • Super Contributor
  • ***
  • Posts: 8058
  • Country: gb
Re: Using a transistor for opening and closing connection to ground
« Reply #2 on: August 06, 2016, 06:16:57 pm »
There are chips for this which are a somewhat neater solution, which doesn't involve messing with the ground of analog devices: http://www.nxp.com/products/interface-and-connectivity/interface-and-system-management/i2c-bus-portfolio/i2c-multiplexers-switches/2-channel-ic-bus-multiplexer:PCA9540B

I believe the combined current draw for 12 of these chips is about 1A (this is just a rough guess, I could not find the current draw while ON in the datasheet!)

<50mA for all 12.
 
The following users thanked this post: sean87

Offline wraper

  • Supporter
  • ****
  • Posts: 17610
  • Country: lv
Re: Using a transistor for opening and closing connection to ground
« Reply #3 on: August 06, 2016, 06:31:40 pm »
Won't work. Don't forget about ESD protection diodes on IC pins. If you disconnect any of the power pins, power will be supplied through the protection diodes or zeners from the other pins (I2C in this case). So what will happen, unpowered IC's will load I2C bus and nothing will work at all. Also you will exceed absolute maximum ratings, which are tied with those likely ESD zeners. On the other hand positive rail disconnection probably will work in this case, because in this patricular IC it seems that zeners to GND pin are used, not two diodes clamping to each power rail. So power from the pins can be sinked only to GND, but not to Vcc.

 
The following users thanked this post: sean87

Offline wraper

  • Supporter
  • ****
  • Posts: 17610
  • Country: lv
Re: Using a transistor for opening and closing connection to ground
« Reply #4 on: August 06, 2016, 06:38:11 pm »
IMO just use analog switch/multiplexer IC(s) on SDA if don't want to use specialized ICs.
« Last Edit: August 06, 2016, 06:39:51 pm by wraper »
 

Offline wraper

  • Supporter
  • ****
  • Posts: 17610
  • Country: lv
Re: Using a transistor for opening and closing connection to ground
« Reply #5 on: August 06, 2016, 06:44:16 pm »
I believe the combined current draw for 12 of these chips is about 1A (this is just a rough guess, I could not find the current draw while ON in the datasheet!)
:palm: 20 mA typ, 31 mA max. for all 12.

 

Offline Kilrah

  • Supporter
  • ****
  • Posts: 1852
  • Country: ch
Re: Using a transistor for opening and closing connection to ground
« Reply #6 on: August 06, 2016, 06:49:13 pm »
The datasheet doesn't state whether the address pins are read and latched at powerup or if they're continually active... if the latter, you could probably wire some of the address pins to microcontroller pins to help with selecting/deselecting a group.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14795
  • Country: de
Re: Using a transistor for opening and closing connection to ground
« Reply #7 on: August 06, 2016, 07:12:34 pm »
A MUX or special I2C buffer is likely the better idea. There is also the option to implement a second I2C bus in software - it depends on the µC and resources available. An I2C master in software is not that complicated.
 

Offline bson

  • Supporter
  • ****
  • Posts: 2457
  • Country: us
Re: Using a transistor for opening and closing connection to ground
« Reply #8 on: August 06, 2016, 09:59:43 pm »
You should be able to multiplex the two buses using four MOSFETs like 2N7002.  Or see if you can find a suitable dual/quad package that reduces the parts count and board space.  If you find a suitable dual complementary pair you can control them with a single GPIO instead of two.
« Last Edit: August 06, 2016, 10:01:36 pm by bson »
 

Offline sean87Topic starter

  • Regular Contributor
  • *
  • Posts: 150
  • Country: nl
  • EE WannaBee
    • EMBEDONIX
Re: Using a transistor for opening and closing connection to ground
« Reply #9 on: August 06, 2016, 11:10:34 pm »
Thanks guys you are all great! (Specially the facepalm forissing Icc in the datasheet)
EMBEDONIX - Embedded Systems, Linux and good stuff!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf