logic level converter info

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
lum
Inlägg: 11
Blev medlem: 3 oktober 2010, 04:38:18
Ort: Lund

logic level converter info

Inlägg av lum »

alo alo!

Jag håller på att lära mig lite digitalelektronik som hobby. Valde Arduino plattformen för att den har en bra comunity med gott om exempel.
Men nu är jag intresserad av att bygga lite egna moduler för snabbt prototypsarbete.
Problemet är att olika Arduino varianter varierar mellan 5v och 3,3v logik.

Vet att det finns chip som sköter omvanding 3,3v <-> 5v .
Men om jag vill att modulerna ska fungera med båda nivåerna hur gör jag då? :humm:
Finns det omvandlingschip som släpper igenom 3,3v?
Är det kanske t.o.m. standard? eller hur löser man det smidigast?
Lösningen ska kunna användas till uart, SPI och I2C.

Tack på förhand!
sasha
Inlägg: 23
Blev medlem: 26 augusti 2010, 00:05:14
Ort: Sthlm

Re: logic level converter info

Inlägg av sasha »

Sparkfun har en guide om detta - http://www.sparkfun.com/tutorials/65
Användarvisningsbild
lum
Inlägg: 11
Blev medlem: 3 oktober 2010, 04:38:18
Ort: Lund

Re: logic level converter info

Inlägg av lum »

Tack men jag hittar inte svaret riktig.

Jag måste vara slö men jag hittar inget om att göra så att t.ex. en 3,3v I2C modul funkar med både en 5v och en 3,3v MCU? :?
Jag vet att 3,3v high inte kommer räcka till vissa av de 5v MCUs jag vill leka med.

Ett litet förtydligande:
lvlshift_ex1.png
Måste det kanske göras med en liten switch? Skulle vara så bra att ha en modul där man inte behövde tänka på vad man kopplar den till när man bara leker lite.
dvs. utan att den magiska röken försvinner.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
jadler
EF Sponsor
Inlägg: 407
Blev medlem: 28 maj 2009, 12:03:43
Ort: Vidja, Huddinge, Stockholm
Kontakt:

Re: logic level converter info

Inlägg av jadler »

Jag sökte just på liknande saker, hittade bl.a. Philips Appnote 97055 som verkar lovande, och som flera andra sidor refererar till (bl.a. Sparkfun).

BSN10 har utgått, men jag gissar (utan att vara helt säker) att t.ex. 2N7000 (TO-92, pinnar, inte ytmonterad, 772 öre på ELFA) skall kunna fungera istället (se diskussion på Propellers forum).

Det finns även specialkretsar just för detta ändamål, t.ex. från Maxim.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46807
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: logic level converter info

Inlägg av TomasL »

Finns en HCT dubbelriktad busdriver som kan hantera detta, kommer dock inte ihåg vad den heter.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: logic level converter info

Inlägg av jesse »

I2C är lite special, då det inte är enkelriktad data utan dubbelriktad med pull-up, så den behöver en speciell interfacekrets, som Tomas säger. Andra signaler brukar ju ofta vara enkelriktade, och är då mycket lättare att konvertera för olika nivå.

Kolla maxims sida här: Level Translators For SPI™ and I²C Bus Signals

Eftersom det är det gemensamma pull-up motståndet på databussen som avgör "hög" nivå så kanske det räcker att ansluta detta till en spänning på ca 3.5 volt. Det avläses som "etta" både hos 3.3-volts och 5-volts systemen och överskrider inte gränsen. Ingen av enheterna skickar ju ut 3.3 eller 5 volt - de sänker bara spänningen om de ska skicka en nolla.
Användarvisningsbild
jadler
EF Sponsor
Inlägg: 407
Blev medlem: 28 maj 2009, 12:03:43
Ort: Vidja, Huddinge, Stockholm
Kontakt:

Re: logic level converter info

Inlägg av jadler »

Själv funderar jag på nivåöversättning generellt, jag har inte tänkt så mycket på specialfall som I²C. För mig gäller det vanlig GPIO, UART och jag försöker förstå varför JTAG-moduler kostar så mycket och vad som egentligen krävs för att bygga en kompetent sådan själv (som då klarar målsystem med olika Vcc, därav översättning av signaler).

Jag har hittat specialkretsar som NXP GTL2003: 8 bitar bidirektionell (finns upp till 22 bitar), hanterar 1,0V -- 5,0V, skall enligt datablad fungera med I²C, hastigheter upp till 20 MHz tror jag (hittar inte siffran nu).

Maxim 3002 är något liknande, tror jag.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: logic level converter info

Inlägg av jesse »

Det finns nog inget "generellt" utan man får anpassa efter situationen. Jag har inte funderat så mycket över hur de löst det i jtag-modulerna, men signalnivån är nog det minsta problemet (och påverkar nog inte kostnaden nämnvärt).
sdujolo2
Inlägg: 158
Blev medlem: 2 oktober 2007, 13:50:35
Ort: Sundsvall

Re: logic level converter info

Inlägg av sdujolo2 »

Det här kanske kan vara nåt?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46807
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: logic level converter info

Inlägg av TomasL »

Användarvisningsbild
swesysmgr
Inlägg: 14814
Blev medlem: 28 mars 2009, 06:56:43
Ort: Göteborg

Re: logic level converter info

Inlägg av swesysmgr »

lum skrev:Skulle vara så bra att ha en modul där man inte behövde tänka på vad man kopplar den till när man bara leker lite.
För SPI: TEXAS INSTRUMENTS - TXB0104D

För I2C: TEXAS INSTRUMENTS - TXS0104ED

Kortfattat och tydligt om produktvalet: TI Voltage level translation guide
ToPNoTCH
Inlägg: 5097
Blev medlem: 21 december 2009, 17:59:48

Re: logic level converter info

Inlägg av ToPNoTCH »

Jag fixade faktiskt just en sådan design i helgen.

Skall fota och lägga i mini-projekt i morgon.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: logic level converter info

Inlägg av jesse »

Ska du bara labba lite hemma så duger ju motstånd och diod till VCC oftast utmärkt. Sätt diod på båda sidor om motståndet, så är du skyddad åt båda hållen. Motståndet ska vara så stort att strömmen genom samtliga motstånd är lägre än strömförbrukningen hos experimentkortet.

Bild

tråd
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46807
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: logic level converter info

Inlägg av TomasL »

Alla vettiga processorer har 5V toleranta IO.
Dessutom är det inget som hindrar att du kör 3V mot 5V-logik, eftersom 3V logiken ligger inom TTL-specen.

Beträffande I2C så är det OC för utgångarna, så det är alltid pull-upen som bestämer linjens spänning.
Kör du I2C mellan en 5V och en 3V krets, så anslut pullupen till 3V.

Har för mig att samma borde gälla SPI också.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: logic level converter info

Inlägg av jesse »

Alla vettiga processorer har 5V toleranta IO.
Förutom AVR 8-bitars, som har en diod till VCC.... så det är nog ingen självklarhet.

SPI använder inte open-collector , den kör med tri-state.
Skriv svar