ฉันได้ยินมาว่า D + และ D- เป็นสัญญาณที่แตกต่างกันมันสำคัญไหมถ้าฉันสลับมันเมื่อเชื่อมต่ออุปกรณ์ USB กับคอมพิวเตอร์?
ฉันได้ยินมาว่า D + และ D- เป็นสัญญาณที่แตกต่างกันมันสำคัญไหมถ้าฉันสลับมันเมื่อเชื่อมต่ออุปกรณ์ USB กับคอมพิวเตอร์?
คำตอบ:
เมื่อเข้าและออกจากสถานะว่างขั้วมีความสำคัญและการสลับเส้น D + และ D- จะทำให้เกิดปัญหา
ข้อมูล USB มีรหัส NRZซึ่ง "One" ถูกแสดงโดยไม่มีการเปลี่ยนแปลงในระดับกายภาพและ "Zero" แสดงโดยการเปลี่ยนแปลงในระดับกายภาพ (ดูรูปด้านล่าง) ดังนั้นการสลับสัญญาณ (ตัวอย่างเช่นโดยการสลับ D + และ D-) ทำให้ไม่มีการเปลี่ยนแปลงการทำงานระหว่างการส่งข้อมูล แต่อาจมีปัญหาก่อนและหลังการส่งข้อมูลซึ่งสามารถฆ่าการสื่อสารกับอุปกรณ์
โฮสต์ประกอบด้วยตัวต้านทานแบบพูลดาวน์ 15 kΩในแต่ละบรรทัดข้อมูล เมื่อไม่มีการเชื่อมต่ออุปกรณ์สิ่งนี้จะดึงข้อมูลทั้งคู่ลงในสถานะที่เรียกว่า "ศูนย์จบเดียว" (SE0 ในเอกสารประกอบ USB) และระบุการเชื่อมต่อที่รีเซ็ตหรือตัดการเชื่อมต่อ อุปกรณ์ USB ดึงหนึ่งในสายข้อมูลสูงด้วยตัวต้านทาน 1.5 kΩ การทำเช่นนี้จะทำให้ตัวต้านทานแบบดึงลงตัวใดตัวหนึ่งในโฮสต์และออกจากสายข้อมูลในสถานะว่างที่เรียกว่า "J" สำหรับ USB 1.x ตัวเลือกของสายข้อมูลจะระบุว่าอัตราสัญญาณใดที่อุปกรณ์สามารถใช้งานได้ อุปกรณ์แบนด์วิธแบบเต็มดึง D + สูงในขณะที่อุปกรณ์แบนด์วิธต่ำจะดึง D− สูง
ในขณะที่ข้อมูลถูกเข้ารหัส NRZI ลำดับการซิงโครไนซ์และ EoP ถูกกำหนดในแง่ของสถานะคงที่ (J / K / SE0) เมื่อ D + และ D- ถูกสลับสถานะ J จะถูกสลับกับ K และ SE0 ยังคงเป็น SE0 (ทั้งสองเส้นอยู่ในระดับต่ำ) ดังนั้นลำดับการซิงค์และ EoP จะไม่ถูกต้องในการผกผัน ใน USB 1.x หากสลับ D + และ D- อุปกรณ์แบนด์วิธเต็มจะรับรู้ว่าเป็นแบนด์วิดธ์ต่ำและในทางกลับกัน ดังนั้นอุปกรณ์จะไม่สื่อสารด้วยความเร็วเท่ากับโฮสต์
ปลายแพ็คเก็ต USB ที่เรียกว่า EOP (end-of-packet) ถูกระบุโดยเครื่องส่งสัญญาณที่ขับ SE2 2 เท่า (D + และ D− ทั้งสองด้านล่างสูงสุด) และเวลา 1 บิตของสถานะ J หลังจากนั้นตัวส่งสัญญาณจะหยุดการขับเคลื่อนเส้น D + / D− และตัวต้านทานแบบดึงขึ้นดังกล่าวถือในสถานะ J (ไม่ได้ใช้งาน)
ด้วยไดรเวอร์ที่สลับ D + / D- โฮสต์จะเห็นลำดับ (SE0, SE0, K) แทนการแก้ไขที่ถูกต้อง (SE0, SE0, J) จากนั้นโฮสต์อาจล้มเหลวในการจดจำจุดสิ้นสุดของแพ็กเก็ตซึ่งจะทำให้เกิดปัญหา
หากอุปกรณ์และโฮสต์ปฏิบัติตามข้อกำหนด USB อย่างเคร่งครัดการสลับ D + และ D- หมุดจะทำให้เกิดความล้มเหลว เป็นไปได้ว่าผู้ออกแบบโฮสต์เห็นว่าโหมดความล้มเหลวดังกล่าวและสร้างขึ้นในความเข้ากันได้สำหรับมัน แต่ในทางปฏิบัติแล้วสายเคเบิลที่สลับเปลี่ยนนั้นจะใช้งานได้จริงหรือไม่
สมาชิกอีกคนหนึ่งคือแอนดรูโคห์สมิ ธ ประสบเหตุการณ์นี้เมื่อพินของฮับ USB ถูกสลับโดยไม่ตั้งใจ ปัญหาประจักษ์ตัวเองเป็นอุปกรณ์ที่เชื่อมต่อไม่ปรากฏขึ้น อุปกรณ์ USB จะแสดงว่าได้รับพลังงาน แต่คอมพิวเตอร์ไม่รู้จักเลยที่ด้านต้นน้ำของฮับ (ซึ่งเชื่อมต่อกับโฮสต์อย่างถูกต้อง)
แก้ไข: ขอบคุณผู้ที่แสดงความคิดเห็น ฉันเพิ่มการเน้นและรายละเอียดจากบันทึกที่เป็นประโยชน์ของคุณ
ฉันเคยเห็นอุปกรณ์เจรจาด้วยความเร็วต่ำเฉพาะเมื่อมีการสลับ d + และ d- นี่คือด้วยความเร็วเต็มอุปกรณ์ (12mbps) และพอร์ตตามชิปเซ็ต VIA