Hirdetés

Új hozzászólás Aktív témák

  • And

    veterán

    válasz Aryes #18651 üzenetére

    ("Több eszköz esetén azért nem jelent problémát, mert tudtommal eszközönként kellene egy-egy 4,7k ellenállás (/fixme)."
    Nem így van, egyébként magad is leírtad, hogy miért. A komplett busz két vezetékére kell összesen egy-egy felhúzó. Ha minden slave-hez tennénk, azok párhuzamosan kapcsolódnának, és mivel egy időpillanatban csak egy eszköz lehet aktív - hiszen a busz közös, egyszerre csak egyvalaki 'beszélhet' rá az adatvonalra -, annak a buszmeghajtó tranzisztora károsodhatna. Bár utóbbi elég extrém eset, csak rengeteg slave és eleve alacsony egyenkénti felhúzó mellett volna realitása, egyébként is feleslegesen nagyra adódna a felhúzóáram. Az is igaz, hogy az I2C a gyakorlatban viszonylag igénytelen, nem kíván pontos értékű felhúzókat, erre elég széles ellenállástartomány szóba jöhet. De - ahogy arra utaltál - a nagyobb sebességű átvitelhez a uC-k belső portfelhúzója /sokszor 10 kΩ nagyságrend/ általában túl nagy, azokkal a busz jellemzőitől /hossz, vonali kapacitás, slave-ek darabszáma/ függően nem feltétlenül tud kialakulni a megfelelő meredekségű négyszögjel a buszon. Szoftveres I2C-hez, maximum néhányszor 10 kHz-es busz-órajelhez még talán elmegy, de az SSD/SH oled-ek 400 kHz-es buszsebességet tudnak és akad olyan slave is, ami bőven 1 MHz feletti I2C-órajel mellett is képes kommunikálni.)

Új hozzászólás Aktív témák