Implementace protokolu pro RS-485?

Draček Fráček dracek.fracek na gmail.com
Neděle Červen 13 22:32:55 CEST 2010


Dobry den,
se zajmem jsem  si precetl  zdejsi diskuzi o mereni teplot v mistnosti a
pouziti DS18B20, velmi me to zaujalo a protoze zrovna pronikam do taju MCU
rozhodl jsem se spachat
nejakou takovou merici sit po nasem dome.

Jako nejvhodnejsi sbernici pro komunikaci mezi MCU jsem vybral RS-485 ,
nevim zda je to dobra volba, ale asi tak maximum toho co jsem schopen
zvladnout.
Pokud jde o procesory, tak jsem podedil cca 100ks MCU rady Intel x52
(vyrobce Cygna) a rad bych je pouzil.

Pro komunikaci po RS-485 je treba implementovat do MCU a ridiciho PC nejaky
protocol, hledal jsem neco pouzitelneho na internetu a narazil na SNAP
http://www.hth.com/snap/ . Myslite, ze jde o rozumnou volbu nebo byste
doporucili jiny protocol?

A predevsim, s MCU teprve zacinam a programovani pro male MCU je trochem
neco jineho nez pro PC a to i kdyz se oboji pise v C. Prikladem budiz ma
dnesni snaha o napsani CRC-8 funkce, napsani funkce + predprepoctene matice
5minut,  vyvraceni domenky, kdyz prekladac uvidi klicove slovo const umisti
automaticky tabulku do pameti program 2 hodiny, tolik mi trvalo nez jsme
zjistil, ze kyzeneho dosahnu az slovem code :-)
Jelikoz jsme nikdy komunikacni vrstvu pro MCU nepsal, nevim jak na to
respektive, ktery postup je nejlepsi, ve svem okoli bohuzel nemam koho se
zeptat a ma snaha najit vzorovy projet z ktereho bych neco takoveho vycetl
take nikam nevedla, ze bych nasel na toto tena knihu takrka vylucuji.
Chci se proto zeptat vas jako odborniku jak se takova vec resi?

Na predstava.
Komunikace je asynchronni, je tedy nutne ji v MCU zpracovavat v preruseni.
V preruseni se vyhodnoti zda je prijaty byte byten synchronizacnim pokud
ano, tak se zjisti zda druhy byte odpovida adrese daneho MCU, pokud ano tak
se tyto dva a vsechny nasledujci prijate byty nacpou do fronty v XRAM.
Nasledne se overi zda jsou data autenticka (CRC-16), pokud ano muze dalsi
funkce felegram vyhodnotit.
Nebo je to cele bldost a dela se to jinak?

Vysilani nevim zda resit take pres frontu v XRAM nebo felegram seskladat
primo ve vysilaci funkci treba pomoci printf?

Poradite mi nekdo?

Budu zavazan

Martin
------------- dal?í ?ást ---------------
HTML p?íloha byla odstran?na...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20100613/fd16d5c3/attachment.htm>


More information about the Hw-list mailing list