Realizace RS485, způsob propojení 15ks MCU pomocí UTP

Zdravím,
plánuji pomocí RS485 propojit cca 15ks MCU, pro logické úrovně použiji MAX485 (těch může být až 32), jeden procesor bude master, ostatní slave.
teď bych měl pár otázek:
1: Můžu použít klasický stíněný UTP kabel(vzdálenost bude cca 20m)
2: Musí být kabel veden od jednoho MCU k druhýmu v řadě, nebo se může různě rozvětvovat? jde mi o to, když budu potřebovat přidat zařízení, abych nemusel tahat kabel od posledního, ale třeba se v půlce napojit, podle specifikace 485 by to mělo jít.
3: Jak rozpoznat že některý procesor v siti něco potřebuje? Buď se bude master dokola ptát, což mu zabere spoustu času, nebo mně napadlo při použití UTP který má 2x4 drátů použít jeden drát pro signál, tak že by procesor který by něco chtěl, nasadil na chvíli log. 1, poté by se master dokola zeptal jestli někdo neco nepotřebuje.

To je zatím vše, ale určitě v průběhu realizace ještě na něco přijdu.

:arrow_right: administrator: přesunuto z "Elektronika bez mikrokontrolérů, procesorů"

:arrow_right: administrator: přejmenováno z "realizace RS485"

1- ano, využij jeden kroucený pár, ostatní máš volné pro napájení
2- Doporučuji jednoznačně zapojení v řadě, ale na kratších vzdálenostech by mohla chodit i hvězda. Můžou tam ale být odrazy na vedení a pak to jednou jde a jednou ne. Nezapomeň na ukončení sběrnice a na třeba masteru odpory pro klidový stav. Přečti si tohle:

hw.cz/teorie-a-praxe/dokumen … rs422.html

hw.cz/teorie-a-praxe/dokumen … 5-422.html

root.cz/clanky/sbernice-rs-4 … -a-rs-485/

3- třetí drát bych neřešil. Buď se master budu dokola ptát slavů nebo budou všichni master (multimasterová komunikace). Potom před vysíláním do sběrnice každý otestuje stav a když je volno, tak pošle co má, když ne tak počká a zkusí to za chvíli.

klasicky UTP nie je tieneny. Tieneny je FTP :slight_smile:
Ale prakticky na tak malu vzdialenost moze pouzit temer mokry konopny povraz. RS 485 je nesiemrne odolna a huzevnata :slight_smile:
Na ak malu vzdialenost v domacich podmienkach a pri rychlostiach do 19200Bd kludne mozes pouzit lubovolne dva droty , aj s CYKY kablu. Odskusane overene.

Na tak kratkej vzdialenosti a do 19200Bd je to ganz egal (uplne jedno)

Protokolom. Okrem protokolov Master-slave existuju napriklad protokolu token-ring. Pre bezne podmienky je maser-sleva plne vyhovujuci. Ak to chces nejako speci osetrovat, tak nevyuzivaj pridavne kabliky ale mozes rozhodovat nasledovne.

master vyzve nejakeho slave a ten mu odpovie. Potom nastane “drotove ticho” a ak ma niekto nieco povedat tak vysle svoju adresu, co indikuje, ze slave chce aby ho master oslovil. Slave s vyssou adreou moze vyslat svoju poziadavku oneskorene o jeden bajt. Tym sa vyhnes koliziam na linke. Nevyhoda je, ze po komunikacii je treba cakat nejaky cas, ci nahodou niekto nieco nechce.

Skusenost je taka, ze z hladiska vykonu a priepustnosti nehra prakticky velku ulohu ci komunikujes ASCCI protokolom alebo binarym protokolom. Pohodlny na analyzu je samozrejme ASCII - kontrola je mozna z hociktoreho hyperterminaloveho programu. Z hladiska efektivnosti ziskania informacie zo slave sa na 99% aj tak najviac hodi, ze master dookola obchadza slave a zistuje ze co je s nimi. Zareagovat na nejaky podnet o 100ms nehra v praxi ziadnu rolu a protokol je omnoho prehladnejsi. Master je jednak kvoli komunikacii spravy a mastra nezdruzuje komunikacia - iba pri ukonceni prijmu a vysielaniu dalsieho bajtu. To je len zlomok hw komunikacie. Teda ak pouzivas hw uart. Takze mastra komunikacia so slejvmi prakticky vykonovo nezatazuje,

utp ti pobezi i na vetsi vzdalenost nez 20m (tak to provozuji doma). bez problemu staci klasicke 5v max481 na ovladani sbernice. ohledne hvezdy je fakt, ze na kratke vzdalenosti (trebas na zkouseni) hvezda nevadi a ty ukoncovaci odpory nejsou az tak uplne nutne (asi zalezi na konkretni aplikaci). dulezite je spolecne s datama (DATAA, DATAB) tahnout i zem, pokud nebudes mit spolecne napajeni.

Místo řady MAX48x použij řadu 75176. Vzhledem k ceně je naprosto bezkonkurenční. Není tak výkonný a nemá tak dobré ochrany, ale nejen domů to bohatě stačí. Používám je vesměs stále, mimo zařízení, kde je typ MAX48x nebo SIP48x nutný z důvodu špatné výměny nebo kde je funkce naprosto klíčová. Jak psal Michal III, pokud budeš mít různá napájení, propoj ty GND. Když ne, doporučil bych galvanické oddělení sběrnic. V praxi se používá např. DC-DC měnič a optočleny. Pokud použiješ ten jeden pár z kabelu UTP, FTP, SFTP… a ty ostatní pro napájení, máš vystaráno. Předpokládám, že rychlost nebude vyšší než 19200. I když např. u komunikace požárních ústředen se používá skoro nekroucená protipožární dvojlinka (tedy dvě -používá se RS422, tedy Rx a Tx pár) na rychlosti až 62,5kb. Ale tam je sólo modul pro sběrnice.