Witam wszystkich. Chciałbym przedstawić tutaj moją działającą modyfikacje chińskiego KVM ze złączem DVI. Do napisania tego postu pchnęło mnie to że w Internecie nie mogłem znaleźć jasno napisanego rozwiązania pewnej „upierdliwej cechy” używania KVM w pewnych konkretnych zastosowaniach. Mianowicie używam dwóch komputerów i dwóch monitorów ale KVM ma przełączać tylko jeden monitor (pomijam kwestie klawiatury i myszy bo jest chyba jasna) i tu pojawia się pewien problem ustawiam sobie okna na moim dwu monitorowym obszarze pracy. Tak bym mógł mieć jakiś arkusz z danymi na nie przełączalnym monitorze a na drugim przeglądarkę, radio i inne. W tym czasie przełączam KVM by pracować na drugim komputerze ale by mieć widok na arkusz dany z pierwszego komputera na nieprzełączalnym monitorze… i tu problem. Ponieważ system stwierdził że jeden z monitorów został odpięty i wszystkie okna upcha na jednym monitorze (i jak zwykle to co nas interesuje jest zasłonięte).
Rozwiązaniem tego problemu jest zakup emulatora EDID. Na złącze DVI to koszt około 50zł z chin. Wystarczy go podpiąć szeregowo w złącze w komputerze i cały czas będzie mówił że jakiś monitor jest podpięty, potem ustawić rozdzielczości i chyba po problemie ale nie wiem nie kupiłem. Nie kupiłem ponieważ poszukałem i poczytałem jak to ma działać i za jedną eepromke 24C02… no nie dam.
Więc do rzeczy, w monitorze znajduje się pamięć z która komunikujemy się przy pomocy magistrali I2C i protokołu DDC. Służy to do tego żeby komputer mógł wymienić informacje z monitorem w jakich trybach graficznych monitor pracuje i ewentualnie ustawić jakieś parametry wyświetlania na monitorze (spotkałem też monitory w których można w ten sposób wchodzić do menu monitora). Mnie interesuje pamięć z parametrami monitora służąca do jego identyfikacji i ustawienia trybu wyświetlania, nazywa się ona EDID. Po sprawdzeniu płyty głównej jakiegoś martwego monitora znalazłem na niej kostkę pamięci 24c02, była ona podłączona prawie bezpośrednio do złącza sygnału (akurat tu VGA). Odczytałem ją i faktycznie jest tam 128 bajtów zgodnych z standardem EDID. Więc już wiem jak to zrobię. Dodam jeszcze że w monitorze dla każdego złącza jest inny eeprom, zasilany przez diodę ze złącza sygnału, więc nawet wyłączony monitor może się przedstawić. By go odczytać rozciąłem kabel i podłączyłem go do programatora.
Dla VGA:
9 – VCC
10 -- GND
12 – SDA
15 – SCL
Dla DVI
6 – SCL
7 – SDA
14 – VCC
15 – GND
Dla osób chcących zgłębić temat tego standardu danych odsyłam do pdf z dokładnym opisem każdego bita w tej pamięci:
https://glenwing.github.io/docs/VESA-EEDID-A2.pdf
Oraz dołączam dwa wsady z pamięci mojego monitora dla porównania:
W internecie jest wiele dekoderów tego typu wsadów.
Wsad z wejścia DVI skopiowałem na jakąś kostkę 24C02 pozyskaną z elektrozłomu i podłączyłem do wyjścia KVM chcąc zobaczyć czy zasymuluje to monitor. I ku mojemu zaskoczeni nic się nie stało.
Po pierwsze znalazłem kilka schematów i opisów w internecie które okazały się błędne po drugie w złączu DVI znajduje się jeden pin który nazywa się “Hot plug detect” (pin 16 HPD). Do pinu podłączyłem rezystor 1k (R4) do zasilania i monitor ruszył.
Po rozebraniu KVM znalazłem przełączniki do których sygnał z monitorów jest kierowany, są to 3 układy SGM3157, wylutowałem je i podłączyłem tam swój układ. Załączam schemat bo zdjęcia są wykonane przed pierwszym uruchomieniem i jest tam pomylony SDA z SCL, również na płytce nie przewidziałem rezystorów do HPD i są na zdjęciu na pająka (opisy na zdjęciach są już prawidłowe). Dodałem tam jeszcze zworkę R3 by ułatwić sobie programowanie (później). Płytka jest podwójna ponieważ można w ten sposób emulować oba wejścia (teoretycznie mogłbym jeden połączyć z wyjściem monitora, ale zrobiłem tak).
Jeżeli ktoś ma potrzebę użycia KVM DIV w podobny sposób jak ja to polecam zakup tego chińskiego urządzenia i praktycznie żadnym kosztem przerobienie sobie na dużo droższą wersję bez konieczności kupowania emulatora. Sądze że rozwiązanie zadziała równierz na HDMI i VGA (bez pinu HPD) dla DP nie analizowałem rozwiązania.
Jeśli kogoś interesują koszty:
KVM DVI 125zl z chin
24C02 rezystory i kondensator 5zl
Czas: jedno popołudnie
Fajne? Ranking DIY
