Go Down

Topic: Arduino Due level shifter shield to make pins 5V tolerant (Read 7492 times) previous topic - next topic

Riva

As the title suggests, make a shield for the Duo so you can switch level shifting on/off (preferably on a pin by pin or port by port basis) for most/all the data pins. I have sooo much stuff that is 5V and the Mega/UNO are not big/fast enough for some projects I want to do but external level shifters are a pain prototype with and I never have enough.

Graynomad

This can get quite complicated if you also want to support all the secondary functions of the pins, such as I2C and especially analogue.

You can use the TXB0101 chip for normal GPIO functions, but it has a severely restricted current capability.

I have done this at high current for just 8 of the GPIO on a Due style board, it needs one chip plus a control signal for each IO, not too bad for 8 lines but not practical for 54.

The other FET-style level converter chips might work better, I've not used them.

______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

CrossRoads

Rats - can't find the Mega-stripped with buffers added schematic I had done up...
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Graynomad

Yes we discuss this a fair bit in a thread a while back.

______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

CrossRoads

Do you recall when? Maybe I can find it by a date search.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Graynomad

Rob Gray aka the GRAYnomad www.robgray.com

CrossRoads

Ok, here is what I had worked up for 3.3V to 5V buffering for the Due.
Shield goes on Due, buffered headers are offset by 0.1 to the 'top' and 0.4 or 0.5 to the 'side' to make room for the  buffer chips.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Riva

Do these level shift/buffer chips handle SPI/I2C etc okay as Graynomad had warned about? For analogue input could you use a jumper to switch between buffer chip/ resistor voltage divider. Are the buffers okay for also doing 3.3/3.3 or would they need some switch/jumper to take them out of line.

CrossRoads

I've been looking at some other level translators.
Most need a direction control line.
For all but I2C, where the data line has to be pretty fluid (i.e. ACK bit coming back after a data byte goes out), I think setting the direction bit via shift register during setup would be okay.
A part like this
http://www.ti.com/lit/ds/symlink/sn74lvc2t45.pdf
would offer pretty good flexibility, supporting 2 pins per chip.  +/-32mA drive capability on the 5V side.
Spacing wise, I'm thinking 24 of these in the DCU package  2.1mm x 3.2mm
and 3 shift registers to drive their direction lines might fit. Won't really know until its layed out.
http://www.digikey.com/product-detail/en/SN74LVC2T45DCUR/296-17014-1-ND/657837
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

CrossRoads

Doesn't address bringing in analog signals tho. 

"VCC Isolation Feature - If Either VCC Input Is at GND, Both Ports Are in the High-Impedance State"

So need a way to control VccA then - doesn't look like much VccA current is needed, so maybe another shift register to supply VCCA to 8 parts.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Graynomad

I suspect it will wind up in the too-hard or too-expensive basket, it's looking like a heck of a lot of chips. Plus control logic and the risk of setting the CPU pin to output when it's corresponding buffer is an input.

______
Rob

Rob Gray aka the GRAYnomad www.robgray.com

Riva

A quick hunt around and I find this article. Lots of SM components needed but the bits are cheap. Maybe just doing the standard arduino pins and leave the extra Duo pins as 3.3v

CrossRoads

That provides very  little high side outut current, just a 10K pullup resistor.
If one wants to emulate Arduino Uno 20-40mA drive capability, a more active design is needed.

I'll be out of town a few days, will play with the dual IO pin parts, see what will fit.
1st step may be creating a library symbol for the small footprint, then see what will fit.

Too hard is just a challenge, too expensive just means a higher qty is needed to reach materiel price  break points.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

drjiohnsmith

comment on 5v logic.

Its dead. Has been for a while,
   Like DIP chips, less and less around,

Its like the days of valves,
   there were all sort of hybrid designs, before transistors took over.

personally, I'd advocate the push for all shields to be 3v3,
   
may be we should be looking at making the older adruinos 3v3 compatible,
   by making a shield for that ?

its easier to make 5v to 3v3, an IDT Quick switch will do that ,
  something like the QS3224 should do nice

have a look at app note 11-A , form 1998
 

Graynomad

Quote
may be we should be looking at making the older adruinos 3v3 compatible,
   by making a shield for that ?


:)

_____
Rob
Rob Gray aka the GRAYnomad www.robgray.com

Go Up