Dzisiaj zaglądamy do wnętrza klawiatury bezprzewodowej. Oprócz typowego rozkręcania i zdjęć w tym temacie też podejmiemy próbę odczytania zawartości z pamięci EEPROM znajdującej się na płytce ze środka, co będzie wymagało przygotowania nieco zmienionego adaptera do programatora CH341. Ale od początku.
Klawiatura oczywiście trafiła do mnie z masą innego różnego sprzętu do złomowania, już bez nadajnika USB, więc nie będzie żadnej szkody jak ją destruktywnie zdemontuję. Sam z bezprzewodówki raczej nie korzystam, bo uważam, że szkoda czasu na ładowanie ogniw jak kabelek od klawiatury i tak nie przeszkadza mi na stole.
Model który trafił do mnie to MTS2219-SL-K DT53648 SilverCrest. Z sieci wyczytałem, że w zestawie była też myszka:
Tak wyglądał ten zestaw w czasach świetności:
Komunikacja odbywa się na częstotliwości 2.4GHz.
Odkręcamy śrubki:
W środku nie ma raczej żadnych zaskoczeń. Klawisze, gumki, no i matryce:
Mamy tutaj przyciski które zwierają w różnych kombinacjach wspólne sygnały (powiedzmy, wiersze i kolumny matrycy). To dzięki temu wystarcza tak mało sygnałów by obsłużyć wiele klawiszy, ale minusem tego jest tzw. key rollover problem czyli kłopot wykrycia kilku klawiszy wciśniętych jednocześnie na wspólnych liniach.
Tych gumek może i by kilka się przydało zostawić:
Potencjometr:
No i główne PCB:
Oprócz "czarnej kropki" na pokładzie jest SPRF2400A HV111 wraz z rezonatorem kwarcowym, antenka na PCB oraz pamięć L93C46-SI.
Układ z RF w nazwie to transceiver:
Przykładowa aplikacja:
Odczyt pamięci EEPROM 93C46
Postanowiłem z ciekawości zajrzeć do pamięci znajdującej się na płytce. Mam do tego specjalny programator - CH341, wersja czarna, kupiona oczywiście w Chinach. Po stronie komputera korzystam z Neoprogrammer, wersja:
A więc, najpierw wyszukujemy nasz układ scalony:
Wtedy program w logu wyświetla nam informacje:
Czyli potrzebne jest specjalne podłączenie. Zobaczmy na załączone schematy:
Currently selected: 93C46 8bits [5.0V] 1 Kbits, 128 bytes
!! Adapter required !!
Adapters\CH341\scheme_93Cxx.jpg
Doc\CH341\Programmers\5V_select.jpg
Doc\CH341\Programmers\ch341a_black_3.3v_5.0v_basic_(EN).pdf
Doc\CH341\Adapters\MICROWIRE_ADAPTER_FOR_CH341_(EN).pdf
Schemat określa tu jak możemy podłączyć ORG by wybrać tryb pracy, ale korzystając z gotowego PCB się tym nie przejmowałem, bo pewnie na PCB to jest już w jakiś sposób podłączone.
Wykonałem ten układ w oparciu o klips z zestawu programatora oraz przewody stykowe żeńsko-żeńskie:
Do wyboru są dwa tryby programowania, jeśli wybierzemy źle (w moim przypadku 8 bit nie działało, wynika to z tego jak podłączony jest sygnał ORG - szczegóły są w nocie):
Sukces:
Nie ma dużo informacji w tej pamięci. Poza samymi FF odczytałem: 3E 8E 21 CB 91 3B 08 F8 FF (itd)
Na próbę postanowiłem jeszcze coś wpisać do pamięci, by zweryfikować czy wszystko działa:
Odłączmy programator, wyłączmy program i odczytajmy - czy pamięć pamięta dane?
Wszystko działa.
Podsumowanie
Zasadniczo chyba wyszło ciekawiej niż początkowo się zapowiadało. Otwierając tę klawiaturę nie planowałem próby odczytania pamięci, a jednak się udało.
Teraz tylko pojawia się pytanie, czym jest te kilka bajtów odczytanych z pamięci?
Czy to jest coś w stylu, stan klawiszy num lock, caps lock, itd? Czy może to jest jakiś "identyfikator" klawiatury? A jeśli tak, to czy gdybym przegrał z drugiej sztuki jej identyfikator na tę sztukę, to czy bym mógł obie sparować z jednym odbiornikiem? Tego niestety nie wiem - jeśli ktoś próbował, to dajcie znać. Sam raczej bezprzewodowymi klawiaturami się nie przejmuję, korzystam z "kablowej" i jestem zadowolony.
Fajne? Ranking DIY Pomogłem? Kup mi kawę.