sériový přenos dat

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

sériový přenos dat

#1 Příspěvek 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

Uživatelský avatar
Bernard
Příspěvky: 3614
Registrován: 27 kvě 2005, 02:00

#2 Příspěvek 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?

Uživatelský avatar
passion
Příspěvky: 890
Registrován: 22 črc 2005, 02:00
Bydliště: Žilina

#3 Příspěvek 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.

Uživatelský avatar
tomaw
Příspěvky: 81
Registrován: 15 led 2010, 01:00

#4 Příspěvek 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

Uživatelský avatar
serviceman
Příspěvky: 4005
Registrován: 09 črc 2013, 02:00

#5 Příspěvek od serviceman »

RS422 je na to přesně dělaná.

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#6 Příspěvek 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
Naposledy upravil(a) Celeron dne 04 zář 2013, 11:54, celkem upraveno 1 x.

petrfilipi
Příspěvky: 2551
Registrován: 13 zář 2005, 02:00

#7 Příspěvek od petrfilipi »

Asi je to blbost, ale nebylo by možné vyměnit dvoudrát za vícedrát (2x UTP kabel)?
Petr Filipi

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#8 Příspěvek 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

Uživatelský avatar
serviceman
Příspěvky: 4005
Registrován: 09 črc 2013, 02:00

#9 Příspěvek 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.

Uživatelský avatar
bohumilfulin
Příspěvky: 109
Registrován: 12 led 2010, 01:00

#10 Příspěvek 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-)

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#11 Příspěvek 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

Uživatelský avatar
Bernard
Příspěvky: 3614
Registrován: 27 kvě 2005, 02:00

#12 Příspěvek 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.

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#13 Příspěvek 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

Odpovědět

Zpět na „Poradna“