prenos 16 bitovych dat po seriovej linke

Jan Waclawek konfera na efton.sk
Pátek Prosinec 23 12:24:39 CET 2011


> Jednoduchy UART je v podstate kodovani 8/11, 

No to snad zavisi od poctu stopbitov, v najbeznejsom pripade je to dnes 8/10, nie?

> a ani
> tak není schopny se bytove chytit na 100%. Pokud v datech nebudou vetsi
> sekvence jednicek, tak i z neho poleze dost blbosti. 

Kvoli tomuto sa prave pouziva aj break tak ako to Dano spomenul. Implementacia je jednoducha, ide vlastne o ovzorkovanie stopbitu - ak je nulovy, je to break.

> Takze i při dobrem
> kodovani stoji za to se zamyslet nad vhodnym zahlavim bloku zprav, musí v
> podstate nahradit ten signalni ton u nekterych kodovani a zabezpecit obnovu
> bytove synchronizace. 

Kazdy datovy prenos je "zatazeny" ucelom, pre ktory bol vymysleny. Napriklad drviva vacsina synchronnych metod typu Manchester, biphase apod. musi primarne zabezpecit nulovu jednosmernu zlozku resp. nejake konkretne spektrum kvoli prenosovemu mediu - ale to napriklad v Danovom pripade vobec nie je potrebne. Dalej ramcovanie typu HDLC apod. je urcene na zabezpecenie bezchybneho prenosu po linke s urcitou nie zanedbatelnou chybovostou (s oblubou sa pouziva vyraz robustnost), aj za cenu relativnej zlozitosti prijimaca (obvykle realizovanej procesorom) a potencialne dramatickych zmien efektivnej prenosovej rychlosti, co zase tipujem ze v Danovom pripade bude nevyhovujuce. 

Takze bez presnej znalosti problemu je tazke povedat, co je optimalne. Riesenia typu UART su velmi jednoduche na implementaciu, a to aj s tym breakom pripadne so synchronizaciou na vyhradeny znak (vsetko jedna, rozsah prevodnika by sa znizil o jeden bin co moze a nemusi vadit). Toto zabezpeci zasynchronizovanie na zaciatku, neriesia sa tym problemy nasledkom chybovosti kanala (vplyvom jednej bitovej chyby moze nastat chybny prenos dlzky jedneho ci dvoch ramcov, nechce sa mi teraz nad tym prilis rozmyslat ci 1 ci 2 lebo je to principialne jedno); lenze je znova na Danovi posudit, ci to je relevantne ci nie, ja si myslim, ze ano, ale inak by sa to ale muselo zozolozitit o pakarne typu kontrolne sucty a samoopravne kody. To ale plati aj pre synchronne protokoly.

Ak sa vsak pozaduje prisne synchronne rekonstruovany signal na prijimacej strane (t.j. sa tam nespracuvava nejakou "inteligenciou"), tak najjednoduchsie je prenasat separatne hodiny. Ba este lepsie a jednoduchsie je prenasat hodiny spat do ADC (trebars sa do nich da vhodne namixovat nieco na zasynchronizovanie muxu/startu prenosu). Vsetko ine je pakaren s roznymi PLL - to, ze je PLL "digitalne" vobec neznamena, ze je to jednoduchsie alebo lepsie, stale je to pakaren a stale su s tym problemy rozneho druhu, ktore znova treba posudzovat, ci vadia alebo nie. "Namontuju to naopak" sa da a musi riesit organizacne.

wek


Další informace o konferenci Hw-list