Chuẩn giao tiếp USB Univeral Serial Bus USB (Univeral Serial Bus) là hình thức giao tiếp hữu dụng với tính năng Plug and Play Ra đời từ năm 1996, là kết quả của sự hợp tác của 7 công ty hàng đầu thế giới: Compaq, Digital Equipment Corporation, IBM, Intel, Microsoft, NEC, và Northern Telecom. USB tao cơ hội cho các thiết bị giao tiếp tốc độ cao: digital camera, multimedia device, telephone device, USB disk, … Cáp USB bao gồm 4 dây, D+ và D được dùng để truyền tín hiệu, Vbus và GND để cấp nguồn cho thiết bị (Thường thì Vbus = 5V còn GND=0V tại nguồn). USB cho phép chiều dài các đoạn cáp có thể thay đổi lên tới vài mét. Ở phía máy chủ Host thì D+ và D được nối đất qua các điện trở Rpd còn về phía thiết bị ngoại vi, các đầu dây D+, D được bảo vệ bởi điện trở cuối (đó chính là các điện trở Rpu. Thiết bị tốc độ cao hoặc toàn tốc cần có điện trở nối +3.3 V cho đầu D+, thiết bị tốc độ thấp cần có điện trở nối lên 3.3V cho đầu D. Những điện trở này tạo nên các mức điện thế khác nhau giữa D+ và D giúp cho máy chủ phát hiện được việc cắm vào hay rút ra của thiết bị cũng như tốc độ truyền dữ liệu của thiết bị.
GIAO TIẾP USB USB (Univeral Serial Bus) là hình thức giao tiếp hữu dụng với tính năng Plug and Play Ra đời từ năm 1996, là kết quả của sự hợp tác của 7 công ty hàng đầu thế giới: Compaq, Digital Equipment Corporation, IBM, Intel, Microsoft, NEC, và Northern Telecom. USB tao cơ hội cho các thiết bị giao tiếp tốc độ cao: digital camera, multimedia device, telephone device, USB disk, … 1 Mục tiêu của giao tiếp USB Dễ sử dụng: Plug and Play: tính năng cho phép người sử dụng không cần tắt máy để cài đặt cấu hình như interrupt, dipswitch, … Bộ điều khiển USB tự phát hiện và nhận biết khi thiết bị được kết nối hoặc ngắt kết nối. Hỗ trợ truyền dữ liệu thời gian thực: Ứng dụng này cho phép giao tiếp với các thiết bị multimedia để truyền tín hiệu âm thanh hoặc hình ảnh Mở rộng Port: USB cung cấp 1 giải pháp mở rộng port cho phép tối đa 127 thiết bị kết nối cùng lúc với 1 PC Với tốc độ kết nối mở rộng lên đến 12Mbps, nhưng mục tiêu của USB là dành cho các thiết bị tốc độ thấp và trung bình như: keyboard, mice, modem, scanner,… 2 Các chuẩn Giao tiếp USB 1.0 USB 1.1 USB 2.0 3 Cáp USB USB truyền tín hiệu và nguồn qua một cáp 4 sợi hình 4.2: Vbus: Điện áp cung cấp cho thiết bị. oTín hiệu D+. oTín hiệu D oDây đất GND. Page 1 of 19 Hình 4.2: Cable USB Cáp USB bao gồm 4 dây, D+ và D- được dùng để truyền tín hiệu, Vbus và GND để cấp nguồn cho thiết bị (Thường thì Vbus = 5V còn GND=0V tại nguồn). USB cho phép chiều dài các đoạn cáp có thể thay đổi lên tới vài mét. Ở phía máy chủ Host thì D+ và D- được nối đất qua các điện trở Rpd còn về phía thiết bị ngoại vi, các đầu dây D+, D- được bảo vệ bởi điện trở cuối (đó chính là các điện trở Rpu. Thiết bị tốc độ cao hoặc toàn tốc cần có điện trở nối +3.3 V cho đầu D+, thiết bị tốc độ thấp cần có điện trở nối lên 3.3V cho đầu D Những điện trở này tạo nên các mức điện thế khác nhau giữa D+ và D- giúp cho máy chủ phát hiện được việc cắm vào hay rút ra của thiết bị cũng như tốc độ truyền dữ liệu của thiết bị. 4 Port kết nối USB Có 2 loại thông dụng: loại A và loại B Loại A: thường dùng kết nối upstream (trên PC) Loại B: thường dùng kết nối downstream (trên thiết bị) Tín hiệu logic trên USB: sử dụng mã NRZI, Logic ‘1’: D+ >2.8V, D- <0.3V; Logic ‘0’: D+ <0.3V, D- >2.8V Trở kháng đường dây: 90 5 Tốc độ kết nối USB Để báo tốc độ sẽ kết nối thiết bị USB phải có điện trở 1.5k kéo lên nguồn ở ngõ D+ hoặc D. Điện trở kéo lên này cũng dùng để host biết sự hiện hữu của thiết bị. Để chọn tốc độ Full speed (12MBit/s), điện trở 1.5k được kéo lên 3.3V ở ngõ D+ Để chọn tốc độ Low speed (1.5Mbit/s), điện trở 1.5k được kéo lên 3.3V ở ngõ D. Một số thiết bị có điện trở được xây dựng mạch bán dẫn, có thể điều khiển bằng firmware 6 Nguồn điện cung cấp Một lợi điểm quan trọng của thiết bị USB là không cần nguồn cấp điện bên ngoài mà được cấp từ host Thiết bị USB có 3 chế độ nguồn: Page 2 of 19 Low power: dòng cung cấp 100mA, điện áp trong khoảng 4.4V - 5.25V High power: dòng cung cấp tối đa 500mA, điện áp bus từ 4.75V-5.25V Self power: thiết bị được cấp nguồn từ bên ngoài 7 Mô hình mạng Các thiết bị hoạt động theo chuẩn USB được kết nối với nhau theo đồ hình mạng hình sao phân cấp. Trung tâm của mỗi hình sao này là các Hub. Trong đồ hình như vậy, các thiết bị USB được chia làm 3 loại chính: • USB Host: thiết bị đóng vai trò điều khiển toàn bộ mạng USB (có thể lên tới tối đa 126 thiết bị). Ví dụ như trên máy tính, USB Host được gắn trên mainboard. Để giao tiếp và điều khiển các USB device, USB Host controller cần được thiết kế tích hợp với USB RootHub (Hub mức cao nhất). Vai trò của thiết bị USB Host: • Trao đổi dữ liệu với các USB Device • Điều khiển USB Bus: o Quản lý các thiết bị cắm vào hay rút ra khỏi Bus USB qua quá trình điểm danh (Enumeration) o Phân xử, quản lý luồng dữ liệu trên Bus, đảm bảo các thiết bị đều có cơ hội trao đổi dữ liệu tùy thuộc vào cấu hình của mỗi thiết bị. • USB Device: là các thiết bị đóng vai trò như các slave giao tiếp với USB Host. Xin lưu ý một điều hết sức quan trọng đó là các thiết bị này hoàn toàn đóng vai trò bị động, không bao giờ được tự ý gửi gói tin lên USB Host hay gửi gói tin giữa các USB Device với nhau, tất cả đều phải thông qua quá trình điều phối của USB Host. Các bạn sẽ hiểu cơ chế này rõ hơn trong phần truyền thông của chuẩn USB. Chức Page 3 of 19 năng của thiết bị USB Device: o Trao đổi dữ liệu với USB Host o Phát hiện gói tin hay yêu cầu từ USB Host theo giao thức USB. • USB Hub: đóng vai trò như các Hub trong mạng Ethernet của chúng ta. Cấp nguồn cho các thiết bị USB 8 Kịch bản hoạt động Quá trình hoạt động của chuẩn USB có thể được chia làm hai giai đoạn chính: • Quá trình điểm danh: là quá trình USB Host phát hiện các thiết bị cắm vào và rút ra khỏi đường USB Bus. Mỗi khi một thiết bị tham gia vào Bus USB, USB Host sẽ tiến hành đọc các thông tin mô tả (Description) của USB Device, từ đó thiết lập địa chỉ (NodeID) và chế độ hoạt động tương ứng cho thiết bị USB Device. Các địa chỉ sẽ được đánh từ 1->126 nên về lý thuyết, chuẩn USB cho phép kết nối 126 thiết bị vào đường Bus. Khi thiết bị rút ra khỏi đường Bus, địa chỉ này sẽ được thu hồi. Page 4 of 19 • Quá trình truyền dữ liệu: để hiểu quá trình truyền dữ liệu này, chúng ta phải hiểu được hai khái niệm có thể nói là khó và quan trọng nhất trong chuẩn USB, đó là khái niệm Interface và Endpoint (Xin lưu ý là chỉ thiết bị USB device mới có Endpoint, USB Host không có Endpoint). Một thiết bị USB sẽ có thể có nhiều Interface, một Interface có thể sử dụng nhiều Endpoint. Tôi xin lấy một ví dụ sau để các bạn thấy: Thẻ nhớ USB chỉ sử dụng 1 Interface theo chuẩn USB Mass storage, interface này sử dụng 3 Endpoint. Bộ USB 3G sử dụng các Interface khác nhau như: CD Room, Mass storage và Communication, mỗi interface lại sử dụng nhiều Endpoint khác nhau. Như vậy, đứng ở góc độ mức hệ thống, các Interface chính là các dịch vụ khác nhau mà thiết bị đó cung cấp còn các Endpoint chính là các cổng cần thiết cho mỗi dịch vụ. Tương ứng với khái niệm trong kiến trúc TCP/IP, ví dụ giao thức FTP là giao thức sử dụng để truyền file sẽ sử dụng hai cổng 20,21. Trong khi đó giao thức HTTP lại sử dụng port 80, giao thức Telnet sử dụng port 23. Thực tế các Endpoint cũng như các Port trong chuẩn TCP/IP đóng vai trò như các bộ đệm truyền/nhận dữ liệu. Nhờ việc sử dụng nhiều bộ đệm mà các quá trình truyền thông được tiến hành song song và cho tốc độ cao hơn, bên cạnh đó giúp cho việc phân tách các dịch vụ khác nhau. Với chuẩn USB, các thiết bị được thiết kế với tối đa là 16 Enppoint. Các Endpoint được phân loại theo hướng truyền dữ liệu nhìn từ phía USB Host. Cụ thể Các Endpoint truyền dữ liệu từ USB Device tới USB Host là endpoint IN Các Endoint truyền dữ liệu từ USB Host tới USB Device là endpoint OUT Hình trên là kết quả chúng ta xem các thông tin cấu hình của một thiết bị USB hoạt động với 1 Interface, Interface này sử dụng hai Endpoint (0x01 và 0x82), 1 Endpoint In và một Endpoint Out, cả hai Endpoint hoạt động ở chế độ Bulk Transfer (Chi tiết chúng ta sẽ xem ở phần chế độ truyền ngay sau đây). Trên Linux, các bạn có thể dùng lệnh lsusb để xem các thông tin này với bất cứ thiết bị USB nào cắm vào Bus. Đề truyền được dữ liệu theo chuẩn USB, các thiết bị USB Device phải được kết nối với USB Host thông qua các Pipe (đường ống). Mỗi Pipe sẽ nối một Endpoint của USB Device với USB Host. 9 Mô tả hệ thống USB Một hệ thống USB được mô tả bởi ba định nghĩa: Kết nối USB, các thiết bị USB và USB host. Kết nối USB được hiểu là kiểu kết nối mà trong đó các thiết bị USB được kết nối và giao tiếp với máy tính chủ. Kết nối USB bao gồm các vấn đề sau: • Kiến trúc Bus: Mô hình kết nối giữa các thiết bị USB và Host. Page 5 of 19 • Những mối quan hệ Inter-layer : Dưới dạng một tập khả năng, các tác vụ USB được thực hiện tại mỗi lớp trong hệ thống. • Các mô hình luồng dữ liệu: Là hình thức mà trong đó dữ liệu di chuyển trong hệ thống qua USB. Lập trình USB: USB cung cấp một sự kết nối dùng chung. Việc truy cập tới kết nối được lập trình theo thứ tự để hỗ trợ truyền dữ liệu đẳng thời và khử sự phân xử ban đầu. 10 Các kiểu truyền Có 4 kiểu truyền USB: 10.1 Control transfer: truyền 2 hướng Hỗ trợ cài đặt, truyền thông tin giữa host và function. Gồm 3 giai đoạn: setup, data, status. Mục đích: truyền thông tin khi thiết bị bắt đầu kết nối với host 10.2 Isochronous transfer: truyền 1 hướng hoặc 2 hướng Mục đích: truyền dữ liệu với tốc độ cố định, bỏ qua lỗi. Ví dụ: truyền voice qua USB 10.3 Interrupt transfer: Chỉ truyền 1 hướng đi vào host Mục đích: truyền dữ liệu nhỏ, không liên tục. Ví dụ: thiết bị sử dụng interrupt như keyboard, mouse. 10.4 Bulk transfer: Truyền 1 hướng hoặc 2 hướng Mục đích: truyền dữ liệu lớn, chính xác, không khắc khe về thời gian. Ví dụ: scanner, printer, USB disk 11Các loại gói dữ liệu (packet) Việc truyền dữ liệu cổng USB luôn được khởi động từ host. Dữ liệu truyền đi gồm 5 loại gói (packet): Token packet: báo mode truyền Start of Frame packet: chỉ thị bắt đầu 1 khung mới Data packet: chứa dữ liệu được truyền đi Handshake packet: dùng để xác nhận dữ liệu và báo lỗi Special packet: dùng để báo tốc độ mà host muốn truyền 11.1 TOKEN packet SYNC: byte đồng bộ tín hiệu clock, thường chọn 01h Page 6 of 19 PID (Packet identifier): cho biết loại packet. Có 4 bit ở vị trí nửa byte cao, 4 còn lại là bù của 4 bit ID dùng để kiểm tra. ADDR: xác định địa chỉ của thiết bị ENDP: xác định kênh vào của thiết bị CRC (Cyclic Redundancy Check): gồm 5 bit kiểm tra 11.2 Data packet DATA: có 2 loại DATA0, DATA1, có thể có chiều dài từ 0 đến 1023 byte 11.3 Start of Frame Packet SOF packet được truyền bởi host sau mỗi 1ms. 11.4 Handshake packet Có 3 loại Handshake packet được xác định bởi ID: ACK: xác nhận gói đã nhận thành công NAK: báo cáo thiết bị không thể nhận hoặc gửi gói dữ liệu STALL: yêu cầu sự can thiệp từ host Special packet Có 4 loại Special packet được xác định bởi ID: PRE: yêu cầu mode truyền tốc độ thấp ERR: báo lỗi Plit: chia dữ liệu truyền Ping: dùng để kiểm tra đường truyền Page 7 of 19 12 Control transfer (truyền điều khiển) Việc truyền điều khiển gồm 3 bước: Setup stage Data stage Status stage 12.1 Setup stage: Gồm 3 gói packet: Token: truyền địa chỉ và end point Data: luôn truyền dữ liệu Data0 cài đặt kích thước dữ liệu Handshake: để báo nhận thành công hoặc báo lỗi 12.2 Data stage: Gồm 3 gói packet: Token: báo hướng truyền IN hoặc OUT Data: các byte dữ liệu được truyền Handshake: xác nhận thành công hoặc báo lỗi truyền 12.3 Status stage: Báo trạng thái truyền, có 2 trường hợp xảy ra. IN: khi host nhận dữ liệu OUT: khi host gửi dữ liệu 13 Isochronous transfer Khi host truyền 1 gói IN token, thiết bị sẽ truyền dữ liệu tới host. Nếu host truyền OUT token, thiết bị sẽ chặn data tới host ngay sau đó. Không có quá trình handshake trong Isochronous transfer 14 Bulk transfer Truyền tương tự như Isochronous transfer ngoại trừ có thêm chu kỳ Handshake sau chu kỳ dữ liệu để bảo đảm dữ liệu chính xác Có 3 tín hiệu bắt tay: ACK: nếu dữ liệu nhận được không có lỗi NAK: báo rằng thiết bị không thể thực hiện được yêu cầu từ host STALL: báo rằng có lỗi trên thiết bị và yêu cầu can thiệp phần mềm từ host Page 8 of 19 15 Interrupt transfer Tương tự như việc truyền kiểu Bulk transfer ngoại trừ chỉ có IN token. Khi nhận được IN token, thiết bị truyền dữ liệu về host Nếu thiết bị không có dữ liệu ngắt trả về thì báo NAK Nếu thiết bị bị trì hoãn hoặc yêu cầu can thiệp phần mềm từ host thì báo STALL 16 Các bước kết nối thiết bị qua cổng USB Khi một thiết bị USB được kết nối vào bus, host sẽ thực hiện 1 tiến trình để xác nhận và quản lý thiết bị, tiến trình này là đặc tính “Plug and Play” của USB Tiến trình này gồm các bước sau: Attached: Khi có kết nối thiết bị chủ sẽ nhận biết nhờ sự thay đổi tín hiệu D+ và D- Powered: host gửi lệnh port enable and reset, đồng thời cấp dòng 100mA cho thiết bị, lúc này thiết bị được khởi động. Default: sau khi reset, thiết bị ở trạng thái mặc định (default) với địa chỉ 0 và endpoint 0 Address: host gán 1 địa chỉ cho thiết bị để quản lý Configured: host gửi lệnh GET DESCRIPTOR đến thiết bị để yêu cầu định cấu hình thiết bị, sau đó host gán các giá trị cấu hình thiết bị qua setup packet. Lúc này thiết bị đã sẵn sàng để sử dụng 17 Các lớp thiết bị USB 17.1 Các thành phần của một đặc tả lớp thiết bị Một đặc tả lớp thiết bị định nghĩa số lượng và loại các điểm cuối bắt buộc cũng như tuỳ chọn mà các thiết bị trong lớp đó có thể có. Một đặc tả lớp cũng có thể định nghĩa hoặc đặt tên các định dạng dữ liệu được truyền trên bus. Một vài đặc tả lớp định nghĩa các ứng dụng của dữ liệu đang được truyền, điều này cho phép Host biết cách sử dụng dữ liệu mà nó nhận được. Một vài lớp thiết bị sử dụng USB để truyền dữ liệu trong một định dạng được định nghĩa bởi một giao diện khác (ví dụ các lệnh của giao diện SCSI được sử dụng bởi các thiết bị lưu trữ thứ cấp -mass-storage device). Một đặc tả lớp cũng có thể định nghĩa các giá trị cho các mục trong các bộ mô tả chuẩn. 17.2 Các lớp thiết bị được định nghĩa Các lớp thiết bị được định nghĩa cho giao tiếp USB: Page 9 of 19 Thiết bị âm thanh (Audio): Lớp thiết bị âm thanh chính là lớp các thiết bị gửi và nhận dữ liệu âm thanh. Dữ liệu âm thanh có thể là tiếng nói được mã hoá, nhạc hay bất kỳ một loại âm thanh nào khác. Các thiết bị thuộc lớp thiết bị âm thanh có thể sử dụng kiểu truyền đẳng thời cho luồng âm thanh hoặc kiểu truyền khối cho dữ liệu đã được mã hoá bằng giao thức MIDI (Musical Instrument Digital Interface) Thiết bị giao diện thẻ thông minh: Thẻ thông minh là các loại thẻ quen thuộc được sử dụng cho việc gọi điện thoại, thẻ ra vào, trả cước cầu đường, bảo hiểm y tế, giải mã cho các bộ thu truyền hình vệ tinh và nhiều các ứng dụng khác, những ứng dụng này yêu cầu một khối lượng thông tin nhỏ hoặc trung bình với sự truy cập dữ liệu lưu trong thẻ một cách dễ dàng. Mỗi thẻ là một module bao gồm bộ nhớ và thường thêm một CPU. Nhiều thẻ cho phép cập nhật nội dung của chúng để thay đổi một số thông tin ví dụ như giá trị tiền trong thẻ tín dụng hay mã của thẻ. Để truy cập một thẻ thông minh, bạn kết nối nó với thiết bị giao diện thẻ thông minh (CCID-Chip Card Interface Device) thường bằng cách nhét thẻ vào khe đọc hoặc soi nó trước các bộ đọc đối với loại thẻ không cần tiếp xúc. USB định nghĩa lớp thiết bị giao diện thẻ thông minh vì có một số thiết bị giao diện thẻ thông minh (CCID) sử dụng giao diện USB để giao tiếp với máy tính. Lớp các thiết bị truyền thông: Lớp các thiết bị truyền thông bao gồm hai loại thiết bị chính là: thiết bị thoại và các thiết bị mạng tốc độ trung bình. Thiết bị thoại bao gồm điện thoại tương tự, modem tương tự, Các bộ thích nghi đầu cuối ISDN và điện thoại số. Các thiết bị mạng bao gồm modem ADSL, modem điện tín, 10BASE-T Ethernet adapter và hub Lớp thiết bị bảo mật: Lớp thiết bị bảo mật định nghĩa cách thức giúp ta điều khiển sự truy cập tới các file, âm nhạc, hình ảnh hoặc các dữ liệu khác được truyền trên bus (ví dụ muốn copy một file nào đó lên thiết bị hoặc đọc nội dung được lưu trong thiết bị thì phải có password). Lớp thiết bị cho phép cập nhật firmware từ Host: Lớp thiết bị cập nhật firmware định nghĩa một giao thức cho phép máy chủ gửi firmware tăng cường hoặc sửa lỗi cho một thiết bị. Sau khi nhận sự nâng cấp firmware thì thiết bị sẽ được thiết lập lại để sử dụng firmware mới của nó. Lớp thiết bị này được biết đến khi chúng ta sử dụng chức năng bootloader cho vi điều khiển. Lớp thiết bị giao diện người sử dụng: bao gồm các loại bàn phím, thiết bị con trỏ và các bộ điều khiển dùng để chơi game. Đối với những thiết Page 10 of 19 [...]... điều khiển Lưu ý là giao diện HID có thể chỉ là một trong nhiều kiểu giao diện được hỗ trợ bởi một thiết bị Ví dụ một loa USB có thể sử dụng phương thức truyền đẳng thời cho âm thanh đồng thời cũng có thể có một giao diện HID cho việc điều khiển độ to nhỏ, cân bằng, treble và bass – có nghĩa là với cùng một giao tiếp USB trên một thiết bị nhưng ta có thể sử dụng hai lớp giao tiếp khác nhau 17.3.2... cho máy chủ các thông tin giúp nó giao tiếp được với thiết bị đó 17.3 Lớp thiết bị giao diện người sử dụng (HID-Human Interface Device) Lớp thiết bị giao diện người sử dụng là một trong những lớp đầu tiên được hệ điều hành windows hỗ trợ Trên những chiếc máy tính cá nhân sử dụng Windows 98 hoặc các phiên bản muộn hơn thì những ứng dụng có thể giao tiếp với các thiết bị giao diện người sử dụng bằng cách... bị trễ nếu bus quá bận trong khi băng thông cho truyền ngắt lại được đảm bảo Khả năng thực hiện truyền ngắt ra (OUT) được bổ sung ở phiên bản 1.1 của chuẩn USB Windows 98 SE là phiên bản Windows đầu tiên hỗ trợ USB 1.1 và HID 1.1 17.3.3 Các yêu cầu về vi chương trình (Firmware) Vi chương trình phải phù hợp với các yêu cầu của lớp thiết bị Các bộ mô tả của thiết bị phải bao gồm một bộ mô tả giao diện... kỳ thiết bị USB nào thuộc lớp HID thì các bộ mô tả của nó chỉ cho máy chủ thông tin máy chủ cần biết để giao tiếp với thiết bị Máy chủ tìm hiểu về giao diện HID trong suốt quá trình thiết lập bằng cách gửi một yêu cầu Get_Descriptor Các bộ mô tả của một thiết bị thuộc lớp HID bao gồm: Bộ mô tả thiết bị (Device Descriptor) Bộ mô tả cấu hình (Configuration Descriptor) Bộ mô tả giao diện (Interface... keyboard có sử dụng giao thức khởi động 17.3.6.6 Set_Protocol Host gửi yêu cầu này để chỉ định HID có nên sử dụng giao thức khởi động hay không Bit Direction = 0 để chỉ ra hướng của dữ liệu trong giai đoạn dữ liệu nếu có thì sẽ là từ Host tới thiết bị bRequest = 0Bh wValue: o = 0000h: nên sử dụng giao thức khởi động; o ≠ 0000h: không nên sử dụng giao thức khởi động wIndex chứa số lượng giao diện hỗ... phép việc truyền tải dữ liệu ở khoảng cách ngắn thông qua năng lượng hồng ngoại Thiết bị cầu liên kết dữ liệu hồng ngoại sẽ được nối với máy chủ qua cổng USB cho phép máy chủ sử dụng giao diện USB để giám sát, điều khiển và truyền dữ liệu qua một giao diện hồng ngoại Lớp thiết bị lưu trữ thứ cấp: Lớp thiết bị lưu trữ thứ cấp chính là các thiết bị có thể truyền dữ liệu theo cả hai hướng (từ máy chủ... và Set_Protocol Các yêu cầu còn lại gồm Set_Report, Get_Idle và Set_Idle là tuỳ chọn, trừ trường hợp đối với một keyboard sử dụng giao thức khởi động phải hỗ trợ Set_Idle Nếu một HID không có một điểm cuối ngắt ra (OUT) hoặc nếu HID đang giao tiếp với một máy chủ chỉ hỗ trợ USB 1.0 như Windows 98 Gold chẳng hạn thì HID đó nếu muốn nhận report từ host nó phải hỗ trợ Set_Report Các yêu cầu ở trên sẽ được... này mang tính giao tiếp trực tiếp giữa người sử dụng và máy) như sự ấn phím, sự di chuyển của con chuột Máy chủ phải đáp ứng đủ nhanh sao cho người sử dụng không nhận thấy độ trễ rất nhỏ giữa yêu cầu của họ và các đáp ứng của máy Cầu liên kết dữ liệu hồng ngoại (Infrared Data Association Bridge): Lớp thiết bị cầu liên kết dữ liệu hồng ngoại định nghĩa những yêu cầu về phần cứng và các giao thức cho... ra đích đến của yêu cầu là một thiết bị 00001B: đích là một giao diện cụ thể 00010B: đích là một điểm cuối trên thiết bị 00011B: đích là một trong các thành phần khác trong thiết bị 2 bit Request Type = o 01 để chỉ ra loại yêu cầu này là để dành cho một lớp thiết bị cụ thể o 00: tức request là một trong các request chuẩn (có 11 loại request chuẩn) o 10: request được định nghĩa bởi nhà cung cấp thiết... lượng giao diện hỗ trợ yêu cầu này wlength = 1 Một byte trường dữ liệu của gói dữ liệu trong giai đoạn dữ liệu sẽ chứa tốc độ rỗi tính theo số nguyên lần của 4 ms Các HID không buộc phải hỗ trợ yêu cầu Get_Idle 17.3.6.3 Get_Protocol Mục đích của yêu cầu này là để host biết được HID có hỗ trợ giao thức khởi động hay không Bit Direction = 1 bRequest = 03h wValue = 0000h wIndex chứa số lượng giao . độ thấp và trung bình như: keyboard, mice, modem, scanner,… 2 Các chuẩn Giao tiếp USB 1.0 USB 1.1 USB 2.0 3 Cáp USB USB truyền tín hiệu và nguồn qua một cáp 4 sợi hình 4.2: Vbus: Điện. sẽ nối một Endpoint của USB Device với USB Host. 9 Mô tả hệ thống USB Một hệ thống USB được mô tả bởi ba định nghĩa: Kết nối USB, các thiết bị USB và USB host. Kết nối USB được hiểu là kiểu kết. NEC, và Northern Telecom. USB tao cơ hội cho các thiết bị giao tiếp tốc độ cao: digital camera, multimedia device, telephone device, USB disk, … 1 Mục tiêu của giao tiếp USB Dễ sử dụng: Plug