element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Test & Tools
  • Technologies
  • More
Test & Tools
Forum I2C switch / output expander with Open Drain
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Test & Tools to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 29 replies
  • Answers 7 answers
  • Subscribers 356 subscribers
  • Views 4078 views
  • Users 0 members are here
Related

I2C switch / output expander with Open Drain

Jan Cumps
Jan Cumps over 8 years ago

I'm looking for an I2C expander or switch that can put output to open drain.

 

Should be

- 5V tolerant

- at least one output that can be driven low and high-Z

- if possible SOIC package

- no isolation needed

- a few mA is enough.

- does not need to be bidirectional. Output only would be ok.

 

Is there a good candidate?

  • Sign in to reply
  • Cancel

Top Replies

  • rachaelp
    rachaelp over 8 years ago +5 verified
    I've used TI port expanders from the PCA95xx range in the past and they seem quite good. How about this one? http://www.ti.com/lit/ds/symlink/pca9557.pdf P0 is open drain, P1 through P7 are push-pull.…
  • jc2048
    jc2048 over 8 years ago +3
    Philips fan? Here's my all-time favourite databook cover (that's from 1991)
  • rachaelp
    rachaelp over 8 years ago in reply to Jan Cumps +2 suggested
    Or the NXP equivalent from here? PCA9557D NXP, I/O Expander, 8bit, 400 kHz, I2C, SMBus, 2.3 V, 5.5 V, SOIC | Farnell element14
Parents
  • jc2048
    0 jc2048 over 8 years ago

    Erm, what's this for exactly? If you're pulling down the gate of the output MOSFET, it needs to tolerate more than 5V. The nice power MOSFETs that Peter found and wants to use are not logic-level devices and the gate will be working up at 6 or 7V.

     

    A small MOSFET controlled by one of the regular outputs of your expander would be better.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps over 8 years ago in reply to jc2048

    I could add a small switch-friendly FET.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jc2048
    0 jc2048 over 8 years ago in reply to Jan Cumps

    Don't make it too small - I can just about manage Small-Outline-Transistor-number-23 (SOT23) packages.

     

    Either a MOSFET or a BJT would do. BSS138 has a low enough threshold voltage to work well with a 3.3V gate drive. Perhaps include a pull-up resistor on the gate so that it is held on at reset (disabling the load) until the processsor is ready to start controlling everything.

     

    Looking at that circuit fragment, you might want to lay out your board so that it can be built without the 6V zener there. (Although you could just link across the pads, it would be neater, and easier to document, with a parallel placement for a zero-ohm link as an alternative build.) The circuit won't work if you leave the zener in there with the MOSFETs Peter wants to use. (That's not quite true, because the gate voltage slowly drifts up to the threshold on the zener leakage, but it is true to say the circuit won't operate the way you'd like it to.)

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps over 8 years ago in reply to jc2048

    Jon, how would you provide the VDD in this scenario?

    - Not, and rely on the voltage from the node before the diode,

    - or add some resistor to +12V (that shouldn't influence that node because of the diode)

     

    image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jc2048
    0 jc2048 over 8 years ago in reply to Jan Cumps

    Your pen looks much more stylish than my pencil.

     

    image

     

    The pull-up to the expander rail will keep the BSS138 on at start-up, when the expander output will be high impedance, and that will result in the load being disabled until your code sets up the expander.

     

    It would work fine without the pull-up to the 12V rail but, if we do reverse bias the signal diode, that minimises the [drain] capacitance that the diode-OR node will see. Not really an issue because it's only a few hundred pF and everything is so slow anyway - the op-amp can't see it from behind its own signal diode, so that's not going to worry about it [and could drive it, anyway, if it had to]. It just adds fractionally to the time taken for the (3k3) pull-up to turn the power MOSFET on if you don't have it there. For the cost of the placements, you might as well put it on the pcb and decide if you need it later. The 0R is there so that you can leave out the zener, but there are other ways to do that if you want [link or zener with footprint that could also take a resistor].

     

    I'd reduce the 10k pull-up to 3k3 if I were you because the larger MOSFETs need more drive (the gate capacitance is higher) and the 10k compromises the speed a bit too much (it becomes the limiting factor frequency-wise rather than the op-amps and the servo loop).

     

    You need to get Peter to say what he's going to do for hardware protection before you finalise the pcb. The processor can do some things - like limiting the average dissipation - but it's not fast enough to deal with transients coming in from the output leads and that kind of thing. After blowing up his previous load in such spectacular fashion, I'm sure he's thought a bit about the things that could be done.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • jc2048
    0 jc2048 over 8 years ago in reply to Jan Cumps

    Your pen looks much more stylish than my pencil.

     

    image

     

    The pull-up to the expander rail will keep the BSS138 on at start-up, when the expander output will be high impedance, and that will result in the load being disabled until your code sets up the expander.

     

    It would work fine without the pull-up to the 12V rail but, if we do reverse bias the signal diode, that minimises the [drain] capacitance that the diode-OR node will see. Not really an issue because it's only a few hundred pF and everything is so slow anyway - the op-amp can't see it from behind its own signal diode, so that's not going to worry about it [and could drive it, anyway, if it had to]. It just adds fractionally to the time taken for the (3k3) pull-up to turn the power MOSFET on if you don't have it there. For the cost of the placements, you might as well put it on the pcb and decide if you need it later. The 0R is there so that you can leave out the zener, but there are other ways to do that if you want [link or zener with footprint that could also take a resistor].

     

    I'd reduce the 10k pull-up to 3k3 if I were you because the larger MOSFETs need more drive (the gate capacitance is higher) and the 10k compromises the speed a bit too much (it becomes the limiting factor frequency-wise rather than the op-amps and the servo loop).

     

    You need to get Peter to say what he's going to do for hardware protection before you finalise the pcb. The processor can do some things - like limiting the average dissipation - but it's not fast enough to deal with transients coming in from the output leads and that kind of thing. After blowing up his previous load in such spectacular fashion, I'm sure he's thought a bit about the things that could be done.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • Jan Cumps
    0 Jan Cumps over 8 years ago in reply to jc2048

    got it!

     

    the expander will supply 5V - we're feeding it from the linear regulator on the power board.

     

    Peter's damage was due to long time overloading and waffling to the camera instead of checking the setup image  (isn't it, Robert Peter Oakes ?). That's something we should be able to handle by software or a fuse.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps over 8 years ago in reply to jc2048

    .... another thought. In this set-up, would it make sense to not use the open collector P0 of the extender (there's only one - we may have a better use for it later) and use one of the push-pulls?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 8 years ago in reply to jc2048

    It was not transients in my little mishap, it was a gross overloading of the FET that then cause the shunt resistor to fail (A rather expensive one I might add image ) and consiquently feeding the source voltage right into the OPAMP inputs, grossly exceeding their input protection limits.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jc2048
    0 jc2048 over 8 years ago in reply to Jan Cumps

    Yes, use one of the push-pull outputs.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • jc2048
    0 jc2048 over 8 years ago in reply to Robert Peter Oakes

    OK, understood. But the question was do you need Jan to add anything for protection purposes that can't be dealt with just by the processor shutting the MOSFET down? If not, Jan can have a go at a first draft of the board.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 8 years ago in reply to jc2048

    I dont think anything more than we already have, all the op-amps have suitably high resistors to protect them and a diode off board should be across the sense resistor, maybe two could be there (Back to back), the FET already has one and as already suggested, a fuse should also help. we just dont want too much in the power path in order to still handle high currents with low voltage

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube