Kysymys:
I2C 3,3 - 5,0 V muunnos
JohnC
2009-11-28 02:45:08 UTC
view on stackexchange narkive permalink

Yritän liittää 3,3 V I 2 C -laitteen 5 V: n Arduinoon.

Minulla ei ole mitään ongelmia SCL-linjalla. Voin käyttää yksinkertaista jännitteenjakajaa, mutta minulla on ongelma SDA-linjalla, koska se on kaksisuuntainen.

En ole ollenkaan varma, miten tämä hoidetaan. Minulla on kuitenkin lisättävä pari diodia, joissa jännitteenjakaja on orja-tulopuolella ja mikään ylimääräinen isäntätulossa.

Onko muita ratkaisuja?

Tulevien lukijoiden tulisi olla tietoisia siitä, että vaikka OP saattaa käyttää SCL: ää vain yhteen suuntaan, I2C sallii SCL: n olla kaksisuuntainen.
Neljä vastused:
#1
+25
sivu
2009-11-28 04:08:41 UTC
view on stackexchange narkive permalink

Hyvä asiakirja aiheesta on kaksisuuntainen tasosiirtolaite I2C-väylälle ja muille järjestelmille, jossa käytetään yhtä mosfettia kaksisuuntaisena tasonsiirtäjänä.

Pidän Philips-piiristä. Älykäs. Saattaa olla jollain tapaa parempi, jos I2C-lähtöjen ei tarvitse upottaa kaikkea vetoa kaikista virroista, mutta aktiivisen I2C-toistimen suunnittelu on vaikeaa; En usko, että se voidaan tehdä normaalilla logiikalla, koska toistimen on kyettävä havaitsemaan nouseva reuna ja reagoimaan siihen ennen kuin kaikki I2C-laitteet pystyvät.
Linkki on kuollut!
@Zimano: n Internet-arkisto avuksi: http://web.archive.org/web/20121222214842/http://ics.nxp.com/support/documents/interface/pdf/an97055.pdf
@Adrian Mahtava!Kiitos!
#2
+14
Jason S
2009-11-28 10:34:28 UTC
view on stackexchange narkive permalink

Laajennettaessa sivun vastausta, tämä on yleinen käyttö ns. "väyläkytkimille", jotka ovat pohjimmiltaan logiikkaohjattuja MOSFET-tiedostoja. Erillisten MOSFET-laitteiden käytöllä on joitain haittoja (loiskapasitanssi / kapasitiivinen kytkentä on yksi), ja voi olla hankalaa valita hyvä MOSFET. Väyläkytkimet on optimoitu käytettäviksi nopeissa logiikkapiireissä.

Useat valmistajat valmistavat niitä, mukaan lukien Fairchild, TI, IDT ja Pericom. Katso NC7SZ384.

Katso muun muassa seuraavat hakemukset:

#3
+8
cyphunk
2009-11-28 05:43:33 UTC
view on stackexchange narkive permalink

Monilla Arduinolla on sisäänrakennettu tuki toimiakseen 3,3 V: lla. Itse asiassa kaikki voivat toimia 3,3 V: lla ja FTDI-sirukaavio selittää esimerkin. Teensy USB Arduinon valmistanut Paul oli ehdottanut, että voisin liittää USB-kaapelin auki ja syöttää 3,3 V: n jännitteen kaapelin V CC -linjan sijasta. Voit kokeilla tätä. Mutta on myös muita vaihtoehtoja.

  1. Tarkista Arduinon logiikkatasot. Uskon, että he tukevat 3,3 V: n logiikkaa korkealla jopa 5 V: n alkuperäisellä Atmelilla. SparkFun-artikkelissa todetaan: "* 3,3 V: n digitaalisen ulostulotapin kytkeminen 5 V: n tulotapiin on usein yksinkertaista. Useimmat laitteet ovat melko suvaitsevaisia ​​vähimmäisjännitteelle, jonka ne hyväksyvät digitaaliseksi suureksi arvoksi. Esimerkiksi useimmat Atmel-mikrokontrollerit hyväksyvät kaiken yli 0,6 * V CC korkean, joten 3,3 V: n laitteen on tuotettava yli 3 V: n (0,6 * 5 V) taso. * "
  2. Osta yksi Arduino-kloonista, joka on hypännyt 3,3 V: n ja 5 V: n valitsimilla. Käytän RBBB-peitettä, jonka olen asettanut syöttökaapelien FTDI-sirulle arvoon 3,3 V. Mutta on monia muita, joilla on todelliset 3,3 V: n kokoonpanovaihtoehdot, mukaan lukien yksi viimeisistä virallisista Arduinosista, jos muistan oikein. Voit käyttää myös Teensy USB: tä hänen Arduino-laajennuksensa kanssa ja asentaa 3,3 V: n säätimen noudattamalla hänen verkkosivustonsa ohjeita.
  3. Liitä USB-kaapeli ja tarjoa laboratorion virtalähteen laatu 3,3 V-lähde USB-kaapelin V CC -linjan sijaan. Sen pitäisi olla heikkoa, kuten Paavali on ehdottanut. Siksi joko hyvälaatuinen jännitelähde. Voit myös laittaa vain pari akkua sarjaan saadaksesi halutun jännitteen.
  4. Jos olet kiinnostunut, voin yrittää tutkia Arduinosi kaaviota ja ehkä on mahdollista tehdä muutoksia FTDI-kokoonpano, joka sallisi 3,3 V.

Lopuksi, meillä on keskustelu, joka saattaa kiinnostaa sinua tästä täällä Chiphackerissa yksisuuntaisista ja kaksisuuntaisista ratkaisuista jännitteen poistamiseksi. Tämä todbotin mainitsema artikkeli SparkFunista on hyödyllinen, samoin kuin keskustelu SparkFunista linkitetystä kaksisuuntaisesta MOSFET -artikkelista. Yhteenveto SparkFun-artikkelista:

  • Sisäinen vastus. Yksisuuntainen. Vain alaspäin - vähentää virtaa, IC: n I / O-kiinnitysdiodit voivat rajoittaa enimmäistuloa.
  • Sarjavastukset. Yksisuuntainen. Vain alaspäin, mutta rakeinen.
  • Diodi. Yksisuuntainen. Astu alas. Turvallisempi. Korkea 5 V: n lohkodiodista; 3,3 V puoli kiinnittyy sitten korkealle. Mutta jos käännät diodikonfiguraation, etkö voisi myös tehostaa?
  • MOSFET. Kaksisuuntainen. Askel alas tai ylöspäin.
  • Kommenteissa: Optisen eristämisen esimerkki: 4N25. Suuri virta.
  • Kommenteissa: Zener-diodiesimerkki: 1N4728A
  • Kommenteissa: 74HC244 / 125 yksisuuntainen
#4
+6
Vineeth
2009-12-02 00:45:48 UTC
view on stackexchange narkive permalink

Erityisesti tasonsiirto I2C: lle on saatavana IC: it:

En tiedä millaisia ​​rajoituksia sinulla on suunnittelullasi, mutta luulisin, että omistetun mikropiirin käyttäminen olisi helpompaa kuin oman ratkaisun keksiminen.



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 2.0-lisenssistä, jolla sitä jaetaan.
Loading...