 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
MaLi-X Član


Pridružen-a: Pet 04 Feb 2005 10:34 Prispevkov: 56 Aktiv.: 0.24
|
Objavljeno: Ned Jul 12, 2009 9:41 pm Naslov sporočila: Povezava večih mikrokrmilnikov v mrežo. |
|
|
V kratkem načrtujem malce večji projekt, zaradi obsežnosti bi rad delo razporedil na več mikrokrmilnikov AVR.
Sistem bi bil veliko bolj pregleden in ob morebitni nadgradnji/vzdrževanju bi obstal samo en del ne pa celota.
Do sedaj sem delal z RS232, med seboj sem povezal 2 mikrokrmilnika, si izmislil protokol za komunikacijo med njima in zadeva lepo igra.
Pojavi se težava, ko bi rad na sistem priključil še tretji in četrti mikrokrmilnik.
Moj protokol ne bi povzročal težav ker pozna naslavljanje. Nekako ne najdem načina kako to povezati mikrokrmilnike na strojni ravni.
Pred časom sem poizkušal RS485, zadeva je delovala dokaj dobro. Vendar mi sistem gospodar suženj ni všeč. Poleg tega potrebujem še zraven vsakega mikrokrmilnika dodaten čip in strogo hierarhijo, da lahko na 1x govori samo en.
Mrežo bi potreboval zgolj za izmenjavo določenih podatkov med mikrokrmilniki, (obojestranska komunikacija) drugače bi pa vsak delal svoje delo.
Zanima me ali se je že kdo srečeval s tem problemom in kako ga je rešil?
Rad bi ostal na nivoju RS232, ker ga najbolje poznam.
Kako je pa z ISP komunikacijo? _________________ www.malix.si |
|
Nazaj na vrh |
|
 |
fluffy111 Član


Pridružen-a: Sob 13 Dec 2008 21:44 Prispevkov: 351 Aktiv.: 1.75 Kraj: Ptuj
|
Objavljeno: Ned Jul 12, 2009 10:02 pm Naslov sporočila: |
|
|
Glede RS232 ti ne morem pomagat. Lahko pa ti pomagam glede povezovanja mikrokrmilnikov.
ISP (misliš vrjetno kot In System Programming)
Jaz tega ne bi delal.
Če imaš preveč portov prostih, lahko izdelaš 8-bit povezavo (uporabiš 8 portov na obeh mikrokrmilnikih in pošiljaš različne signale v binarni kodi). Lahko pa uporabiš podobno zadevo, kot je komunikacija USB naprave s PC. Pri tej varjanti ti minimalno znanje programiranja ne bo zadostovalo. Jaz osebno bi to izvedel s pomočjo timer-ja, da bi lahko štel in pošiljal impulze. Odločitev si izberi sam.
Moje osebno mnenje je, da se bi kar držal master-slave varjante.
Lp, Fluffy |
|
Nazaj na vrh |
|
 |
Waldo Član

Pridružen-a: Pet 02 Nov 2007 10:50 Prispevkov: 316 Aktiv.: 1.47 Kraj: Maribor
|
Objavljeno: Ned Jul 12, 2009 11:23 pm Naslov sporočila: |
|
|
Ravno za take primere sta namenjena SPI ali I2C. Nekateri mikrokontrolerji imajo vmesnike že vgrajene. |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70899.37
|
Objavljeno: Ned Jul 12, 2009 11:32 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
damo123 Član

Pridružen-a: Pon 14 Avg 2006 2:22 Prispevkov: 64 Aktiv.: 0.28 Kraj: Nazarje
|
Objavljeno: Ned Jul 12, 2009 11:36 pm Naslov sporočila: |
|
|
Verjetno si namesto ISP mislil reči SPI
kakor zastopim tvojo nalogo, da imaš več uK (mikro kontroler) kateri komucirajo vsak z vsakim.
Jaz bi se naloge lotil tako, da bi uporabil neko vodilo serijsko ali paralelno ter prekinitev in signal za zasedenost vodila.
Vsakemu uK bi dal svoj naslov
uK, ki bi želel neko komunikacijo bi sprožil prekinitev
ostali bi ob prekinitvi začeli poslušati vodilo
uK ki je sprožil prekinitev bi po vodilu poslal naslov uK s katerim želi komunicirati
uK katerega kliče uK, ki je sprožil prekinitev dvigne signal na vodilu za zasedenost vodila
vsi ostali uK katerih naslov ni pravilen bi se ob signalu za zasedenost vodila vrnili nazaj na svoje delo
uK kateri je sprožil prekinitev pa ve, da se mu je klicani uK odzval, ko je dal signal za zasedenost vodila
na vodilo pošle zahtevo ter si uK izmenjata podatke
ko je komunikacija končana spet klicani uK sprosti signal za zasedenost vodila in vsak naprej dela svoje delo dokler spet nekdo ne dvigna signala za prekinitev.
HM upam da je komu kaj jasno kaj sem mislil povedati
jaz bi uporabil verjetno I2C vodilo za zelo kratke povezave (na isti tiskanini)
za daljše razdalje RS232
za zelo dolge povezave pa RS485 |
|
Nazaj na vrh |
|
 |
bolha95 Član


Pridružen-a: Pet 14 Dec 2007 21:33 Prispevkov: 296 Aktiv.: 1.39 Kraj: Križe / Tržič
|
Objavljeno: Pon Jul 13, 2009 8:28 am Naslov sporočila: |
|
|
Jaz sem pred leti naredil vezje s tremi procesorji motorola 68HC11 povezanimi preko SPI vodila. Eden je bil master, druga dva pa sta bila slave, ki sem ju izbiral s pomočjo signala CS(chip select). Zadeva je čisto v redu delovala. Zadeve pri AVR procesorjih ne poznam, mislim pa da bi morala ravno tako delovati. _________________ LP,
Robi
Kjer se znanje konča, se domišljija začne |
|
Nazaj na vrh |
|
 |
rudiP Član

Pridružen-a: Tor 07 Avg 2007 15:30 Prispevkov: 1234 Aktiv.: 5.68 Kraj: KOPER
|
Objavljeno: Pon Jul 13, 2009 9:38 am Naslov sporočila: |
|
|
Nisi povedal na kako razdaljo boš povezal te enote med seboj. Ne vem zakaj ne razmišljaš o Lan povezavi. Kablarija je sedaj praktično povsod, pa tudi moduli za povezavo mikrokrmilnik Lan so že zelo poceni in kvalitetni. Sam uporabljam IIM7010 v omrežju z več kot 1600 pcji in dela že več let brez napake. Mogoče napiši z katerimi mikrokrmilniki delaš in v katerem jeziku programiraš. _________________ Lep pozdrav iz Kopra Rudi |
|
Nazaj na vrh |
|
 |
janiP Član

Pridružen-a: Čet 23 Okt 2008 23:00 Prispevkov: 145 Aktiv.: 0.72 Kraj: Ljubljana
|
Objavljeno: Pon Jul 13, 2009 9:47 am Naslov sporočila: |
|
|
Sam veliko uporabljam CAN in njegovo nadgradnjo CANOpen. Ko enkrat stvar obvladaš, si praktično neomejen. Več si lahko prebereš v tej temi. |
|
Nazaj na vrh |
|
 |
zcetrt Član


Pridružen-a: Tor 13 Dec 2005 11:29 Prispevkov: 275 Aktiv.: 1.16 Kraj: Ljubljana
|
Objavljeno: Pon Jul 13, 2009 10:21 am Naslov sporočila: |
|
|
Enega gospodarja in pet sužnjev sem povezal preko i2c vodila, da bi se izognil prepogostim interruptom pa ima vsak slave še eno linijo, s katero pove, da bi rad nekaj povedal (dvigne rokico in počaka, da ga gospodar pokliče). Če ima gospodar komu kaj za povedat, ga pa interrupta.
Zadeva mi funkcionira zelo dobro, povezave pa niso znotraj vezja ampak na razdalji recimo 30 cm med samimi tiskaninami. Zato pa je izbrana počasnejša varianta prenosa i2c. _________________ 4. |
|
Nazaj na vrh |
|
 |
tiger Član

Pridružen-a: Čet 05 Feb 2004 0:22 Prispevkov: 1161 Aktiv.: 4.91
|
Objavljeno: Pon Jul 13, 2009 3:03 pm Naslov sporočila: |
|
|
Hi
Pred leti sem počel nekaj podobnega. Komunikacija med dvemi procesorji, kjer sem uporabil paralerno komunikacijo, ker za serijsko ni bilo dovolj časa. Uporabil sem 8 bitno komunikacijo plus en pin za CS. Če bi imel 4 procesorje bi rabil na masterju 8 pinov+3 pine za CS. Lahko se uporabi tudi 4 bitno (4+4) komunikacija kot je na LCD displejih, kar pa malo upočasni komunikacijo vendar se pridobi na vsakem procesorju 4 pine.
LP |
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3356 Aktiv.: 14.18 Kraj: Dragomer
|
Objavljeno: Pon Jul 13, 2009 5:35 pm Naslov sporočila: RS485 |
|
|
Jaz imam nekaj mikroprocesorjev, mešano, AVR pa tudi atmel89c4051 povezanih v mrežo z max485 ali ekvivalenti. Dela.
Seveda RS485 nima protokola, pa sem si zaraci čim večje enostavnosti izmislil svojega z fiksno hitrostjo in dolžino paketa.
Mislim, da imam kakih 8 napravic po hiši povezanih s tem. Je pa sistem odprt, in lahko vedno dodam kakšno napravo zraven, če je potrebno.
Ni pa primerno za velike prenose podatkov, in velike hitrosti.
Gre pač za ukaze in odgovore na povpratševanja.
Programirano v Bascomu. _________________ Nihče ni za vojno in vsi so za mir,
vsi so za bratstvo, nihče za prepir.
Od same ljubezni vsak čas na granatah
bo vtisnjeno geslo: "Darilo za brata"
Janez Menart |
|
Nazaj na vrh |
|
 |
tiger Član

Pridružen-a: Čet 05 Feb 2004 0:22 Prispevkov: 1161 Aktiv.: 4.91
|
Objavljeno: Pon Jul 13, 2009 5:39 pm Naslov sporočila: |
|
|
Hi
MaLi-x, ali bodo procesorji na eni plošči ali bodo odaljeni za... ?
LP |
|
Nazaj na vrh |
|
 |
MaLi-X Član


Pridružen-a: Pet 04 Feb 2005 10:34 Prispevkov: 56 Aktiv.: 0.24
|
Objavljeno: Pon Jul 13, 2009 6:07 pm Naslov sporočila: |
|
|
Uh zelo sem presenečen glede odziva.
Po vsej verjetnosti bom delal z AVR-ji, ker bo večinoma šlo za ON/OFF naprave in merjenje temperature z DS1820 in še drugi ON/OFF senzorji.
Sistem bo podoben hišni avtomatizaciji, tako da lahko govorim o kar dolgih razdaljah. Vsaj med tremi sobami ali tudi več.
Načeloma bo sistem Gospodar / Suženj.
Sužnji si bodo med seboj pošiljali informacije (npr. da je na uC 1 senzor za zunanjo svetlobo, motor za žaluzije bo pa na uC 2.) Ta dva se bosta zmenila med seboj. Gospodar bo zgolj prestregel informacijo in jo arhiviral in posredoval na PC. Gospodar bo vez med PC-jem in mrežo. Tako da boš lahko tudi na PC-ju dal zahtevo za žaluzije.
Nekaj sem bral da podobno zadevo omogoča X10 protokol. Nisem pa se podrobneje spuščal v to.
Pred leti sem nekaj delal z RS485. Tukaj mi je šlo na živce predvsem to da je moral gospodar vedno vsakega posebej povprašati ali imaš kaj za povedati. Suženj se nikoli ni smel sam javiti.
rudiP je napisal/a: |
Ne vem zakaj ne razmišljaš o Lan povezavi. Kablarija je sedaj praktično povsod, pa tudi moduli za povezavo mikrokrmilnik Lan so že zelo poceni in kvalitetni. Sam uporabljam IIM7010 v omrežju z več kot 1600 pcji in dela že več let brez napake. |
Tudi sam sem zelo zainteresiran za LAN.
Predvsem sem gledal module Serial to TCP/IP.
Samo še vedno moram na nekak način povezati krmilnike med seboj.
Ali vsak krmilnik povežem na svoj in router "z 1600 vhodi" _________________ www.malix.si |
|
Nazaj na vrh |
|
 |
igor_k Član

Pridružen-a: Pon 19 Jul 2004 11:44 Prispevkov: 1011 Aktiv.: 4.27 Kraj: Rače
|
Objavljeno: Pon Jul 13, 2009 7:15 pm Naslov sporočila: |
|
|
Za to kar si ti opisal je LAN nepotreben strošek. RS485, poceni in zanesljivo, sistem master-slave pa ni potreben.
Vsak je lahko gospodar, ko pošilja ukaze in suženj ko sprejema podatke. Vse skupaj je samo odvisno od programa (tvojega znanja). |
|
Nazaj na vrh |
|
 |
rudiP Član

Pridružen-a: Tor 07 Avg 2007 15:30 Prispevkov: 1234 Aktiv.: 5.68 Kraj: KOPER
|
Objavljeno: Pon Jul 13, 2009 9:46 pm Naslov sporočila: |
|
|
Še zmeraj pričakujem podatek z kakšnim mikroprocesorjem delaš in v kakšnem jeziku programiraš. Le tako ti lahko kaj več svetujemo. _________________ Lep pozdrav iz Kopra Rudi |
|
Nazaj na vrh |
|
 |
|
|
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: 485 dni
Powered by phpBB © 2001, 2005 phpBB Group
|