<html><head></head><body>Bitovou synchronizaci zajistuji Clock Data Recovery (CDR) obvody. Da se udelat i softwarove podle app note od Xilinxu, ale je to celkem na dlouhe badani. Lepsi bude podle me vyuzit transceivery v FPGA, ktere zajistuji obnoveni hodin sami a i sami urcuji jednotlive ramce. Jestli si dobre pamatuji, tak jsou 16 bitove, tak zbyvajici bity nad temi 12 bitovymi vyuzit na ovladani synchronizace. Pripadne na to jsou obvody od National a dalsich<br>
<br>
<a href="http://www.national.com/en/interface/serdes.html#IntroducingChannelLinkIIChannelLinkIII">http://www.national.com/en/interface/serdes.html#IntroducingChannelLinkIIChannelLinkIII</a><br>
<br>
Osobni zkusenost mam jen s tou softwarovou CDR od Xilinxu na 155Mbps bez synchronizace ramcu, nebyla potreba.<br>
<br>
Tosa<br>
<br>
<br>
<br>
<br><br><div class="gmail_quote">"balu@home" <daniel.valuch@orange.fr> napsal(a):<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre style="white-space: pre-wrap; word-wrap:break-word; font-family: sans-serif">rozmyslam nad implementaciou jedneho problemu. Potreboval by som <br />prenasat data z AD prevodnika, asi najskor 12 bitove slova, tusim tam je <br />16 kanalov, par desiatok ksps na kanal. Celkovy datovy tok do 100Mbps, <br />prenos po jednom drate, resp. optickom kabli.<br /><br />Primitivny problem, ale ked sa zamyslim nad detailami tak je tam par <br />otazok :-)<br /><br />Ide o jednosmerny prenost bez akehokolvek handshake, t.j. linka by sa <br />mala vediet sama zasynchronizovat a obnovit po preruseni media.<br />Ak by som implementoval prenos na sposob uart tak by bol asi <br />najjednoduchsi. Neviem si ale predstavit synchronizaciu na zaciatok <br />packetu efektivnejsie ako ze sa vysle vela nul ("start bit" o dlzke min. <br />jedneho paketu) cim sa mi samozrejme znizi prenosova rychlost.<br />Ako sa to potom prijima? Posuvny register pozera ci je plny nul a na <br />prvu zmenu sa
zasynchronizuje?<br /><br />Velmi atraktivna varianta je pouzit 16b20b kodovanie, Xilinx dokonca <br />ponuka na stiahnutie koder aj dekoder. Otazka ale zostava, ako seriovy <br />prijimac vie kedy sa mu zacina packet? Pozera sa v posuvnom registri ci <br />tam najde comma character?<br />Ako sa z toho signalu zrekonstruuju hodiny ktore vzorkuju vstup? Na <br />oboch stranach bude rovnaky krystalovy oscilator ale faza je samozrejme <br />nedefinovana takze sa musi "nejak" zasynchronizovat.<br /><br />Ku prevodniku je nalepene male cpld ktore by to malo zvladnut poslat.<br /><br />Najjednoduchsie riesenie je pouzit dve vlakna a obdobu spi, ale ak by sa <br />to dalo vyriesit jednym za menej ako 2-3 tyzdne kodovania bolo by to <br />samozrejme efektivnejsie.<br /><br />dik za nazory,<br />b.<br /><hr /><br />HW-list mailing list - sponsored by <a href="http://www.HW.cz">www.HW.cz</a><br />Hw-list@list.hw.cz<br /><a
href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a></pre></blockquote></div></body></html>