Komunikace procesoru

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
michalekkk

Komunikace procesoru

#1 Příspěvek od michalekkk »

ahoj, mam jeden dotazek ohledne komunikace nekolika procesoru mezi sebou. melo by to fungovat tak, ze jeden bude posilat prikazy a ostatni budou poslouchat, pokud se bude jednat o prikaz pro ne, budou konat. to jen na uvod. predstavu mam, ze komunikace bude probihat tak, ze napr. logicka 1 bude impuls dlouhy 100us, logicka 0 pak bude impuls dlouhy 50us. komunikace bude tak, bude porad vysilana logicka 0, pokus se posle po sobe 9 jednicek, zbystri vsechny procesory a za temito deviti jednickami bude adresovy byte, pote datovy. chtel bych to implementovat na procesory avr, programovat v bascomu. problem je vsak v tom, ze nevim, jak to naprogramovat. respektive by se melo pouzit timeru, ktery by nejspis v intervalu napr 5us zjistoval stav linky a vyhodnocoval tak delku impulsu. resil uz nekdo neco podobneho? dik za tip.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#2 Příspěvek od ZdenekHQ »

Do začátku bude lepší, když použiješ komunikaci přes RS-232 a 9-bitový slovo, přičemž 9. bit řídí komunikaci. 0=data, 1=příkaz . Až ti to bude chodit, přepiš si to, do čeho chceš.

Dál je lepší to celý zabezpečit nějakým protokolem, např. přes CRC apod.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#3 Příspěvek od ZdenekHQ »

Ještě je jedna alternativa, 9.bit=1 je adresa SLAVE, tím ho "probudíš" a ostatní opět "usnou".
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
Crifodo
Příspěvky: 14779
Registrován: 11 říj 2005, 00:00

#4 Příspěvek od Crifodo »

zkus pro inspiraci http://duch.cz/spejbl/ myslím, že autor je ke komunikaci (mailové) ochotný, nebudeš muset vymýšlet vymyšlené.
michalekkk

#5 Příspěvek od michalekkk »

diky za vase reakce...seriova komunikace to byt nemuze, nebot musi byt moznost cteni dat po obu linkach (jak logicka jedna, tak i jeji negace). v podstate jde o to napodobit protokol dcc, ktery pouzivaji vlacky modelove zeleznice.
michalekkk

#6 Příspěvek od michalekkk »

docela me udivuje, ze je tu tolik programatoru a nikdo se nevyjadri, jak by to resil. ta komunikace je popsana tady:
http://www.volny.cz/mtbbus/dcc/dcc-doc.htm
melo by to fungovat obdobne...samozrejme klidne s jinymy casy, jinymy byty, atd... jde mi jen o nazor, jak to resit. uvazoval jsem o timeru, ktery by napr. co 5us zjistoval stav portu (pro jistotu jsem to jeste ted vstahnul na casy, co jsou v tomhle standardu) a inkrementoval nejake promene. pri zmene stavu by pak podle obsahu promene vyhodnotil, zda-li jde o logickou jedna, nebo nula a tak by postupoval s celym paketem. Impletemntace by mela byt na platforme AVR, programovano v bascomu. Mam koupenu posledni verzi, co maj na netu. no ale treba je v implementaci bascomu nejaky prikaz ci jina moznost, jak tohle zpracovavat. bojim se totiz toho, abych stihl vyhodnotit vsechny podminky, kdyz by byl cas preruseni timeru tak kratke.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#7 Příspěvek od ZdenekHQ »

michalekkk píše:docela me udivuje, ze je tu tolik programatoru a nikdo se nevyjadri, jak by to resil.


To asi proto, že si tady nikdo další nehraje s vláčkama. Jsou desítky komunikačních protokolů, každej má výhody a nevýhody, takže si každej musí vybrat, co chce.

Co se týká komunikace, pokud bych se nemusel držet tohoto standartu, tak tam dám převodník RS-232 na RS-485, ta je symetrická a nemusím vymýšlet kodér a dekodér. Použít potom můžu např. standartní protokol MODBUS a klidně to řídit přes nějaký profi uživatelský rozhraní v PC :lol:
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Návštěvník

#8 Příspěvek od Návštěvník »

no a to je presne ta odezva, na kterou jsem cekal...urcite neni podminkou tento protokol, bylo to kvuli inspiraci a vubec neslo o vlacky. dekuji za tip.
michalekkk

#9 Příspěvek od michalekkk »

jen se jeste zeptam, to reseni s tim rs by zajisitlo i napajeni ze stejneho vedeni?
Uživatelský avatar
mikollar
Příspěvky: 1477
Registrován: 26 pro 2004, 00:00
Bydliště: Košice - okolie

#10 Příspěvek od mikollar »

rs 232 ma +-10mA na jeden vodic, dufam ze som sa nesekol
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#11 Příspěvek od ZdenekHQ »

Na straně vysílače to "namoduluješ" na obě koleje (se zdvihem cca +-2V) a na straně přijímače to stejnosměrně oddělíš - pokud je to teda jednosměrná komunikace. Podívej se na katalogovej list SN75176 (stojí pár korun) , je to převodník 232/485.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
michalekkk

#12 Příspěvek od michalekkk »

diky za tip, je to na me dost slozite. jsem zacatecnik. na ten obvod jsem koukal, aji jsem nasel nejaky priklad na netu, takze k jednocipaku bych to asi zapojil a pres nejake prikazy, co posilaji na seriovou linku data bych to mozna rozjel...to zrejem bude podobne jak rs232, ale co se tyka te modulace, byl bych vdecny za nejaky link ohledne teto problematiky. predem diky.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#13 Příspěvek od ZdenekHQ »

Jako začátečník sis vybral "hodně tučný sousto" a já mám zas moc málo informací, co, jak kde čím chceš řídit.

S modulací musíš trošku popřemýšlet a vyzkoušet, já jsem to nikdy neřešil. Šlo by požít např. regulaci zdroje a "modulovat" napájení lokomotiv, nebo transformátory na způsob AM apod...
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
michalekkk

#14 Příspěvek od michalekkk »

no, hned jak jsi to poprve psal, tak se mi to zdalo dost slozite...takze asi nejlepsi bude se drzet toho puvodniho navrhu s sirkou impulsu...je to jednoduche a jde jen o to to dobre naprogramovat...takze se zeptam, jestli napad s timerem, ktery bude vzorkovat prichozi signal je dobra myslenka, nebo je nejake lepsi reseni? diky za diskuzi.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#15 Příspěvek od ZdenekHQ »

Dodatek : Nakonec můžeš použít i tu jejich variantu modulace, já jsem to celý nečetl.

Jenom by mě zajímalo, jak moc je to odolný proti prskání uhlíků,já si tady občas vrtačkou zazvoním na bezdrátovej zvonek...
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“