ทำไมเมาส์ถึงต้องการคริสตัล?


22

ฉันกำลังดูแผนผังนี้สำหรับเมาส์ (pre USB) เก่า:

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อฉันสังเกตเห็นว่ามันมีคริสตัลอยู่บนมัน (Y1) ฉันสงสัยว่าทำไมเมาส์ต้องใช้ตัวจับเวลา จะไม่สามารถใช้นาฬิกาจากคอมพิวเตอร์ได้ใช่ไหม นอกจากนี้ถ้ามันมีคริสตัลของตัวเองมันไม่สามารถซิงค์กับนาฬิกา CPU ได้หรือไม่


1
คุณได้แผนผังนั้นมาจากไหน มีข้อผิดพลาดบางประการเช่นขั้วของโฟโตไดโอดจะกลับด้าน
นมเปรี้ยว

1
@curd วงจรมาจากที่นี่: commodore.ca/manuals/funet/cbm/schematics/misc/index.html
ไทเลอร์ H

7
บางที "คริสตัล" อาจเป็นแค่เซรามิกแร่ BTW: ทำไมคุณคาดหวังว่าจะไม่มีการสร้างนาฬิกาในเมาส์? มันอาจเป็นไปได้ว่ามีวงจรย่อยหลายอันในคอมพิวเตอร์หรือบางทีอาจเป็นบนเมนบอร์ดที่มีรุ่นนาฬิกาของตัวเอง (คริสตัล oscillators)
นมเปรี้ยว

4
ดังที่ @OlinLathrop ตอบว่าเมาส์ MCU ไม่ได้พยายามซิงก์ 'กับไมโครโปรเซสเซอร์ของระบบโฮสต์ (MCU) เมาส์ MCU ต้องการซิงค์โดยใช้พอร์ตสื่อสารไม่ว่าจะเป็น USB, RS232C หรืออย่างอื่น
TonyM

5
จากลิงก์ของคุณดูเหมือนว่าเมาส์นี้มีวัตถุประสงค์เพื่อหลอกจอยสติ๊ก หากส่วนต่อประสานของจอยสติ๊กไม่ได้ถูกออกแบบมาให้มีสัญญาณนาฬิกาแสดงว่าไม่มีสัญญาณนาฬิกาให้ใช้สำหรับเมาส์
โฟตอน

คำตอบ:


25

สิ่งที่ MOS 5717 นั้นน่าจะเป็นไมโครคอนโทรลเลอร์หรือบางส่วนที่ประมวลผลโค้ด มันต้องมีนาฬิกาเพื่อทำงาน

อย่างไรก็ตามนาฬิกาสำหรับไมโครไม่ต้องการความแม่นยำของคริสตัล นั่นอาจเป็นการสื่อสาร USB ต้องการนาฬิกาที่มีความแม่นยำสูง

เมาส์ไม่จำเป็นต้องติดตามเรียลไทม์และไม่มีเหตุผลที่จะซิงค์กับนาฬิกา CPU นาฬิกา USB นั้นจะต้องอยู่ใกล้พอกับนาฬิกา USB ของโฮสต์เพื่อให้การสื่อสารทำงานได้ เวลาเกี่ยวกับเหตุการณ์เมาส์ที่เกิดขึ้นหรือเวลาระหว่างเหตุการณ์เมาส์ถูกจัดการในโฮสต์ เมาส์เพิ่งส่งข้อมูลเกี่ยวกับสิ่งที่เกิดขึ้น

ที่เพิ่ม

ข้างต้นถูกเขียนขึ้นเพื่อตอบคำถามเดิมซึ่งไม่ได้กล่าวถึงเมาส์นี้ไม่ใช่ USB เนื่องจากเม้าส์ใหม่เกือบทั้งหมดเป็น USB มาสิบปีหรือมากกว่านั้นจึงมีเหตุผลที่จะตอบในบริบทนั้น เมื่อคุณถามเกี่ยวกับสิ่งผิดปกติคุณมีหน้าที่รับผิดชอบในการทำให้ชัดเจน

แม้จะไม่มี USB แต่เมาส์ตัวนี้ก็ยังมีโปรเซสเซอร์ที่ต้องโอเวอร์คล็อก เห็นได้ชัดว่ามันใช้เวลาในการวัดตำแหน่งของหม้อที่เชื่อมต่อกับจอยสติ๊กอีกอย่างที่ OP ไม่สามารถพูดถึงได้ ดูเหมือนว่าตอนนี้ความคิดเห็นโดย supercat นั้นมีความเกี่ยวข้องมากที่สุดดังนั้นฉันจึงคัดลอกมันไปไว้ในคำตอบ:

Commodore 64 มีอินพุตโพเทนชิออมิเตอร์ที่วัดเวลาที่ใช้ในการชาร์จตัวเก็บประจุแบบคงที่ผ่านการต้านทานแบบผันแปร ซอฟต์แวร์คาดว่าเมาส์จะอ่านค่าความต้านทานในช่วง 0-255 และจะห่ออย่างสะอาด 254, 255, 0, 1 ฯลฯ ซึ่งหมายความว่าเมาส์ต้องใช้เวลาอย่างถูกต้องในการส่งพัลส์ไปที่น้อยกว่า 0.4 %

1
@ user2417339 เนื่องจากนาฬิกา CPU ไม่ถูกต้องเพียงพอ คริสตัลให้ความแม่นยำที่ขาดไปกับระบบนี้
M.Ferru

9
ประเด็นก็คือสำหรับ USB ปลายทั้งสองจะต้องมีนาฬิกาที่แม่นยำพอสมควร ดังนั้นเมาส์ต้องการคริสตัลเพื่อทำให้ USB ทำงานได้ ทำไมไม่ใช้นาฬิกาจากโฮสต์พีซี คำตอบสั้น ๆ คือ USB ไม่ได้ให้สำเนาของนาฬิกาโฮสต์ ทำไมไม่ซับซ้อนชนิด - สิ่งต่าง ๆ มากมายถูกค้าขายกันเมื่อข้อมูลจำเพาะ USB ถูกเขียนและที่หายไป
แจ็ค B

2
โปรดอธิบายสิ่งที่คุณคิดว่าผิด
Olin Lathrop

3
@OlinLathrop: Commodore 64 มีอินพุตโพเทนชิออมิเตอร์ที่วัดเวลาที่ใช้ในการชาร์จตัวเก็บประจุแบบคงที่ผ่านความต้านทานผันแปร ซอฟต์แวร์คาดว่าเมาส์จะอ่านค่าความต้านทานในช่วง 0-255 และจะห่ออย่างสะอาด 254, 255, 0, 1 ฯลฯ ซึ่งหมายความว่าเมาส์ต้องใช้เวลาอย่างถูกต้องในการส่งพัลส์ไปที่น้อยกว่า 0.4 %
supercat

2
@Jerry: ส่วนใหญ่เป็นเพียงสายที่มีเพียงข้อมูลที่เป็นสีของฉนวน ฉันคิดว่าพวกเขาสองคนจะเป็นสาย USB D + และ D- กับคนอื่น ๆ ที่จะไปที่ปุ่มเมาส์อาจเป็นสัญญาณไฟ LED หรือสิ่งอื่นใดที่น่าแปลกใจเมาส์ตัวนี้อาจจะทำมากกว่าแค่เป็นเมาส์
Olin Lathrop

21

MOS 5717 มีงานอิสระที่ต้องทำด้วยตัวเองเพื่อสร้างฟังก์ชันการทำงานของเมาส์จากชุดตัวเข้ารหัสแสง

คำอธิบายจากแผ่นข้อมูลระบุว่าดีที่สุด

5717 เป็นตัวควบคุมเมาส์ CMOS ที่กำหนดเองสำหรับ Commodore 64 ซึ่งจะอยู่ในร่างของเมาส์ปุ่มสองปุ่มทำให้สามารถเสียบเข้ากับพอร์ตจอยสติ๊ก 64 และให้การควบคุมเมาส์ของซอฟต์แวร์ GEOS เป็นต้น สามารถใช้ฟังก์ชันเมาส์ได้โดยการต่อสาย POTX และ POTY ของชิป SID ในหลาย ๆ ครั้งในรอบ SID 512uS เพื่อให้ข้อมูลตำแหน่งที่ 64

ก่อนที่ ADC จะสามารถเพิ่มลงใน IC ใด ๆ ได้ฟรีอินเตอร์เฟส SID ใช้เวลาในการชาร์จ / คายประจุที่สร้างขึ้นด้วยโพเทนชิออมิเตอร์ 5717 เลียนแบบโพเทนชิออมิเตอร์ที่มีเอาต์พุตดิจิตอลโดยการควบคุมเวลาสัญญาณบนสาย POT


3
ใส่แผ่นข้อมูลในเครื่อง wayback ในกรณีที่ web.archive.org/web/99991232235959/http://…
Oskar Skog

4

คุณสามารถเห็นออสซิลเลเตอร์ดังกล่าวได้ในอุปกรณ์อิเล็กทรอนิกส์จำนวนมากในปัจจุบัน ไมโครคอนโทรลเลอร์ควบคุมการทำงานที่แต่ละเห็บ ในการควบคุมและทำความเข้าใจกับสิ่งที่ µC กำลังทำอยู่คุณต้องมีนาฬิกาที่แม่นยำ ส่วนใหญ่μCมีการสร้างในนาฬิกาแต่มันเป็นเรื่องไม่ถูกต้องมาก

ดังที่ @Olin Lathrop กล่าวว่านาฬิกาที่แม่นยำนี้จำเป็นต้องใช้ในที่สุดสำหรับโปรโตคอล USB หรือเพื่อทำการวัดเป็นระยะ ...


3

คำตอบอื่น ๆ ได้กล่าวถึงสิ่งที่ไมโครภายในเมาส์ต้องการนาฬิกา อย่างไรก็ตามพวกเขายังไม่ครอบคลุมส่วนที่สำคัญที่สุดของคำถาม: -

จะไม่สามารถใช้นาฬิกาจากคอมพิวเตอร์ได้ใช่ไหม

สิ่งแรกที่ควรทราบคือคอมพิวเตอร์ไม่ได้ให้นาฬิกา หากไม่มีผู้ใช้คุณไม่สามารถใช้งานได้ นอกจากว่าคุณต้องการตั้งค่าตัวเชื่อมต่อที่กำหนดเองแน่นอน - แต่คุณต้องโน้มน้าวลูกค้าที่คาดหวังของคุณให้ปรับแต่งคอมพิวเตอร์ด้วยตนเอง นอกจากลูกค้าของคุณจะเป็นผู้เชี่ยวชาญด้านอิเล็กทรอนิกส์ที่ไม่ยอมใครง่ายๆอย่างยิ่งนี่จะไม่เป็นกลยุทธ์ทางธุรกิจที่ประสบความสำเร็จ!

ที่สำคัญกว่านั้นคือคำถามที่ว่าทำไมคอมพิวเตอร์ไม่ได้ให้นาฬิกา เพื่อให้นาฬิกานั้นเร็วพอที่จะรัน micro ในเมาส์ได้นั้นจะต้องมีความรวดเร็ว - เพียงไม่กี่ร้อย kHz นั้นเป็นค่าต่ำสุดที่แน่นอนและโดยปกติคุณจะอยู่ใน MHz สำหรับไมโครเก่า ๆ เห็นได้ชัดว่า 5717 คาดว่าจะเป็นนาฬิกา 4MHz ปัญหาที่นี่คือถ้าคุณไม่ระมัดระวังเกี่ยวกับการสร้างสายเคเบิลการจัดหาสัญญาณและการจมและทุกแง่มุมที่น่าสนใจที่เกี่ยวข้องของ comms ดิจิตอลรวดเร็วสิ่งที่คุณสร้างเมื่อคุณวาง 4MHz ลงเคเบิลเป็นเครื่องส่งสัญญาณวิทยุ มันเป็นไปได้ที่จะทำสิ่งนี้ได้อย่างดีโดยไม่ต้องส่งสัญญาณไปทั่วโลก - USB, DVI และ HDMI จัดการเพื่อส่งข้อมูลดิจิตอลในอัตราที่สูง - แต่มันไม่ได้ตรงไปตรงมา โดยทั่วไปผู้คนจะไม่ส่งสัญญาณนาฬิกาลงสายยาว ๆ จนกว่าพวกเขาจะมีเหตุผลที่ดีในการทำเช่นนั้น

นอกจากนี้ถ้ามันมีผลึกของตัวเองมันไม่สามารถซิงค์กับนาฬิกา CPU ได้หรือไม่

คุณถูกต้องอย่างแน่นอนว่าหากเมาส์สร้างข้อมูลที่ CPU ต้องอ่านนาฬิกาแบบซิงโครนัสแล้วเมาส์จะต้องใช้นาฬิกา CPU (อันที่จริงคุณสามารถผ่านได้ด้วยนาฬิกาแบบซิงโครนัสที่ช้ากว่าและคูณที่ปลายอีกด้าน แต่ลองลืมไปว่าในตอนนี้เพื่อความเรียบง่าย) ใช่ไหม?

อีกครั้งที่ดูที่ระบบคำตอบนั้นชัดเจนว่า "ไม่" 5717 เปลี่ยนความต้านทานของมันในขณะที่ผู้ใช้เลื่อนเมาส์ ผู้ใช้จะไม่เลื่อนเมาส์ที่เร็วและผู้ใช้สามารถเลื่อนเมาส์ได้ทุกเมื่อที่ต้องการดังนั้นจึงไม่มีความจำเป็นที่จะต้องซิงโครไนซ์นาฬิกา กรณีที่เลวร้ายที่สุดความต้านทานจะเปลี่ยนไปทางซีพียูที่อ่านผ่านและซีพียูจะได้รับค่าที่ต่ำกว่าหรือสูงกว่า ครั้งต่อไปความต้านทานจะคงที่และ CPU จะได้รับค่าสุดท้าย เนื่องจากเมาส์เคลื่อนที่ด้วยความเร็วในมือของผู้ใช้เท่านั้นจึงไม่มีใครสนใจตัวอย่างมากไปหรือน้อยไปจนถึงค่าสุดท้าย

ดังนั้นเพื่อตอบคำถามของคุณในลำดับย้อนกลับ:

  • ไม่สำคัญว่าจะซิงค์กับนาฬิกา CPU หรือไม่
  • มีเหตุผลทางเทคนิคที่ดีที่จะไม่ส่งสัญญาณนาฬิกาของ CPU ลงหากไม่จำเป็นจริงๆและในกรณีนี้มันไม่เป็นเช่นนั้น

ถึงแม้จะมีอินเตอร์เฟซที่ทันสมัยก็แนะนำให้ย้ายดิจิตอลอิเล็กทรอนิกส์ห่างจากอุปกรณ์ RF (ในกรณีนั้นให้แยกระหว่างฮับ USB และตัวรับส่งสัญญาณวิทยุสมัครเล่น)
CVn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.