오래된 (pre USB) 마우스에 대한이 회로도를보고있었습니다.
내가 그것에 결정이 있음을 알았을 때 (Y1). 마우스에 타이머가 필요한 이유가 궁금합니다. 컴퓨터에서 시계를 사용할 수 없습니까? 또한 자체 크리스탈이 있다면 CPU 시계와 동기화되지 않을 수 있습니까?
오래된 (pre USB) 마우스에 대한이 회로도를보고있었습니다.
내가 그것에 결정이 있음을 알았을 때 (Y1). 마우스에 타이머가 필요한 이유가 궁금합니다. 컴퓨터에서 시계를 사용할 수 없습니까? 또한 자체 크리스탈이 있다면 CPU 시계와 동기화되지 않을 수 있습니까?
답변:
MOS 5717은 아마도 마이크로 컨트롤러 또는 코드를 실행하는 부분 일 것입니다. 실행하려면 시계가 필요합니다.
그러나 마이크로 시계는 결정 정확도가 필요하지 않습니다. 아마도 의사 소통을위한 것입니다. USB는 상당히 높은 정확도의 클럭을 요구합니다.
마우스는 실시간을 추적 할 필요가 없으며, 마우스가 CPU 클럭과 동기화 될 이유가 없습니다. 통신이 작동하려면 USB 시계가 호스트의 USB 시계에 충분히 가까워 야합니다. 마우스 이벤트 발생 속도 또는 마우스 이벤트 사이의 시간에 대한 타이밍이 호스트에서 처리됩니다. 마우스는 감지 된 것에 대한 정보를 보냅니다.
위의 내용은 원래 질문에 대한 답변으로 작성되었으며 USB가 아닌 마우스는 언급하지 않았습니다. 거의 모든 새로운 마우스가 10 년 이상 USB를 사용 했으므로 그 맥락에서 대답하는 것이 합리적입니다. 특이한 것에 대해 물을 때, 그것을 명확하게하는 것은 당신의 책임입니다.
USB가 없어도이 마우스에는 여전히 클럭이 필요한 프로세서가 있습니다. 또한 조이스틱에 연결된 포트의 위치를 측정하기 위해 타이밍을 사용했습니다. supercat의 의견이 가장 관련이있는 것으로 보이므로 답변에 복사하고 있습니다.
Commodore 64에는 가변 저항을 통해 고정 커패시터를 충전하는 데 필요한 시간을 측정하는 전위차계 입력이 있습니다. 소프트웨어는 마우스가 0-255 범위의 저항 값으로 읽히고 254, 255, 0, 1 등을 깨끗하게 줄 바꿈 할 것으로 예상합니다. 즉, 마우스가 출력 펄스의 시간을 0.4 미만으로 정확하게 측정해야 함을 의미합니다 %
MOS 5717은 광학 인코더 세트에서 마우스 기능을 만들기 위해 독자적으로 수행해야 할 작업이 상당히 많습니다.
데이터 시트 의 설명에 따르면
5717은 Commodore 64 용 맞춤형 CMOS 마우스 컨트롤러입니다. 2 버튼 마우스 본체에 장착되어 64 조이스틱 포트에 꽂을 수 있으며 GEOS 소프트웨어 등의 마우스 제어 기능을 제공합니다. SID 512uS 사이클에서 SID 칩의 POTX 및 POTY 라인을 다양한 시간에 접지하여 64 위치 정보를 제공함으로써 마우스 기능을 달성합니다.
ADC가 거의 모든 IC에 자유롭게 추가되기 전에 SID 인터페이스는 전위차계와 입력 통합 커패시터로 생성 된 충전 / 방전 시간을 사용하여 'pot'값을 추정했습니다. 5717은 POT 라인의 신호 타이밍을 제어하여 디지털 출력으로 전위차계를 에뮬레이션합니다.
다른 답변은 마우스 내부의 마이크로가 시계가 필요로하는 것을 다루었습니다. 그러나 그들은 질문의 가장 중요한 부분을 다루지 않았습니다.
컴퓨터에서 시계를 사용할 수 없습니까?
가장 먼저 알아 두어야 할 것은 컴퓨터가 시계를 제공하지 않는다는 것입니다. 사용할 것이 없으면 사용할 수 없습니다. 물론 사용자 지정 커넥터를 설정하지 않는 한 모든 잠재 고객이 컴퓨터를 수동으로 수정하도록 설득해야합니다. 고객이 모두 하드 코어 전자 전문가가 아니라면 성공적인 비즈니스 전략은 아닙니다!
더 중요한 이유 는 왜컴퓨터가 시계를 제공하지 않습니다. 클록이 마우스에서 마이크로를 작동시키기에 충분히 빠르기 위해서는 꽤 빠를 필요가 있습니다. 수백 kHz는 절대 최소값이며,보다 일반적으로 아주 오래된 마이크로의 경우 MHz까지 올라갑니다. 5717은 분명히 4MHz 클럭을 예상했습니다. 여기서 문제는 케이블 구성, 신호 소싱 및 싱킹 및 고속 디지털 통신의 모든 관련 흥미로운 측면에 대해 매우 신중하지 않으면 케이블을 4MHz로 낮출 때 생성하는 것이 무선 송신기라는 것입니다. USB, DVI 및 HDMI는 디지털 데이터를 높은 속도로 전송할 수 있지만 전 세계에 브로드 캐스트하지 않고도이 작업을 수행 할 수 있습니다. 그러나 결코 간단하지는 않습니다. 따라서 사람들은 적절한 이유가없는 한 일반적으로 긴 케이블로 시계를 보내지 않습니다.
또한 자체 수정이 있다면 CPU 시계와 동기화되지 않을 수 있습니까?
마우스가 CPU가 시계로 동기식으로 읽어야하는 데이터를 생성하는 경우 마우스에 CPU 시계가 필요하다는 것은 전적으로 옳습니다. (실제로 당신은 느린 동기 클럭으로 얻을 수 있고 다른 쪽 끝에서 증가 할 수 있지만, 순간적으로는 단순함을 잊어 버려야합니다.) 그렇습니까?
다시 한 번 시스템을 살펴보면 대답은 분명히 "아니오"입니다. 5717은 사용자가 마우스를 움직일 때 저항을 변경합니다. 사용자는 마우스를 그렇게 빨리 움직이지 않을 것이고, 사용자는 언제든지 마우스를 움직일 수 있기 때문에, 시계와 동기화 할 필요는 없습니다. 최악의 경우 저항은 CPU를 읽는 도중에 부분적으로 변경되며 CPU는 더 낮은 값 또는 더 높은 값을 얻습니다. 다음 번에는 저항이 일정하게 유지되고 CPU가 최종 값을 얻습니다. 마우스는 사용자의 손의 속도로만 움직이기 때문에 최종 값에 도달하기 위해 하나의 샘플에 대해 어느 정도 관심을 기울이는 사람은 없습니다.
따라서 질문에 역순으로 답변하려면 다음 단계를 따르십시오.