Stránka 1 z 1

sériový přenos dat

Napsal: 02 zář 2013, 23:18
od Celeron
Potřebuju po 2 drátech přenášet jednosměrně na cca 15 metrů 3 nebo 6 TTL signálů. První, co mě napadlo vzít 2 Atmely na který jsem vybavenej a vstup připojit na paralelní vstup port, převést na sériák, poslat do vzdálenýho a tam udělat zase paralel. Vcelku jednoduchý, jenže... Je potřeba, aby to chodilo s co nejmenším "dopravním zpožděním", no a práve ty dva sériový převody budou něco trvat. Dál nikdo neví, kolik Bd bude 15 m kabelu umět. Každej Bd násobek je cca polovina zpoždění. Takže je otázka, jaký bude zpoždění vstup-výstup a zda to bude kvůli tomu vůbec použitelný.
Má to nějaký řešení? Nebo neexistuje již něco hotovýho s podobnou funkcí? Nějaký jiný nápady?
Díky
Jirka

Napsal: 03 zář 2013, 00:02
od Bernard
Možné řešení by mohlo být na příkladě kódování fyzické vrstvy v síti ISDN, tzv. 2B1Q. Dva paralelní bity (dvoustavové) se transformují do jednoho dibitu (čtyřstavového), dibity se přenášejí vedením a na druhém konci se zas překopají do dvou paralelních bitů. Větší počet paralelních bitů potřebuje vícestavový přenos nebo něco sofistikovaného, jako 4B3T. Potřebné je ovšem vědět, kdy je přijatý stav právě platný, takže se do přenosu musí nacpat i nějaká synchronizace. A to je ten hlavní problém, jehož řešení však zmenšuje časovou režii start-stop metody asynchronního přenosu.

Na 15 m a s použitím RS422 by ses měl dostat na asynchronních 115 kBaud, nestačilo by to?

Napsal: 03 zář 2013, 05:51
od passion
Možno blbosť a stará škola, ale prvé čo ma napadlo pri prenose TTL bolo 74151, 154 a ich odnože. :)
Len čo s adresnými bitmi. Nejako zakódovať do prenosu.

Napsal: 03 zář 2013, 20:37
od tomaw
Záleží na požadované rychlosti a hlavně na výsledné ceně řešení.Třeba tohle je docela dobře fungující záležitost http://www.ti.com/lit/ds/symlink/ds92lv1212a.pdf

Napsal: 03 zář 2013, 20:45
od serviceman
RS422 je na to přesně dělaná.

Napsal: 04 zář 2013, 11:38
od Celeron
Oprav mě, jestli se pletu. RS422 je přece pouze prodloužení dosahu RS232 s možností podstatně zrychlit sériovej přenos na stejnou nebo větší délku. To znamená, že bych stejně musel řešit převod paralel na sériák a na druhý straně sériák na paralel. Akorát by se velkou přenosovou rychlostí RS422 podstatně snížilo zpoždění vstup - výstup.

to bernart: ten Tvůj první odstavec, bohužel nevím, jakou řečí na mě mluvíš. :D

Díky
Jirka

Napsal: 04 zář 2013, 11:50
od petrfilipi
Asi je to blbost, ale nebylo by možné vyměnit dvoudrát za vícedrát (2x UTP kabel)?
Petr Filipi

Napsal: 04 zář 2013, 11:59
od Celeron
petrfilipi píše:Asi je to blbost, ale nebylo by možné vyměnit dvoudrát za vícedrát (2x UTP kabel)?
Petr Filipi
Kdybyto tak šlo, tak je to samozřejmě brnkačka. Jenže to jde zemí pod betonem a do krkačky, co tam je, se už nic dalšího nevejde. Stejně by se muselo řešit posílení TTL signálu třeba přijímačema a vysílačema V24 a pod.
Jirka

Napsal: 04 zář 2013, 12:06
od serviceman
Celeron píše:To znamená, že bych stejně musel řešit převod paralel na sériák a na druhý straně sériák na paralel.
Nikoliv, přijímače 422 jsou adresovatelné, takže každý "telegram" vyšleš na konkrétní adresu.

Napsal: 04 zář 2013, 18:15
od bohumilfulin
no a nebylo by lepsi kdybys rekl do jakeho casu se potrebujes dostat? ono bezpecne 15m prenest data a rs485 se ti jevi pomala? natlac si tam opticke vlakno...

mno misto abys napsal co presne potrebujes, na co a kde mas limity nechas nas tlachat a akorat pohodlene odmitas napady kolegu. Mozna potrebujes ovldat lustr v radu nanosekund. Na to vsichni tady mame jednoznacne reseni
:D

tak jeste jednou a poradne :wink: co sces asi tusime. jaka to je aplikace? kde mas limit krome 2 dratu? 8-)

Napsal: 06 zář 2013, 23:44
od Celeron
Co chci je popsaný v úvodu. Maximální možný zpoždění výstup proti vstupu je 20 mS. Je to dvoudrátový prodloužení několika vývodů regulátoru s SSR spínačema. Pokud bude míň než 20 ms, bude to lepší. Víc než 20 mS regulátor nezvládne. Něco se dá ušetřit ve zkrácení seriovýho slova z 8 na 5 bitů, 1 stop bit a bez parity. A hodně se to zrychlí co největší Baud rate.
A odmítnul jsem pouze rozkopat pár metrů betonu 30 cm tlustýho.
Jirka

Napsal: 07 zář 2013, 11:58
od Bernard
To by mohl vyřešit řetězec
8bit TTL-> MCU-TxD -> SN75176 -> vedení -> SN75176 -> RxD-MCU -> 8bit TTL.
Při rychlosti 9600 Bd se ti za 1 ms přenese celý bajt. Ale pro jistotu by se mohla dát parita a 2 stop bity, takže 1,25 ms na bajt. Rutinka v MCU na obou koncích je na začátečnické úrovni.

Napsal: 07 zář 2013, 23:11
od Celeron
Tu představu jsem měl od začátku akorát jsem nevěděl, co by bylo vhodný mezi TX a RX. Takže RS422 ne ale RS485.
Rutinky jsou jasný, nastavit časovače a sériovou lajnu. Otázka je, zda posílat data opakovaně v časový smyčce a nebo jen při změně některýho bitu na vstupu. Přijímač by pouze čekal na přerušení od sériový lajny, vzal data a poslal je na port. Taky přemejšlím, jestli to dělat na přesný přenosový rychlosti s krystalem 11 a něco MHz, aby se to třeba dalo otestovat v Hyperterminálu, nebo tam dát 12 MHz a udělat si "svoji" přenosovou rychlost. 12 MHz mám hodně.
Jirka