Ahoj,
no v podstatě tam cosi jako softwarová PLL je.
Princip je velmi jednoduchý. Mám krystal 40MHz. Potřebuju 17 a pár
drobných, přesně (227/512)*40MHz.
Tak pro zvýšení přesnosti zdvojnásobím 40 na 80MHz, tedy získám periodu
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šší
bit čítače má ejhle přesně
požadovanou frekvenci ! ;-) Pravda taky jitter (občas přijde hrana o chvilku
dřív, chvilku později),
ale ten má chybu jen +- polovina periody hodin, tedy 6,25ns, to si můžu
dovolit.
No hodiny by byly, teď jen stačí s příchodem řádkové synchronizace
(ošetřené proti zákmitům) vynulovat
(respektive nastavit na konkrétní hodnotu - ta bude určovat offset dat proti
hraně synchronizace) ten 10bitový
čítač. No to přidá další chybu +-6.25ns, celkem je tedy chyba
synchronizace +-12,5ns. To je na začátku
řádku pak se připočítává odchylka krystalů jak v konvertoru tak
sharpíkovi od referenčních hodnoty, pokud
mají max. chybu 50ppm a shodou okolností jdou každý jiným směrem, tak je
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
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
pixel-clock :-)
Hough, jdu zaujmout vertikální polohu,
dobrou noc a přeju stabilní hodiny
B.N.
Zobrazit citovaný text (60 řádků)
> ------------ Původní zpráva ------------
> Od: Michal Hučík (sharpemupandora.cz) <ordoz[doména skryta]>
> Předmět: Re: Další vga konvertor, s ukládáním na SD kartu
> Datum: 15.7.2012 23:29:47
> ----------------------------------------
>
>
> Ahoj, to je super!
>
> Podle popisu predpokladam, ze do toho nesypes pixel clock ze Sharpa. Ja
> jsem take zkousel udelat vlastni nezavisly scaner vsech RGBI, Hs, VS
> signalu, ale nejak mi ten vysledny obraz vzdycky plaval. Pak tu byla
> jeste zminena moznost vynaslobit pomoci PLL signal hsync, ale to myslim
> nakonec nikdo nezkusil a vsechny zde vyrobene scandoublery sly cestou
> synchronizace s Sharpackym 17MHz oscilatorem.
> Tak jsem docela napnuty, abych se dozvedel, jak jsi se s tim scanerem
> vyporadal v tom svem reseni :)
>
> Michal
>
> Dne 15.7.2012 14:49, Bohumil Nováček (sharpemupandora.cz) napsal(a):
> > Zdravím vespolek,
> >
> > aby scandoublerům nebyl konec, tady je moje verze pro MZ-800:
> > Hlavní rozdíl jse asi v tom, že se připojuje pouze přes 8-kolík na
zadní
> straně sharpíka, žádné
> > zásahy dovnitř. A po stisku tlačítka se uloží aktualní scan jako
bitmapa na
> mircoSD kartu :-)
> >
> > Vstup: RGBI miniDIN 8pinů (propojovací kabel je redukce z DIN na
miniDIN)
> > Vstup2: bitmapa z microSD (uvítací obrázek při startu nebo při
ztrátě
> synchronizace)
> > Výstup: SVGA 800x600/60Hz (aktivních jen 800x564, 18 řádků nahoře a
dole je
> černých, 640x400 grafika, ostatní border)
> > Výstup2: po stisku tlačítka do 4bitové BMP velikosti 800x564 na kartu
microSD
> (nebo SDHC)
> > Napájí se z 5V (mini-b USB konektor).
> >
> > Osazení: CPLD - Altera 5M240, paměť 256Kx16, ARM (LPC11U24)
> >
> > Podklady kdyžtak někam časem hodím na web, kdyby si to chtěl někdo
postavit.
> >
> > Hezký den
> > B.N.
> >
> > ---
>
>
>
> ---
>
>
>