www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Omejitve pri priklopu večih senzorjev na SPI ali I2C vodilo

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
hribo
Član
Član



Pridružen-a: Sob 12 Nov 2011 13:38
Prispevkov: 150
Aktiv.: 1.00
Kraj: Domžale

PrispevekObjavljeno: Sre Sep 03, 2014 2:57 pm    Naslov sporočila:  Omejitve pri priklopu večih senzorjev na SPI ali I2C vodilo Odgovori s citatom

Pozdravljeni,

I2C in SPI sta dva vodila, katera ima vsak svoje prednosti in slabosti. Oba pa omogočata priklop večih naprav na isto vodilo. Pri SPI, je sicer za to potrebno imeti dodatne GPIO-je. Kar pa mene zanima in nisem uspel najti informacije v spletu je:

Kakšno je maksimalno število naprav, ki jih lahko imamo na enem izmed vodil? Morajo obstajati določene fizikalne omejitve na vodilu ( R in C ), kakšne so te vrednosti?

Ali je možno na I2C imeti 20 senzorjev(vsak z drugačnim naslovom)? Kakšne so vaše izkušnje s priklopi večih senzorjev na eno vodilo?

Lep pozdrav

_________________
Failing to plan is planning to fail.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3638
Aktiv.: 17.11

PrispevekObjavljeno: Sre Sep 03, 2014 3:20 pm    Naslov sporočila:   Odgovori s citatom

i2C čipovje ima običajno zgornji del nasova že fiksno določenega, s kakšnim prostim pinom (dvema, tremi) pa nastaviš še spodnji del naslova. Posledično lahko brez komplikacij na isto vodilo obesiš po 2, 4 ali 8 enakih čipov.

Pri SPI pa ima vsak čip svoj chipSelect (CS) pin, medtem ko so MOSI, MISO, SCK skupni vsem.
Posledično je na SPI možno vezati neomejeno število čipov.

No, pri manjšem številu je omejeno s številom prostih pinov MCU za krmiljenje CS, pri večjem pa za premikanje CS uporabiš kar verigo 74hc595. Pošlješ eno "1" in jo voziš naprej.

Ampak. Z verigo 74hc595 lahko vklapljaš tudi zadnji bit i2C naslova, s čimer lahko razširiš sistem na neomejeno število čipov.

Glede R in C linije je pa pri obeh možno poljubno zmanjšati hitrost komunikacije.

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 75556.14

PrispevekObjavljeno: Sre Sep 03, 2014 4:48 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.


4094.JPG
 Opis:
 Velikost datoteke:  21.39 KB
 Pogledana:  4 krat

4094.JPG


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
hribo
Član
Član



Pridružen-a: Sob 12 Nov 2011 13:38
Prispevkov: 150
Aktiv.: 1.00
Kraj: Domžale

PrispevekObjavljeno: Čet Sep 04, 2014 9:34 am    Naslov sporočila:   Odgovori s citatom

MarE69 je napisal/a:
Teoretična omejitev je naslovni prostor, torej 127 naprav na enem I2C vodilu. No, jaz sem npr. v praksi že dal 100 senzorjev na en SDA in od tega skupine po 10 na en SCK. Imel sem torej 10 SCK linij in 1 SDA linijo za 100 slave-ov. To pa zato, ker sem imel omejitve glede izbire slave naslovov. Vse skupaj je dobro delovalo pri hitrostih SCK do 1MHz.


Na kakšen način misliš 10 naprav na SCK liniji in potem 100 na SDA? Ali si uporabil več pinov na mikrokontrolerju za SCK ali si iz enega pina(SCK) na mikrokontrolerju narediil 10 vej in jih vzporedno peljal do naprav? Kolikšna približno je bila maksimalna dolžina linije?

MarE69 je napisal/a:


Proti kapacitivnosti na I2C linijah se boriš z manjšanjem upornosti pullup uporov, če želiš ohraniti predpisanih 400kHz takta. Preveri tokovne zmožnosti master naprave in zmanjšaj pullup. Preveri še z osciloskopom obliko signalov.

Hvala za ta nasvet.

_________________
Failing to plan is planning to fail.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 75556.14

PrispevekObjavljeno: Čet Sep 04, 2014 3:02 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jan
Član
Član



Pridružen-a: Sob 10 Jun 2006 14:19
Prispevkov: 313
Aktiv.: 1.44
Kraj: Dolenjska

PrispevekObjavljeno: Pet Sep 05, 2014 9:09 am    Naslov sporočila:   Odgovori s citatom

Za večje I2C mreže se lahko uporabi tudi I2C multiplekserje.
Tako lahko priklopiš poljubno število naprav na en I2C port, tudi naprave z istim naslovom,
samo moraš jih dati v različne veje multiplekserja.

Obstaja pa še veliko drugih I2C pripomočkov npr. repeaterji, ekstenderji...

Jan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
hribo
Član
Član



Pridružen-a: Sob 12 Nov 2011 13:38
Prispevkov: 150
Aktiv.: 1.00
Kraj: Domžale

PrispevekObjavljeno: Sob Sep 06, 2014 3:59 pm    Naslov sporočila:   Odgovori s citatom

MarE69 je napisal/a:
En GPIO na mikrokontrolerju (STM32F1xx), potem pa razvejano. Vsota dolžin bi tako "na uč" rekel, da je bila okrog 200cm.


Se mi je zdelo, da je bil uporabljen samo en PIN na mikrokontrolerju, ker sam uporabljam SMT32F4XX, in ni nisem v datasheetu videl nobene opcije da bi imel več CLK linij. Sem pa pomislil, da si uporabil kakšen drug mikrokontroler, ki to omogoča.

Ker bom imel svojo senzorsko ploščico kar daleč od svoje glavne(150cm), bom najbrš uporabil repetitor, hvala za nasvete.

Very Happy

_________________
Failing to plan is planning to fail.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
PrimozL
Član
Član



Pridružen-a: Tor 21 Mar 2006 10:55
Prispevkov: 404
Aktiv.: 1.84
Kraj: okolica Vipave

PrispevekObjavljeno: Ned Sep 07, 2014 10:47 am    Naslov sporočila:  Re: Omejitve pri priklopu večih senzorjev na SPI ali I2C vod Odgovori s citatom

hribo je napisal/a:
Pozdravljeni,
Ali je možno na I2C imeti 20 senzorjev(vsak z drugačnim naslovom)? Kakšne so vaše izkušnje s priklopi večih senzorjev na eno vodilo?


Samo v ilustracijo, kaj se da naredit z I2C senzorji. Kolega je naredil regulacijo delovanja centralne kurjave in v ta namen po hiši razpeljal kar I2C temperaturne senzorje LM75, vsakega z drugačnim naslovom seveda. Povezovalni kabli so oklopljeni, njihove dolžine so različne; od 2m do malo več kot 10 m. Topologija je zvezdasta, ojačevalnikov ali ponavljalnikov ni uporabil. Na ATmega priključkih je samo preprosta tokovna in prenapetostna zaščita.

Precejšnje kapacitivnosti povezovalnih linij so bile seveda preveč za ATmega čip za delovanje pri polni hitrosti I2C vodila 200 kHz, zato je bilo potrebno znižati hitrost na 25 kHz (da se tudi na osciloskopu vidi primerna oblika signalov), kar pa je za omenjeno aplikacijo več kot dovolj.

LP Primož.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3638
Aktiv.: 17.11

PrispevekObjavljeno: Ned Sep 07, 2014 5:55 pm    Naslov sporočila:   Odgovori s citatom

Ali ima kdo možnost (zveze in poznanstva) predlagati proizvajalcem čipov, da naredijo i2c in 1-wire čipe s programirljivim naslovom?
Lahko tudi samo enkrat programirljivim s "kurjenjem varovalk".

Čip bi imel privzet naslov 0xFF ali 0x00, ob potrebi po večih čipih pa bi mu vpisal ukaz za programiranje in nov naslov.
Pri 1-wire pa bi zadostoval 8-biten programirljiv naslov, saj je zdaj naslov daljši od koristnega podatka. Lahko bi ga klical brez preverjanja naslova, s preverjanjem 8-bitnega naslova, ali s preverjanjem 64 bitov.

Upal bi si trditi, da bi se za serije do 1000 kosov izdelkov uporabljalo programirljive čipe, četudi bi bili 5 ali 10 centov dražji.

Think Koliko sploh stane 8 varovalk, 8 pull-nekam uporov in 8-biten primerjalnik naslovov? Če en mini MCU stane manj kot 1eur ...

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
mujo
Član
Član



Pridružen-a: Ned 02 Jan 2005 19:24
Prispevkov: 722
Aktiv.: 3.25
Kraj: MB

PrispevekObjavljeno: Ned Sep 07, 2014 8:21 pm    Naslov sporočila:   Odgovori s citatom

Kje pa bi programiral naslove te naprave? To bi moral narediti pri vsaki posebej. Kar je še en dodatni korak pri proizvodnji končne naprave. Za hobby in majhne serije bi še šlo.
Določeni čipi se dajo dobiti z različnimi naslovi - recimo tako kot izbereš v katerem ohišju bi imel čip, lahko izbereš kateri naslov naj ima. Sicer ni možnosti izbrati vsak naslov med 0x7F in in 0x00 ampak vseeno. Nekateri pa imajo opcijo, da zadnjih nekaj bitov nastaviš preko zunanjih povezav.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
_NENO_
Neznanec
Neznanec



Pridružen-a: Pon 10 Nov 2014 14:42
Prispevkov: 6
Aktiv.: 0.05
Kraj: Ljubljana

PrispevekObjavljeno: Čet Feb 12, 2015 6:18 pm    Naslov sporočila:   Odgovori s citatom

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 6.24
Kraj: Črnomelj

PrispevekObjavljeno: Čet Feb 12, 2015 7:46 pm    Naslov sporočila:   Odgovori s citatom


_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
_NENO_
Neznanec
Neznanec



Pridružen-a: Pon 10 Nov 2014 14:42
Prispevkov: 6
Aktiv.: 0.05
Kraj: Ljubljana

PrispevekObjavljeno: Čet Feb 12, 2015 9:38 pm    Naslov sporočila:   Odgovori s citatom

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 47 dni


Powered by phpBB © 2001, 2005 phpBB Group