thiết bị thuộc lớp
HID
Như đã trình bày ở mục 5.2.3 , đặc tả HID định nghĩa 6 yêu cầu mà Host
có thể gửi tới một thiết bị thuộc lớp HID. Tất cả các HID phải hỗ trợ
Get_Report, còn đối với các thiết bị hỗ trợ giao thức khởi động thì phải đáp
ứng được các yêu cầu Get_Protocol 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 Host gửi tới thiết bị trong giai đoạn setup
của truyền điều khiển. Giai đoạn setup của truyền điều khiển như đã được trình
bày trong mục 3.5.2 diễn ra như sau: ban đầu host phát ra gói thông báo setup,
theo sau đó là gói dữ liệu dành cho giao tác setup có
liệu là 8 byte, cuối cùng host chờ gói bắt tay ACK để biết rằng giao tác setup
có thành công hay không. Các yêu cầu của host được chứa trong 8 byte dữ liệu của gói dữ liệu theo sau gói thông báo setup, nó có khuôn dạng như sau: Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN 59
Đồ án tốt nghiệp Sơ lược về chuẩn USB 2.0 Hình 5.1: khuôn dạng gói dữ liệu của giai đoạn setup tr on g ki ểu tr uy ền đi ều kh iể n Có một số bit trong gói trên có giá trị giống nhau đối với cả 6 yêu cầu đó là: - 5 bit Destination type =00000B để chỉ ra đích đến của yêu cầu là một thiết bị. (00001B:
khác trong thiết bị).
- 2 bit Request Type =01 để chỉ ra loại yêu cầu này là để dành cho một
lớp thiết bị cụ thể. (00: tức request là một trong các request chuẩn (có 11 loại
request chuẩn), 10: request được định nghĩa bởi nhà cung cấp thiết bị).