USB มีหลายชั้นซึ่งมีการอธิบายไว้ในUSB 2.0 คุณสมบัติ หากคุณคุ้นเคยกับโมเดลเครือข่ายชั้น OSI คุณสามารถคิดแบบนี้:
- Session layer = บทที่ 10 ฮาร์ดแวร์และซอฟต์แวร์โฮสต์ USB (ไดรเวอร์อุปกรณ์)
- Transport layer = บทที่ 9 อุปกรณ์ USB Framework
- Network layer = บทที่ 8 ชั้นโปรโตคอล (bitstream)
- Data Link layer = บทที่ 7 ไฟฟ้า (วงจร)
- ชั้นกายภาพ = บทที่ 6 เครื่องกล (สายเคเบิลและขั้วต่อ)
แนวคิด USB ขึ้นอยู่กับกระแสข้อมูลที่เรียกว่า Endpointsซึ่งสามารถเป็น IN (ไปยังโฮสต์) หรือ OUT (จากโฮสต์) อุปกรณ์ทุกชิ้นมี Endpoint 0 ซึ่งใช้สำหรับการควบคุมและสถานะ อุปกรณ์อาจมีจุดปลายเพิ่มเติมสำหรับข้อมูลแอปพลิเคชัน จุดปลายแต่ละอันจะทำงานเหมือนบัฟเฟอร์ FIFO
ข้อมูลจะถูกถ่ายโอนบนปลายทางทั้งแบบBulk (เช่น TCP / IP รับประกันว่าทุกไบต์มาถึงและในลำดับที่ถูกต้อง) หรือIsochronous (เช่น UDP / IP รับประกันว่าจะสด แต่อาจวางแพ็กเก็ต) มีชื่อที่ทำให้เข้าใจผิด "ประเภทการโอน " ขัดจังหวะ " ที่ซึ่งเป็นเพียงการสำรวจโดยโฮสต์
USB 2.0 ใช้คู่ที่แตกต่างกันสำหรับดาต้าลิงค์ ฉันจะไม่ลงรายละเอียดมากนักเนื่องจากข้อมูลนี้ครอบคลุมโดยบทจำเพาะของ USB 2.0 บทที่ 7 โดยทั่วไปแล้วในโครงร่าง PCB เราถือว่านี่เป็นคู่ที่มีความยาวจับคู่แตกต่างและใส่ตัวต้านทานอนุกรมที่ต้องการโดย USB PHY ใด ๆ อินเทอร์เฟซ) กำลังถูกใช้งาน อุปกรณ์ต่อพ่วง USB ใช้ตัวต้านทานที่มีมูลค่าสูงในหนึ่งในสาย D + หรือ D- เพื่อแจ้งโฮสต์ว่าเป็นอุปกรณ์ต่อพ่วงความเร็วสูงหรือความเร็วต่ำ
ไม่นานหลังจากที่โฮสต์ USB พบว่ามีอุปกรณ์อยู่โฮสต์จะขอตัวอธิบายจากอุปกรณ์ สิ่งนี้ได้รับการดูแลโดย FTDI chip descriptos อธิบายไว้ในบทที่ 9.5 สิ่งเหล่านี้รวมถึงDevice Descriptor , Configuration Descriptor , Interface Descriptors , Endpoint Descriptors , String Descriptors , หรือแม้แต่HID Report Descriptorsอธิบาย
อุปกรณ์อธิบายรวมถึง USB VID (ประจำตัวประชาชนของผู้ขาย) และPID (บัตรประจำตัวสินค้า) หมายเลข ระบบปฏิบัติการใช้หมายเลขคู่นี้ VID_PID เพื่อกำหนดไดรเวอร์อุปกรณ์ที่จะใช้สำหรับอุปกรณ์นี้ โปรดทราบว่าหมายเลข VID นั้นออกให้โดยการเป็นสมาชิกในฟอรัม Implementors USB ดังนั้นจึงเป็นปัญหาหากคุณเป็นนักประดิษฐ์รายบุคคล
นอกจากนี้ยังมีไดร์เวอร์คลาส HID (Human Interface Device) ซึ่งให้การป้อนข้อมูลทั่วไปสำหรับแป้นพิมพ์ / เมาส์ / ฯลฯ รวมถึงอินพุต / เอาต์พุตทั่วไป ข้อดีอย่างหนึ่งของ HID คือไม่ต้องใช้ไดรเวอร์อุปกรณ์ที่กำหนดเอง แต่ปริมาณงานของมันค่อนข้าง จำกัด เมื่อเทียบกับไดรเวอร์จำนวนมากที่กำหนดเอง มีเอกสารข้อกำหนดอื่น ๆเกี่ยวกับตัวบอก HID และเอกสารตารางการใช้งานของ HID ที่ให้รายละเอียดหมายเลขรหัสทั้งหมดที่อธิบายคุณสมบัติต่าง ๆ ที่มีอยู่ในอุปกรณ์ที่เชื่อมต่อโดยมนุษย์
ชิป FTDI เช่นแผ่นข้อมูล FT220Xให้ USB "เครื่องมืออินเตอร์เฟสแบบอนุกรม" (เพื่อไม่ให้สับสนกับ SPI อนุกรมหรืออนุกรม RS232) สิ่งนี้จะดูแลสิ่งของระดับต่ำส่วนใหญ่ที่อธิบายไว้ในบทที่ 6, 7 และ 8
FTDI ใช้ EEPROM (offchip บน FT2232H, on-chip ของ FT220X) เพื่อเก็บข้อมูลเล็กน้อยที่จะเข้าสู่ descriptors คุณสามารถปรับแต่งค่า VID / PID และกำหนดสตริงคำอธิบายที่กำหนดเองได้