마우스에 크리스탈이 필요한 이유는 무엇입니까?


22

오래된 (pre USB) 마우스에 대한이 회로도를보고있었습니다.

여기에 이미지 설명을 입력하십시오

내가 그것에 결정이 있음을 알았을 때 (Y1). 마우스에 타이머가 필요한 이유가 궁금합니다. 컴퓨터에서 시계를 사용할 수 없습니까? 또한 자체 크리스탈이 있다면 CPU 시계와 동기화되지 않을 수 있습니까?


1
그 회로도는 어디서 얻었습니까? 약간의 오차가 있습니다 : 예를 들어 포토 다이오드의 극성이 반대로됩니다.
Curd

1
@curd 회로도는 다음과 같습니다. commodore.ca/manuals/funet/cbm/schematics/misc/index.html
Tyler H

7
아마도 "크리스탈"은 실제로 세라믹 공진기 일 것입니다. BTW : 왜 마우스 안에 시계 생성이 없을 것으로 예상합니까? 컴퓨터 내부, 심지어 마더 보드에 자체 클럭 생성 (크리스탈 발진기)이있는 여러 개의 하위 회로가있을 수도 있습니다.
Curd

4
@OlinLathrop 답변에서 알 수 있듯이 마우스 MCU는 호스트 시스템의 마이크로 프로세서 (MCU)와 동기화하려고하지 않습니다. 마우스 MCU는 통신 포트 (USB, RS232C 등)와 동기화를 원합니다.
TonyM

5
귀하의 링크 에서이 마우스는 조이스틱을 스푸핑하기위한 것 같습니다. 조이스틱 인터페이스가 클록 신호를 갖도록 설계되지 않았다면 마우스가 사용할 수있는 클록 신호가 없습니다.
광자

답변:


25

MOS 5717은 아마도 마이크로 컨트롤러 또는 코드를 실행하는 부분 일 것입니다. 실행하려면 시계가 필요합니다.

그러나 마이크로 시계는 결정 정확도가 필요하지 않습니다. 아마도 의사 소통을위한 것입니다. USB는 상당히 높은 정확도의 클럭을 요구합니다.

마우스는 실시간을 추적 할 필요가 없으며, 마우스가 CPU 클럭과 동기화 될 이유가 없습니다. 통신이 작동하려면 USB 시계가 호스트의 USB 시계에 충분히 가까워 야합니다. 마우스 이벤트 발생 속도 또는 마우스 이벤트 사이의 시간에 대한 타이밍이 호스트에서 처리됩니다. 마우스는 감지 된 것에 대한 정보를 보냅니다.

추가

위의 내용은 원래 질문에 대한 답변으로 작성되었으며 USB가 아닌 마우스는 언급하지 않았습니다. 거의 모든 새로운 마우스가 10 년 이상 USB를 사용 했으므로 그 맥락에서 대답하는 것이 합리적입니다. 특이한 것에 대해 물을 때, 그것을 명확하게하는 것은 당신의 책임입니다.

USB가 없어도이 마우스에는 여전히 클럭이 필요한 프로세서가 있습니다. 또한 조이스틱에 연결된 포트의 위치를 ​​측정하기 위해 타이밍을 사용했습니다. supercat의 의견이 가장 관련이있는 것으로 보이므로 답변에 복사하고 있습니다.

Commodore 64에는 가변 저항을 통해 고정 커패시터를 충전하는 데 필요한 시간을 측정하는 전위차계 입력이 있습니다. 소프트웨어는 마우스가 0-255 범위의 저항 값으로 읽히고 254, 255, 0, 1 등을 깨끗하게 줄 바꿈 할 것으로 예상합니다. 즉, 마우스가 출력 펄스의 시간을 0.4 미만으로 정확하게 측정해야 함을 의미합니다 %

1
@ user2417339 CPU 클럭이 정확하지 않기 때문입니다. 크리스털은 시스템에 정확도가 부족합니다
M.Ferru

9
요점은 USB의 경우 양쪽 끝이 상당히 정확한 클럭을 가져야한다는 것입니다. 따라서 마우스를 사용하려면 USB가 제대로 작동해야합니다. 호스트 PC의 시계를 사용하지 않는 이유는 무엇입니까? 짧은 대답은 USB가 장치에 호스트 시계의 사본을 제공하지 않는다는 것입니다. USB 사양이 작성 될 때 서로 다른 많은 것들이 서로 상충되어 잃어버린 이유는 무엇입니까?
잭 B

2
Downvoter, 당신이 잘못 생각하는 것을 설명하십시오.
Olin Lathrop

3
@OlinLathrop : Commodore 64에는 가변 저항을 통해 고정 커패시터를 충전하는 데 필요한 시간을 측정하는 전위차계 입력이 있습니다. 소프트웨어는 마우스가 0-255 범위의 저항 값으로 읽히고 254, 255, 0, 1 등을 깨끗하게 감싸 줄 것으로 예상합니다. 즉, 마우스가 출력 펄스를 0.4 미만으로 정확하게 시간을 측정해야 함을 의미합니다 %.
supercat

2
@ 제리 : 그들 중 대부분은 전선의 유일한 정보는 단열재의 색상입니다. 나는 그중 두 개가 USB D +와 D- 라인이 될 것이라고 생각했는데, 다른 것들은 마우스 버튼, LED 표시기 또는이 마우스가 단순히 마우스를 넘어서서 할 수있는 멋진 것들로 갈 것입니다.
Olin Lathrop

21

MOS 5717은 광학 인코더 세트에서 마우스 기능을 만들기 위해 독자적으로 수행해야 할 작업이 상당히 많습니다.

데이터 시트 의 설명에 따르면

5717은 Commodore 64 용 맞춤형 CMOS 마우스 컨트롤러입니다. 2 버튼 마우스 본체에 장착되어 64 조이스틱 포트에 꽂을 수 있으며 GEOS 소프트웨어 등의 마우스 제어 기능을 제공합니다. SID 512uS 사이클에서 SID 칩의 POTX 및 POTY 라인을 다양한 시간에 접지하여 64 위치 정보를 제공함으로써 마우스 기능을 달성합니다.

ADC가 거의 모든 IC에 자유롭게 추가되기 전에 SID 인터페이스는 전위차계와 입력 통합 커패시터로 생성 된 충전 / 방전 시간을 사용하여 'pot'값을 추정했습니다. 5717은 POT 라인의 신호 타이밍을 제어하여 디지털 출력으로 전위차계를 에뮬레이션합니다.


3
만일의 경우를 대비하여 데이터 시트를 웨이 백 머신에 넣으십시오. web.archive.org/web/99991232235959/http://…
Oskar Skog

4

요즘 많은 전자 장치에서 이러한 발진기를 볼 수 있습니다. 마이크로 컨트롤러는 각 틱마다 작업을 실행합니다. µC의 기능을 제어하고 이해하려면 정확한 클럭이 필요합니다. 대부분의 µC에는 클럭이 내장되어 있지만 정확하지는 않습니다 .

@Olin Lathrop에 따르면,이 정확한 클럭은 USB 프로토콜이나 주기적으로 일부 측정을 수행하는 데 필요합니다 ...


3

다른 답변은 마우스 내부의 마이크로가 시계가 필요로하는 것을 다루었습니다. 그러나 그들은 질문의 가장 중요한 부분을 다루지 않았습니다.

컴퓨터에서 시계를 사용할 수 없습니까?

가장 먼저 알아 두어야 할 것은 컴퓨터가 시계를 제공하지 않는다는 것입니다. 사용할 것이 없으면 사용할 수 없습니다. 물론 사용자 지정 커넥터를 설정하지 않는 한 모든 잠재 고객이 컴퓨터를 수동으로 수정하도록 설득해야합니다. 고객이 모두 하드 코어 전자 전문가가 아니라면 성공적인 비즈니스 전략은 아닙니다!

더 중요한 이유컴퓨터가 시계를 제공하지 않습니다. 클록이 마우스에서 마이크로를 작동시키기에 충분히 빠르기 위해서는 꽤 빠를 필요가 있습니다. 수백 kHz는 절대 최소값이며,보다 일반적으로 아주 오래된 마이크로의 경우 MHz까지 올라갑니다. 5717은 분명히 4MHz 클럭을 예상했습니다. 여기서 문제는 케이블 구성, 신호 소싱 및 싱킹 및 고속 디지털 통신의 모든 관련 흥미로운 측면에 대해 매우 신중하지 않으면 케이블을 4MHz로 낮출 때 생성하는 것이 무선 송신기라는 것입니다. USB, DVI 및 HDMI는 디지털 데이터를 높은 속도로 전송할 수 있지만 전 세계에 브로드 캐스트하지 않고도이 작업을 수행 할 수 있습니다. 그러나 결코 간단하지는 않습니다. 따라서 사람들은 적절한 이유가없는 한 일반적으로 긴 케이블로 시계를 보내지 않습니다.

또한 자체 수정이 있다면 CPU 시계와 동기화되지 않을 수 있습니까?

마우스가 CPU가 시계로 동기식으로 읽어야하는 데이터를 생성하는 경우 마우스에 CPU 시계가 필요하다는 것은 전적으로 옳습니다. (실제로 당신은 느린 동기 클럭으로 얻을 수 있고 다른 쪽 끝에서 증가 할 수 있지만, 순간적으로는 단순함을 잊어 버려야합니다.) 그렇습니까?

다시 한 번 시스템을 살펴보면 대답은 분명히 "아니오"입니다. 5717은 사용자가 마우스를 움직일 때 저항을 변경합니다. 사용자는 마우스를 그렇게 빨리 움직이지 않을 것이고, 사용자는 언제든지 마우스를 움직일 수 있기 때문에, 시계와 동기화 할 필요는 없습니다. 최악의 경우 저항은 CPU를 읽는 도중에 부분적으로 변경되며 CPU는 더 낮은 값 또는 더 높은 값을 얻습니다. 다음 번에는 저항이 일정하게 유지되고 CPU가 최종 값을 얻습니다. 마우스는 사용자의 손의 속도로만 움직이기 때문에 최종 값에 도달하기 위해 하나의 샘플에 대해 어느 정도 관심을 기울이는 사람은 없습니다.

따라서 질문에 역순으로 답변하려면 다음 단계를 따르십시오.

  • CPU 클럭과 동기화되지 않은 경우에는 문제가되지 않습니다.
  • 꼭 필요한 경우가 아니면 CPU 클럭을 유선으로 보내지 않는 좋은 기술적 이유가 있습니다.이 경우에는 그렇지 않습니다.

최신 인터페이스를 사용하더라도 디지털 전자 장치를 RF 장비에서 멀리 떨어진 곳 으로 옮기는 것이 좋습니다 . (특정한 경우, USB 허브와 아마추어 무선 송수신기 사이에 약간의 분리를 유지하십시오.)
CVn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.