VGA to HDMI scaler

      21.1.2022 Pomalu začínám pokukovat po novém 4k monitoru a časem bych rád nějaký kvalitní koupil. Bohužel zjišťuju, že z nich už téměř vymizelo klasické analogové VGA (resp. DVI-I) rozhraní pro připojení starších PC. Např. na Alze jsou k dispozici pouze 2 takové monitory nižší třídy. U NECu ani EIZO jsem nic takového nenašel, vše pouze s DP a HDMI vstupy. Začal jsem se tedy zajímat o různé konvertory a scalery, přes které by šlo VGA připojit k HDMI vstupu. BTW na Windows XP je možné rozchodit 4k rozlišení, ale zkryplené ovladače karet nVidia jsou na DP výstupu limitované přenosovou rychlostí HBR1 (8,64 Gb/s), přestože např. moje karta GTX 670 podporuje max. rozlišení DP 1.2: 4096 x 2160 @60 Hz (HBR2), HDMI 1.4a: 3840 x 2160 @30 Hz, DVI-D: 2560 x 1600. Z omezené šířky pásma pak plyne, že v rozlišení 3840 x 2160 je možné dosáhnout max. 30 Hz.
      Na trhu existuje celá škála řešení od levných redukcí za pár stovek po sofistikované scalery s drahými FPGA čipy, jako např. OSSC (Open Source Scan Converter) a Framemeister. Ty levné redukce, založené např. na jednočipovém řešení Macro Silicon MS9288A obsahují pouze A/D převodník a HDMI (TMDS) transmitter bez bloku scaleru, mají často problémy s nižšími rozlišeními, např. nefunguje základní VGA textový režim 720 x 400 @70 Hz. Na VOGONS fóru jsem našel obsáhlé vlákno shrnující zkušenosti i fotky od uživatelů s různými konvertory.
      Napadlo mě, že by se něco takového dalo levně zbastlit s využitím řídicí desky ze starého LCD monitoru. Ta obsahuje skoro vše potřebné - tedy A/D převodník a scaler s LVDS výstupem na LCD panel (včetně možnosti nastavení přes OSD). Zbývá tedy doplnit převodník z LVDS na HDMI. Z šuplíkových zásob jsem vyhrabal řídicí desku z LCD monitoru BenQ FP73G (17" 1280 x 1024) s VGA a DVI vstupy založenou na čipu Realtek RTD2523B a MCU MYSON MTV512GMG s 8051 jádrem. Desku lze koupit i novou jako náhradní díl za 390 Kč. Nenašel jsem schéma zapojení přímo této desky, ale předpokládám, že je dost podobná desce z LCD monitoru FP92W (taktéž s RTD2523B). Podařilo se mi identifikovat skoro všechny piny napájecího konektoru J5 (deska potřebuje pouze 3,3V napájení, 5 V jde pouze rovnou do LCD), tlačítkového konektoru J4 a displejového konektoru J7. Bohužel už nemám původní LCD panel (nebo byl rozbitý), takže desku nemůžu vyzkoušet.
      Možností převodu z LVDS na HDMI je více. Nejprve jsem hledal u Texas Instruments, ale přímý převodník jsem nenašel. Musel bych napřed jedním čipem LVDS převést na paralelní RGB a z něj pak udělat HDMI transmitterem TFP410. Honza mi poradil jednočipové řešení ITE IT6263. Brouka jsem koupil na eBay za 273 Kč a nyní čekám na doručení. Dá se koupit i hotová deska na AliExpressu za 649 Kč. Já jsem si zkusil navrhnout vlastní jednoduchou 4-vrstvou destičku, kterou jsem přifařil do panelizace k JLCPCB. Horší to bude s konfigurací čipu, protože uvedený datasheet obsahuje pouze základní parametry a nikoliv popis registrů. Ten je dostupný pouze na čínském CSDN, z kterého to nikdo u nás neumí stáhnout. Naštěstí jsem objevil zdroják linuxového driveru od NXP pro nějakou desku s iMX8 a tímto čipem, který obsahuje definice registrů a funkce, z kterých to snad půjde vykoukat.

BenQ FP73G LCD interface board with RTD2523B LVDS2HDMI IT6263FN board schematic LVDS2HDMI IT6263FN PCB layout 3D
BenQ FP73G PCB LVDS2HDMI schéma LVDS2HDMI PCB

      1.4.2022 Čip IT6263 mi dorazil z eBay už před 3 týdny, ale plošňáky z JLCPCB po dlouhé prodlevě až teď. Jednu desku jsem osadil, odpor R1 podivné hodnoty 698 Ω jsem musel poskládat z paralelní kombinace 715 Ω a 30 kΩ. Zatím jsem jen otestoval funkci lineárních zdrojů a změřil klidový odběr - cca 100 mA @5 V. Krystalový oscilátor z nějakého důvodu nekmitá. Zkusil jsem tedy vyměnit krystal 27 MHz za jiný, avšak se stejným výsledkem. Možná se musí nějak zapnout nebo je ten čip v háji...

LVDS2HDMI IT6263FN PCB-top LVDS2HDMI IT6263FN PCB-bottom
PCB top PCB bottom

      22.4.2022 V práci mi přistál na stole konvertor sběrnic Bus Pirate 3.6 a tak jsem ho cvičně připojil k destičce. Obvod IT6263 obsahuje 2 samostatné I2C slave zařízení: blok HDMI s pevně danou 7-bitové I2C adresou 4Ch (když je pin PCADR na log. 0) a blok LVDS s plně programovatelnou I2C adresou, která je po zapnutí vypnutá. Aktivuje se zápisem I2C adresy do registru 1Dh (bity 7:1) a nahozením bitu 0 registru 1Eh v HDMI bloku. Blok HDMI má 2 banky registrů, které se přepínají bitem 0 0Fh, přičemž registry 00h - 2Fh jsou společné pro obě banky, zatím co registry 30h - FFh jsou různé pro každou banku. První komunikace s obvodem (HDMI blokem) proběhla úspěšně, jen dostávám trochu jiná data, než bych očekával dle popisu registrů 1.0.

reg.# přečteno význam POR hodnota
00 01 VID-L 00
01 CA VID-H CA
02 13 DID-L 13
03 76 DID/RID 76
04 1C RESETs 1C
05 40 INT/CLK 41
06 00 INT Status 1 XX
07 00 INT Status 2 XX
08 00 INT Status 3 XX
09 FF INT Mask 1 FF
0A FF INT Mask 2 FF
0B FF INT Mask 3 FF
0C 00 INT Clear 1 00
0D 00 INT Clear 2 00
0E 0C System Status XC
0F 00 RegBankSel X0
1D 00 LVDS I2C addr. 00
1E 00 LVDS I2C addr. en. 00

Test redukce GANA VGA2HDMI mini

      16.4.2022 Po delší době jsem zas zašel na pražský blešák U Elektry a v hrabárně náhodou vyhrabal tuto redukci (zřejmě nepoužitou, zatavenou v pytlíčku s návodem). Předem jsem tušil, že low-res režimy zvládat nebude, ale za 50 kaček, no nekupte to. Aspoň se tomu podívám na střeva. Adaptér je založený na čipu Macro Silicon MS9288. Datasheet není k dispozici, ale z blokového schématu je patrné, že obsahuje 3-kanálový 10-bitový A/D převodník s rychlostí 165 MS/s pro analogové RGB video a 24-bitový stereo A/D převodník s rychlostí 48 kS/s pro audio vstup (3,5mm jack), blok konverze barevného prostoru a TMDS transmitér, žádný scaler. Dále je na destičce sériová I2C EEPROM AT24C02N pro EDID a 2 LDO pro výrobu napájecích napětí 1,8 V a 3,3 V.

VGA2HDMI mini adapter VGA2HDMI mini adapter-inside VGA2HDMI mini-PCB top VGA2HDMI mini-PCB bottom
VGA2HDMI mini inside PCB top PCB bottom

      Adaptér jsem připojil k notebooku Compaq Evo N620c a 22" full-HD LCD monitoru LG Flatron W2261V. Samotné HDMI k napájení nestačilo a musel jsem připojit mini-USB kablík. Ale ani za kokot jsem z toho nedostal žádný obraz. Na straně PC byl adaptér správně detekován, ale monitor se přepnul do úsporného režimu, jako když žádný signál nedostává. Vyzkoušel jsem všechna možná rozlišení, místo notebooku připojil PC a místo monitoru televizi, ale prostě nic. Tak jsem zkontroloval napájecí napětí čipu a krystal 24,576 MHz, přičemž jsem zjistil, že nekmitá. Po výměně krystalu adaptér ožil, alespoň ve vyšších rozlišeních 480p a výše. Ověřené funkční rozlišení jsou v tabulce níže. Textový režim (720 x 400), ani grafické režimy VGA 320 x 200 a EGA 640 x 350 nefungují. V případě zmíněného notebooku je situace o něco lepší, protože když je nastaven VGA výstup jako duplicitní k LCD, tak GPU rescaluje všechna nižší rozlišení na 1280 x 1024, což adaptér sežere. Pokud však přepnu výstup pouze na VGA, tak GPU pouští ven původní rozlišení tak jak jsou. Samotná kvalita obrazu je celkem dobrá, bez duchů či rušení. Pro svůj účel se budu snažit nadále rozběhat plnohodnotné řešení se scalerem.

vmode result
320 x 240 OK, monitor hlásí 480p (doublescan)
360 x 240 OK, monitor hlásí 480p (doublescan)
320 x 480 OK, monitor hlásí 480p
640 x 480 OK, monitor hlásí 480p
800 x 600 OK
1024 x 768 OK
1280 x 1024 OK
1400 x 1050 OK
1920 x 1080 OK
320 x 200 nefunguje
640 x 350 nefunguje
640 x 400 nefunguje
720 x 400 nefunguje
1600 x 1200 nefunguje



Zpět

Aktualizováno 27.4.2022 v 6:55