USB ทำงานอย่างไร? ทีนี้ เราก็มาดูกันถึงการทำงานของ USB บ้างแล้ว แต่ก่อนอื่น เรามาดูส่วนประกอบหลักอีกส่วนหนึ่งก่อนนะครับ นั่นก็คือ สายเคเบิ้ลของ USB ว่าข้างในนั้น ประกอบไปด้วยสายอะไรบ้าง และแต่ละสายนั้นทำหน้าที่อย่างไร?

- สายไฟ คือสีแดง ให้ไฟ +5 Volt และ สีน้ำตาล เป็นสายดิน ( Ground )
- สายข้อมูล คือ สายสีเหลือง และ สีน้ำเงิน
เมื่อเปิดเครื่องคอมพิวเตอร์ขึ้นมา ระบบจะทำการตรวจสอบอุปกรณ์ต่อพ่วงทาง Port USB แล้วจะกำหนด Address ให้แต่ละอุปกรณ์ เรียกว่า กระบวนการ "Enumeration" หรือเมื่อเราทำการ Plug อุปกรณ์เข้าไปยัง Port USB ปุ๊บ ระบบก็จะทำการตรวจสอบด้วยกระบวนการ "Enumeration" ทันที เพื่อตรวจสอบชนิดของข้อมูลที่จะทำการรับ หรือ จัดส่งให้กับอุปกรณ์ที่ต่อพ่วงเข้ามา ซึ่งแบ่งชนิดของข้อมูลได้เป็น 3 แบบ คือ
- Interrupt - เสมือนเป็นการตอดรบกวน โดยส่งข้อมูลทีละน้อยๆ เช่น อุปกรณ์จำพวก Mouse หรือ Keyboard หรือ GamePad ต่างๆ จะทำการส่งข้อมูลให้กับเครื่องคอมพิวเตอร์คราวละเล็กน้อยเท่านั้น และจะส่งแบบไม่ต่อเนื่อง ตามแต่ลักษณะการใช้งาน
- Bulk - หรือการส่งข้อมูลคราวละมากๆ เป็นก้อนๆ เช่นการพิมพ์งาน ซึ่งเครื่องคอมพิวเตอร์ จะส่งข้อมูลให้กับเครื่องพิมพ์คราวละมากๆ เป็นต้น ซึ่งระบบจะทำการตรวจสอบข้อมูลทั้งความถูกต้อง และความครบถ้วนด้วย
- Isochronous - หรือการส่งข้อมูลแบบต่อเนื่อง เป็น Stream เช่น พวก Speaker หรือ WebCam ที่จะมาการส่งข้อมูลอย่างต่อเนื่องแบบ Real-Time ระหว่างเครื่องคอมพิวเตอร์ หรือ Host กับ อุปกรณ์ต่อพ่วง ซึ่งใน Mode นี้ จะไม่มีการตรวจสอบความถูกต้องของข้อมูล ว่าได้รับครบถ้วน ถูกต้องหรือไม่
เครื่องคอมพิวเตอร์ หรือ Host นั้น จะส่งคำสั่ง หรือ query ( ซักคำถาม ) ไปยังอุปกรณ์ ผ่านทาง "Control Packet" โดยเครื่องคอมพิวเตอร์นั้น จะทำการกันเนื้อที่ 90% ของ Bandwidth ทั้งหมด ( USB 1.1 ที่ 12 Mbps และ USB 2.0 ที่ 480 Mbps ) สำหรับใช้งานการส่งข้อมูลแบบ Isochronous หากมีการใช้งานถึง 90% เมื่อไร ระบบก็จะทำการปฏิเสธการร้องขอในแบบ Interrupt และ Isochronous ที่เข้ามาใหม่ทันที โดย 10% ที่กันไว้นั้น จะไว้ใช้สำหรับการส่งข้อมูลแบบ Bulk และสำหรับ Control Packet ของ Host นั่นเอง
กลับมาเรื่องของหัวต่อที่ติดค้างกันจากหัวข้อที่แล้วนะครับ หัวต่อแบบ "A" และ "B" นั้นทำงานคล้ายๆ กัน แต่ว่ามีทิศทางในการส่งข้อมูลที่สลับกัน โดยที่
- หัวต่อแบบ "A" จะมีทิศทางของข้อมูลจากอุปกรณ์ ไปเข้าเครื่องคอมพิวเตอร์ เรียกว่า "upstream" เช่น Mouse, Keyboard จะส่งข้อมูลเข้าหาเครื่องคอมพิวเตอร์ เพื่อประมวลผล
- หัวต่อแบบ "B" จะมีทิศทางกลับกัน คือข้อมูลจะวิ่งเข้าหาอุปกรณ์ เรียกว่า "downstream" เช่นคอมพิวเตอร์ส่งข้อมูลไปหา Printer เพื่อทำการพิมพ์ภาพ เป็นต้น
ก็เป็นการออกแบบหัวต่อ ให้แตกต่างกัน ตามทิศทางของข้อมูล เพื่อแยกแยะประเภทของอุปกรณ์นั่นเอง