มีโปรโตคอลการสื่อสาร USB จริงหรือไม่?

Jan 29, 2025
ฮาร์ดแวร์
เนื้อหาที่ไม่ถูกแคช

พวกเราส่วนใหญ่ไม่เคยคิดมากกับอุปกรณ์ USB ของเราเพียงแค่เสียบปลั๊กและลืมอุปกรณ์เหล่านั้นไป แต่ถ้าคุณเป็นคนขี้สงสัยที่ต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการทำงานของ USB ล่ะ? โพสต์ถาม & ตอบ SuperUser วันนี้มีคำตอบสำหรับคำถามของผู้อ่านที่อยากรู้อยากเห็น

เซสชันคำถามและคำตอบของวันนี้มาถึงเราโดยได้รับความอนุเคราะห์จาก SuperUser ซึ่งเป็นแผนกย่อยของ Stack Exchange ซึ่งเป็นการรวมกลุ่มเว็บไซต์ถาม & ตอบโดยชุมชน

เอื้อเฟื้อภาพโดย Evilelka Kowalski (Flickr) .

คำถาม

ผู้อ่าน SuperUser smeeb ต้องการทราบว่ามีโปรโตคอลการสื่อสาร USB จริงหรือไม่:

อ้างอิงจาก Wikipedia ยูเอสบี :

  • กำหนดสายเคเบิลตัวเชื่อมต่อและโปรโตคอลการสื่อสารที่ใช้ในบัสสำหรับการเชื่อมต่อการสื่อสารและแหล่งจ่ายไฟระหว่างคอมพิวเตอร์และอุปกรณ์อิเล็กทรอนิกส์

แต่มีจริงหรือไม่ โปรโตคอลการสื่อสาร USB เหรอ? ความเข้าใจของฉันคือ:

  1. คุณเชื่อมต่ออุปกรณ์ USB กับเครื่อง (เช่น Ubuntu หรือ Linux ชนิดใดก็ได้)
  2. Linux ค้นหาไดรเวอร์อุปกรณ์สำหรับอุปกรณ์นั้นอย่างใด ( โบนัสถ้าคุณรู้! ) และโหลดมัน
  3. ขณะนี้อุปกรณ์เชื่อมต่อภายใต้ / dev / theDevice .
  4. แอปพื้นที่ผู้ใช้สามารถอ่านและเขียนได้แล้ว / dev / theDevice และไดรเวอร์จะจัดการอินพุตและเอาต์พุตระดับต่ำไปยังอุปกรณ์ / ฮาร์ดแวร์พื้นฐาน

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

ฉันผิดที่นี่? USB ใช้โปรโตคอลระดับต่ำบางประเภทที่เน้นการไหลด้านบนหรือไม่? ถ้าเป็นเช่นนั้นมันคืออะไรและทำงานอย่างไรที่มุมมอง 30,000 ฟุต?

มีโปรโตคอลการสื่อสาร USB จริงหรือไม่?

คำตอบ

ผู้สนับสนุน SuperUser RedGrittyBrick และ projectdp มีคำตอบให้เรา ก่อนอื่น RedGrittyBrick:

ใช่ ( ดูโปรโตคอล USB ).

ตามที่ฉันเข้าใจแล้วข้อมูลจำเพาะของ USB กำหนดชุดโปรโตคอลและโปรไฟล์อุปกรณ์ที่ซับซ้อน

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

ตามด้วยคำตอบจาก projectdp:

คำถาม

มีโปรโตคอลการสื่อสาร USB ระดับต่ำกำลังทำงานอยู่หรือไม่และมันคืออะไร?

ตอบ

ใช่มี. ข้อกำหนด USB ประกอบด้วยโปรโตคอล USB ซึ่งกำหนดวิธีการใช้บัสในระดับบิต นี่จะเป็นโปรโตคอลระดับต่ำที่รองรับโปรโตคอลระดับสูงกว่า (เช่น Mass-storage, HID เป็นต้น)

สำหรับข้อมูลเฉพาะเกี่ยวกับวิธีการทำงานของโปรโตคอล USB นี้ OSDev wiki เป็นประโยชน์ นี่คืออีกหนึ่ง คำอธิบายที่น่าสนใจ ใช้แผนภาพลำดับเพื่ออธิบายธุรกรรมข้อมูลต่างๆตามโปรโตคอล USB

คำถามโบนัส

Linux ค้นหาและโหลดไดรเวอร์อุปกรณ์สำหรับอุปกรณ์นั้นได้อย่างไร

คำตอบโบนัส

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

ฉันถอดความจากความยอดเยี่ยมนี้ บทความ Opensourceforu ซึ่งมีรายละเอียดและความชัดเจนมากขึ้นเกี่ยวกับคำถามของคุณในบริบท Linux

อย่าลืมดูส่วนที่เหลือของการสนทนาที่มีชีวิตชีวาผ่านลิงค์ของเธรดที่แชร์ด้านล่างนี้!


มีสิ่งที่จะเพิ่มคำอธิบาย? ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange ที่เชี่ยวชาญด้านเทคโนโลยีคนอื่น ๆ หรือไม่? ดูกระทู้สนทนาฉบับเต็มได้ที่นี่ .

USB Protocol

What Is HART Protocol?

How To Reverse Engineer A USB Protocol For Linux

Fun And Easy USB - How The USB Protocol Works

HTC Vive USB Protocol Reverse Engineering

Dmitriy Kostiuk | How To Get Yourself Into The Usb Protocol Without Pain

What Is The USB Type-C Signal Plan? How Does Orientation Independence Happen?

About The Data Center 3.0, A Protocol Analysis Software For USB, I2C, And SPI

What Is RS232 And What Is It Used For?


ฮาร์ดแวร์ - บทความยอดนิยม

กล้องเวลาบิน (ToF) คืออะไรและทำไมโทรศัพท์ของฉันถึงมี?

ฮาร์ดแวร์ Apr 4, 2025

เนื้อหาที่ไม่ถูกแคช Framesira / Shutterstock ผู้ผลิตจำนวนมากขึ้นเ..


วิธีรักษาเลนส์กล้องของคุณให้สะอาด

ฮาร์ดแวร์ Jan 11, 2025

ฉันได้เน้นย้ำครั้งแล้วครั้งเล่าเกี่ยวกับ How-To Geek: เลนส์มีความสำ..


วิธีกำจัดการสั่นสะเทือนและเสียงรบกวนใน NAS ของคุณ

ฮาร์ดแวร์ Mar 23, 2025

เนื้อหาที่ไม่ถูกแคช ชิ้นส่วนที่เคลื่อนไหวในฮาร์ดไดรฟ์สามารถส�..


ฉันจะรู้ได้อย่างไรว่าฉันกำลังใช้งาน Windows 32 บิตหรือ 64 บิต

ฮาร์ดแวร์ Jul 3, 2025

การตรวจสอบว่าคุณกำลังใช้งาน Windows เวอร์ชัน 32 บิตหรือ 64 บิตนั้นใช้เว�..


วิธีเพิ่มอายุการใช้งานแบตเตอรี่บนสวิตช์ Nintendo ของคุณ

ฮาร์ดแวร์ Jun 19, 2025

เนื้อหาที่ไม่ถูกแคช ส่วนที่เจ๋งที่สุดในการเป็นเจ้าของ Nintendo Switch ค�..


Adobe Lightroom คืออะไรและฉันต้องการหรือไม่

ฮาร์ดแวร์ Jan 17, 2025

Adobe Photoshop Lightroom สร้างความสับสนให้กับช่างภาพมือใหม่จำนวนมาก มันมีชื่อ ..


วิธีเลือกกล่องเมลที่แสดงบน Apple Watch ของคุณ

ฮาร์ดแวร์ Mar 10, 2025

เนื้อหาที่ไม่ถูกแคช แอพเมลบน Apple Watch ของคุณทำให้สามารถดูอีเมลและต..


ไม่บันทึกไม่เสมอไป: สิ่งที่คุณต้องรู้เกี่ยวกับ Google Glass

ฮาร์ดแวร์ Mar 3, 2025

เนื้อหาที่ไม่ถูกแคช อีกครั้งมีคนที่สวม Google Glass ถูกทำร้ายร่างกายแ�..


หมวดหมู่