Pitanje:
Pretvorba I2C od 3,3 do 5,0 V
JohnC
2009-11-28 02:45:08 UTC
view on stackexchange narkive permalink

Pokušavam povezati 3.3V I 2 C uređaj s 5V Arduinom.

Nemam problema s SCL linijom. Mogu koristiti jednostavni razdjelnik napona, ali imam problem sa SDA linijom jer je ovo dvosmjerno.

Nisam uopće siguran kako to riješiti. Doduše, dodam par dioda, s razdjelnikom napona na pomoćnoj ulaznoj strani i ništa dodatno na glavnom ulazu.

Postoje li druga rješenja?

Budući čitatelji trebali bi biti svjesni da, iako OP možda koristi SCL samo u jednom smjeru, I2C općenito omogućuje dvosmjernost SCL-a.
četiri odgovori:
#1
+25
sivu
2009-11-28 04:08:41 UTC
view on stackexchange narkive permalink

Dobar dokument o subjektu je Dvosmjerni mjenjač razine za I2C-sabirnicu i druge sustave koji koristi jedan MOSFET kao dvosmjerni mjenjač razine.

Sviđa mi se sklop Philips. Pametan. Moglo bi na neki način biti bolje da I2C izlazi ne moraju ponirati svu struju iz svih pull-upova, ali projektiranje aktivnog I2C repetitora je teško; Mislim da se to ne može učiniti normalnom logikom, jer repetitor mora biti u stanju prepoznati rastući rub i reagirati na njega prije nego što to mogu bilo koji I2C uređaji.
Veza je mrtva!
Internetska arhiva @Zimano u pomoć: http://web.archive.org/web/20121222214842/http://ics.nxp.com/support/documents/interface/pdf/an97055.pdf
@Adrian Super!Hvala!
#2
+14
Jason S
2009-11-28 10:34:28 UTC
view on stackexchange narkive permalink

Da bi se proširio na odgovor sivu-a, ovo je uobičajena upotreba za takozvane "sabirničke prekidače" koji su u osnovi logički kontrolirani MOSFET-ovi. Korištenje diskretnih MOSFET-ova ima neke nedostatke (parazitski kapacitet / kapacitivno spajanje je jedno) i može biti nezgodno odabrati dobar MOSFET. Prekidači sabirnice optimizirani su za upotrebu u logičkim krugovima velikih brzina.

Nekoliko ih proizvođača proizvodi, uključujući Fairchild, TI, IDT i Pericom. Pogledajte NC7SZ384.

Pogledajte sljedeće bilješke, između ostalog:

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

Mnogi Arduino imaju ugrađenu podršku koja radi na 3,3 V. Zapravo, svi mogu raditi na 3,3 V, a shema FTDI čipa objašnjava kako u primjeru. Paul, koji je izradio Teensy USB Arduino, predložio mi je da mogu spojiti USB kabel i isporučiti napon od 3,3 V umjesto V CC linije kabela. Možete probati ovo. Ali postoje i druge mogućnosti.

  1. Provjerite logičke razine za Arduino. Vjerujem da podržavaju 3.3 V kao logiku HIGH čak i na 5 V izvornom sustavu Atmel. U članku SparkFun-a stoji: "* Povezivanje 3.3 V digitalnog izlaznog pina s ulaznim pinom od 5 V često je jednostavno. Većina uređaja podnosi toleranciju na minimalni napon koji će prihvatiti kao digitalnu visoku vrijednost. Na primjer, većina Atmel mikrokontrolera prihvaća sve što je iznad 0,6 * V CC kao visoko, pa uređaj od 3,3 V mora izlaziti na razinu iznad 3 V (0,6 * 5 V). * "
  2. Kupite jedan od Arduino klonova koji je prebacio 3,3 V i 5 V selektore. Koristim RBBB cloan koji sam postavio FTDI čip opskrbnih kabela na 3,3 V. Ali postoje mnogi drugi koji imaju stvarne mogućnosti konfiguracije od 3,3 V, uključujući jedan od nedavnih službenih Arduinosa, ako se dobro sjećam. Također možete upotrijebiti Teensy USB s njegovim dodatkom Arduino i slijediti upute na njegovom web mjestu za instaliranje regulatora od 3,3 V.
  3. Spojite USB kabel i osigurajte laboratorijsku kvalitetu napajanja Izvor od 3,3 V umjesto V CC linije USB kabela. Trebao bi biti slaba struja, kao što je Paul predložio. Dakle, bilo kvalitetan izvor napona. Možete i staviti nekoliko baterija u seriju da dobijete željeni napon.
  4. Ako ste zainteresirani, mogu pokušati ispitati shemu vašeg Arduina i možda je moguće unijeti promjenu u FTDI konfiguracija koja bi omogućila 3.3 V.

Na kraju, imamo raspravu koja bi vas mogla zanimati o ovome ovdje na Chiphackeru o jednosmjernim i dvosmjernim rješenjima za smanjenje napona. Ovaj članak o SparkFun-u kojeg spominje todbot koristan je, kao i rasprava o dvosmjernom MOSFET-u članka povezanom sa SparkFun-a. Da rezimiramo članak SparkFun:

  • Ugrađeni otpornik. Jednosmjerno. Samo step-down - smanjuje struju, diode za stezanje IC / I / O mogu ograničiti maksimalni ulaz.
  • Otpornici serije. Jednosmjerno. Samo spuštanje, ali granulirano.
  • Dioda. Jednosmjerno. Korak dolje. Sigurnije. Visoka od 5 V blok dioda; strana od 3,3 V tada se veže za visoku. Ali, ako obrnete konfiguraciju diode, ne biste li mogli i pojačati?
  • MOSFET. Dvosmjerno. Korak prema dolje ili pojačavanje.
  • U komentarima: Primjer optičke izolacije: 4N25. Jaka struja.
  • U komentarima: Primjer Zener diode: 1N4728A
  • U komentarima: 74HC244 / 125 jednosmjerni
#4
+6
Vineeth
2009-12-02 00:45:48 UTC
view on stackexchange narkive permalink

Postoje IC-ovi dostupni posebno za I2C koji mijenja nivo:

Ne znam kakva ograničenja imate na svoj dizajn, ali mislim da bi upotreba namjenskog IC-a bila lakša od donošenja vlastitog rješenja.



Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 2.0 licenci pod kojom se distribuira.
Loading...