Hirdetés

Keresés

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

  • Aryes

    nagyúr

    válasz repvez #14061 üzenetére

    Ezeket a reg cimeket, honnan tudom, meg?
    Gyári adatlapból, de ha egy modulhoz van library, abban ez valószínűleg előre be van állítva.

    bármelyik manuált letöltve ugyan az lesz mindegyiké vagy az összes chipnek van sajátja?
    Gyárilag egyforma, igen.

    Ha egy adott modulnak csak egyfajta registere van akkor kettő vagy többet hogy lehet ugyan abbol a modulbol használni ?
    Van olyan i²c eszköz, amelyiknek hardveresen vagy szoftveresen változtatható a címe bizonyos korlátok közt, pl 2-3 címbit külső lábakra kivezetve, ezekből többet is fel lehet használni, amennyit a címtartomány enged. Amelyiket nem lehet változtatni, abból csak egyet tudsz használni egyszerre.

    HA nem tudom , hogy van e felhuzo ellenállás a panelokon, akkor enélkül nem is tudom tesztelni öket ?
    Mérd ki egy multiméterrel a Vcc és az SDA, valamint a Vcc és SDL közti ellenállást. Ha kOhm tartományt mérsz, az a felhúzó ellenállás lesz. Persze ne működés közben, hanem kiszerelve mérd.

    ÉS azt hogy érted, hogy mindegyik vonalra és nem modulhoz kell ilyen ?
    Két db. ellenállás kell, egy a Vcc és az SDA, egy pedig a Vcc és SDL közé.

    Mitől , függ, hogy honnan számit hosszúnak a vezeték aminél már kisebb ellenállás kell?
    jelenleg csak 20cm es vezetéket tettem rá tesztelni, de későnn ez változhat.

    Az rövid. A hosszú mondjuk 1,5-2m-nél kezdődik.

    A párhuzamos soros részt, ugy értettem, hogy ha 4 modult teszek rá akkor mindegyik lábhoz 4 vezetéket kell bekötni vagy beköthetem ugy is, hogy az egyik modul SDL lábárol a másik modul SDL lábára aztán a 3. és 4ére kötöm , majd a 4. től vezetem csak vissza a panelra és igy csak két vezeték menne a panel azonos lábaira:
    Dehát attól még mindkettő párhuzamos. :DDD Az egyik csillagpontos, a másik daisy-chain (ha jól tévedek). De utóbbinál a lánc hosszúságával nő a zavarérzékenység, és csökken(het) a sebesség.

    Hű, jó sokáig írtam a hozzászólást. :DDD

  • And

    veterán

    válasz repvez #14061 üzenetére

    A slave-címeket alapvetően a chip határozza meg, vagyis egy adott slave eszköz / modul adatlapján, leírásában lehet találkozni vele. Sok esetben legalább részben módosítható a cím, pl. a chip három lábának alacsony / magas szintre kötésével beállítható - a szokásosan 7-bites - cím három bitje, így abból akár nyolc is felfűzhető ugyanarra a buszra. A többi része fix, illetve van olyan típus is, amelynél az alacsony lábszám ára, hogy totál fix címe van. Létezik egyetlen input lábon analóg feszültségszinttel beállítható című slave is. Szóval modulja és a ráépített chipje válogatja, hogy mennyire szabadon állítható be a cím, ha egyáltalán módosítható.
    "HA nem tudom , hogy van e felhuzo ellenállás a panelokon, akkor enélkül nem is tudom tesztelni öket ?"
    Nem. Felhúzó ellenállás mindenképp kell, mivel a busz két vezetéke a slave-eken nyitott kollektoros tranzisztorokhoz kapcsolódik. Itt látható a jellemző I2C-busz felépítés: [link].
    "Mitől , függ, hogy honnan számit hosszúnak a vezeték aminél már kisebb ellenállás kell?"
    Van erre többféle leírás, app-note, néha még a slave-ek adatlapja is ad erre útmutatót. Általános esetben 4,7 kΩ körüli felhúzók megfelelnek, de az érték függ a busz hosszán felül a tápfeszültségtől (amire az I2C-busz fel van húzva, lásd az előbb linkelt ábrát) és a slave-ek típusától, darabszámától. Egyébként az I2C-vonalat nem túl nagy hosszra szokás tervezni, vagy ha igen, a sebességet lehet csökkenteni, illetve léteznek transzparens buszmeghajtók is ilyen célra. Azért egy-két méteren belül jó esetben nem lesz szükséged ilyesmire.
    Mod. a #14062-re: a portra kapcsolható, uC-n belüli felhúzó megfelelhet, de mivel az általában túlságosan nagy értékű (sokszor 10 kΩ nagyságrendű), esetenként nem kerülhető meg a külső felhúzó. Ez főleg nagyobb buszsebesség, több slave és relatív nagy busztávolságok esetén igaz.

  • Janos250

    őstag

    válasz repvez #14061 üzenetére

    "Ezeket a reg címeket, honnan tudom, meg?"
    https://playground.arduino.cc/Main/I2cScanner/
    "ugyan az lesz mindegyiké vagy az összes chipnek van sajátja? "
    Általában fajtánként különböznek, de van, hogy egy adott fajtából is van több című. Nekem volt olyan - hirtelenjében nem jut eszembe mi volt - aminél a gyári jel után volt A0, A1,.. amiknek különböztek a címei. Hogy ezeket át lehet-e írni, azt nem tudom, de azt sejtem, hogy nem.
    "Ha nem tudom , hogy van e felhúzó ellenállás a panelokon, akkor enélkül nem is tudom tesztelni őket ?"
    A mikrokontroller GPIO lábát programozod úgy, hogy kapcsoljon be felhúzó ellenállást.
    "azt hogy érted, hogy mindegyik vonalra és nem modulhoz kell ilyen"
    A vezeték végig megy , a vezetékre csak egy helyen kell, pl. a kontrollerben, nem kell minden eszközhöz külön.
    "vagy beköthetem úgy is"
    Igen.

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