Patrzyłem na ten schemat dla starej myszy (przed USB):
kiedy zauważyłem, że ma kryształ (Y1). Byłem ciekawy, dlaczego mysz potrzebuje timera? Czy nie byłby w stanie korzystać z zegara z komputera? Również jeśli ma swój własny kryształ, czy nie mógł się zsynchronizować z zegarem procesora?
schematics
crystal
reverse-engineering
Tyler H.
źródło
źródło
Odpowiedzi:
Ta rzecz z MOS 5717 jest najprawdopodobniej mikrokontrolerem lub częścią wykonującą kod. Do uruchomienia potrzebny jest zegar.
Jednak tylko zegar dla mikro nie potrzebuje dokładności kryształu. To prawdopodobnie do komunikacji. USB wymaga dość dokładnego zegara.
Mysz nie musi śledzić w czasie rzeczywistym i nie ma powodu, aby była zsynchronizowana z zegarem procesora. Zegar USB musi być wystarczająco blisko zegara USB hosta, aby komunikacja działała. Czas na temat tego, jak szybko występują zdarzenia myszy lub czas między zdarzeniami myszy jest obsługiwany na hoście. Mysz po prostu wysyła informacje o tym, co się dzieje.
Dodany
Powyższe zostało napisane w odpowiedzi na oryginalne pytanie, w którym nie wspomniano, że ta mysz nie jest USB. Ponieważ prawie wszystkie nowe myszy były USB od dekady lub dłużej, rozsądnie było odpowiedzieć w tym kontekście. Kiedy pytasz o coś niezwykłego, jest to twoje obowiązek uczynić to jasne.
Pomimo braku USB, ta mysz wciąż miała procesor, który wymagał taktowania. Najwyraźniej wykorzystał także pomiar czasu do pomiaru pozycji puli podłączonych do joysticka, o czym OP jeszcze nie wspomniał. Wydaje się teraz, że komentarz supercat jest najbardziej odpowiedni, więc kopiuję go do odpowiedzi:
źródło
MOS 5717 ma sporo samodzielnej pracy, aby stworzyć funkcjonalność myszy z zestawu koderów optycznych.
Opis z arkusza danych podaje, że najlepiej, ponieważ
Zanim ADC mogły swobodnie dodać do dowolnego układu scalonego, interfejs SID wykorzystał czas ładowania / rozładowania utworzony za pomocą potencjometru i kondensatora integracji wejściowej do oszacowania wartości „potencjometru”. 5717 emuluje potencjometr z wyjściami cyfrowymi, kontrolując taktowanie sygnału na liniach POT.
źródło
Obecnie taki oscylator można zobaczyć w wielu urządzeniach elektronicznych. Mikrokontroler wykonuje operację przy każdym tiku. Aby kontrolować i zrozumieć, co robi µC, potrzebujesz dokładnego zegara. Większość µC ma wbudowany zegar, ale nie jest bardzo dokładny .
Jak powiedział @Olin Lathrop, ten dokładny zegar jest ostatecznie potrzebny do protokołu USB lub do okresowego wykonywania niektórych pomiarów ...
źródło
Inne odpowiedzi dotyczyły tego, do czego mikro wewnątrz myszy potrzebuje zegara. Nie obejmowały jednak najważniejszych części pytania:
Pierwszą rzeczą, na którą należy zwrócić uwagę, jest to, że komputer nie podaje zegara. Jeśli nie ma jednego do użycia, nie można go użyć. Oczywiście, chyba że chcesz skonfigurować niestandardowe złącze - ale musisz przekonać wszystkich potencjalnych klientów, aby ręcznie zmodyfikowali swoje komputery. O ile twoi klienci nie są ekstremalnymi ekspertami w dziedzinie elektroniki, nie będzie to udana strategia biznesowa!
Ważniejsze jest jednak pytanie, dlaczegokomputer nie daje mu zegara. Aby zegar był wystarczająco szybki, aby uruchomić mikro w myszy, musi być dość szybki - kilkaset kHz to absolutne minimum, a normalnie jesteś na częstotliwości nawet dla bardzo starych mikr. 5717 najwyraźniej oczekiwał zegara 4MHz. Problem polega na tym, że jeśli nie jesteś bardzo ostrożny z konstrukcją kabla, pozyskiwaniem i opadaniem sygnału oraz wszystkimi powiązanymi interesującymi aspektami szybkich połączeń cyfrowych, to, co tworzysz po podłączeniu kabla 4 MHz, to nadajnik radiowy. Jest to absolutnie możliwe, aby zrobić to dobrze bez transmisji na cały świat - USB, DVI i HDMI potrafią wysyłać dane cyfrowe z dużą szybkością - ale w żadnym wypadku nie jest to proste. Dlatego ludzie na ogół nie wysyłają zegarów długimi kablami, chyba że mają ku temu dobry powód.
Masz całkowitą rację, że jeśli mysz wytwarza dane, które procesor musi odczytywać synchronicznie z zegarem, to mysz będzie potrzebować zegara procesora. (Właściwie możesz sobie poradzić z wolniejszym zegarem synchronicznym i pomnożyć go na drugim końcu, ale na razie zapomnijmy o tym dla uproszczenia.) Tak więc, prawda?
Ponownie, patrząc na system, odpowiedź brzmi wyraźnie „nie”. 5717 zmienia swój opór, gdy użytkownik porusza myszą. Użytkownik nie będzie poruszał myszą tak szybko, a użytkownik może poruszać myszą, kiedy tylko zechce, więc nie ma wymogu synchronizacji zegara. W najgorszym przypadku opór zmienia się podczas odczytu przez procesor, a procesor albo otrzymuje niższą, albo wyższą wartość. Następnym razem opór pozostanie stabilny, a procesor uzyska ostateczną wartość. Ponieważ mysz porusza się tylko z prędkością ręki użytkownika, nikt nie dba o jedną próbkę mniej więcej tak, aby uzyskać końcową wartość.
Aby odpowiedzieć na pytania w odwrotnej kolejności:
źródło