Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Bohumil Nováček Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"></td><td align=right valign="middle"></td></tr></table><BR><pre>Ahoj,

  no v podstatě tam cosi jako softwarová PLL je.
Princip je velmi jednoduchý. Mám krystal 40MHz. Potřebuju 17 a pár
<img src="BODY_IMAGES_WRAP_GIF"> drobných, přesně (227/512)*40MHz.
Tak pro zvýšení přesnosti zdvojnásobím 40 na 80MHz, tedy získám periodu 
<img src="BODY_IMAGES_WRAP_GIF">12,5ns.

Teď řeknu něco jako simsalabim ...

Vezmu 10bitový čítač a každých 12,5ns k němu připočtu 227. Nejvyšší 
<img src="BODY_IMAGES_WRAP_GIF">bit čítače má ejhle přesně
požadovanou frekvenci ! ;-) Pravda taky jitter (občas přijde hrana o chvilku 
<img src="BODY_IMAGES_WRAP_GIF">dřív, chvilku později),
ale ten má chybu jen +- polovina periody hodin, tedy 6,25ns, to si můžu
<img src="BODY_IMAGES_WRAP_GIF">dovolit.

No hodiny by byly, teď jen stačí s příchodem řádkové synchronizace
<img src="BODY_IMAGES_WRAP_GIF">(ošetřené proti zákmitům) vynulovat
(respektive nastavit na konkrétní hodnotu - ta bude určovat offset dat proti 
<img src="BODY_IMAGES_WRAP_GIF">hraně synchronizace) ten 10bitový
čítač. No to přidá další chybu +-6.25ns, celkem je tedy chyba
<img src="BODY_IMAGES_WRAP_GIF">synchronizace +-12,5ns. To je na začátku
řádku pak se připočítává odchylka krystalů jak v konvertoru tak
<img src="BODY_IMAGES_WRAP_GIF">sharpíkovi od referenčních hodnoty, pokud
mají max. chybu 50ppm a shodou okolností jdou každý jiným směrem, tak je
<img src="BODY_IMAGES_WRAP_GIF">to vůči sobě max. 100ppm,
tedy odchylka 0,01%, to dělá po nějakých 55us obrazových dat 5,5ns.

Celkem tedy chyba vygenerovaných hodin vůči datům je max. +-18ns.
Délka jednoho pixelu pro rozlišení 640x200 je cca 56ns, tedy ještě 20ns
<img src="BODY_IMAGES_WRAP_GIF">rezerva,
jen správně nastavit hodnotu offsetu čítače při synchronizaci.
A stačil k tomu jediný 10bitový čítač.

Safra a know-how je venku, teď už žádný scandoubler nebude potřebovat
<img src="BODY_IMAGES_WRAP_GIF">pixel-clock :-)

Hough, jdu zaujmout vertikální polohu,
dobrou noc a přeju stabilní hodiny
B.N.

<span class="replyquote1">&gt; ------------ Původní zpráva ------------
&gt; Od: Michal Hučík (sharpemu@pandora.cz) &lt;ordoz@[doména skryta]&gt;
&gt; Předmět: Re: Další vga konvertor, s ukládáním  na SD kartu
&gt; Datum: 15.7.2012 23:29:47
&gt; ----------------------------------------
&gt; 
&gt; 
&gt; Ahoj, to je super!
&gt; 
&gt; Podle popisu predpokladam, ze do toho nesypes pixel clock ze Sharpa. Ja 
&gt; jsem take zkousel udelat vlastni nezavisly scaner vsech RGBI, Hs, VS 
&gt; signalu, ale nejak mi ten vysledny obraz vzdycky plaval. Pak tu byla 
&gt; jeste zminena moznost vynaslobit pomoci PLL signal hsync, ale to myslim 
&gt; nakonec nikdo nezkusil a vsechny zde vyrobene scandoublery sly cestou 
&gt; synchronizace s Sharpackym 17MHz oscilatorem.
&gt; Tak jsem docela napnuty, abych se dozvedel, jak jsi se s tim scanerem 
&gt; vyporadal v tom svem reseni :)
&gt; 
&gt; Michal
&gt; 
&gt; Dne 15.7.2012 14:49, Bohumil Nováček (sharpemu@pandora.cz) napsal(a):
</span><span class="replyquote2">&gt; &gt; Zdravím vespolek,
&gt; &gt;
&gt; &gt;    aby scandoublerům nebyl konec, tady je moje verze pro MZ-800:
&gt; &gt; Hlavní rozdíl jse asi v tom, že se připojuje pouze přes 8-kolík na
<img src="BODY_IMAGES_WRAP_GIF">zadní
</span><span class="replyquote1">&gt; straně sharpíka, žádné
</span><span class="replyquote2">&gt; &gt; zásahy dovnitř. A po stisku tlačítka se uloží aktualní scan jako
<img src="BODY_IMAGES_WRAP_GIF">bitmapa na
</span><span class="replyquote1">&gt; mircoSD kartu :-)
</span><span class="replyquote2">&gt; &gt;
&gt; &gt; Vstup: RGBI miniDIN 8pinů (propojovací kabel je redukce z DIN na
<img src="BODY_IMAGES_WRAP_GIF">miniDIN)
&gt; &gt; Vstup2: bitmapa z microSD (uvítací obrázek při startu nebo při
<img src="BODY_IMAGES_WRAP_GIF">ztrátě
</span><span class="replyquote1">&gt; synchronizace)
</span><span class="replyquote2">&gt; &gt; Výstup: SVGA 800x600/60Hz (aktivních jen 800x564, 18 řádků nahoře a
<img src="BODY_IMAGES_WRAP_GIF">dole je
</span><span class="replyquote1">&gt; černých, 640x400 grafika, ostatní border)
</span><span class="replyquote2">&gt; &gt; Výstup2: po stisku tlačítka do 4bitové BMP velikosti 800x564 na kartu
<img src="BODY_IMAGES_WRAP_GIF">microSD
</span><span class="replyquote1">&gt; (nebo SDHC)
</span><span class="replyquote2">&gt; &gt; Napájí se z 5V (mini-b USB konektor).
&gt; &gt;
&gt; &gt; Osazení: CPLD - Altera 5M240, paměť 256Kx16, ARM (LPC11U24)
&gt; &gt;
&gt; &gt; Podklady kdyžtak někam časem hodím na web, kdyby si to chtěl někdo
<img src="BODY_IMAGES_WRAP_GIF">postavit.
&gt; &gt;
&gt; &gt; Hezký den
&gt; &gt; B.N.
&gt; &gt;
&gt; &gt; ---
</span><span class="replyquote1">&gt; 
&gt; 
&gt; 
&gt; ---
&gt; 
&gt; 
&gt; 
</pre>