Chương 5: Lớp thiết bị giao diện người sử dụng
5.1 Khái niệm về HID
Từ “giao diện người sử dụng” trong tên gọi của lớp HID để chỉ ra sự
tương tác trực tiếp giữa con người với thiết bị thuộc lớp này. Ví dụ một con chuột có thể phát hiện việc chúng ta di chuyển hay nhấn chuột để gửi thông tin lên máy chủ và máy chủ sử dụng thông tin này để đem lại các đáp ứng mà người sử dụng đang mong đợi trong một ứng dụng cụ thể nào đó. Bên cạnh các thiết bị phổ biến của lớp HID như bàn phím, con chuột, cần điều khiển
chỉnh, các chuyển mạch, nút nhấn, thanh trượt, điều khiển từ xa, bàn phím điện thoại, các thiết bịđiều khiển dùng cho game như bao tay, bánh lái.
Tuy nhiên một thiết bị thuộc lớp HID không nhất thiết phải có một giao diện người sử dụng. Một thiết bị có thể gán vào lớp HID khi các chức năng của nó nằm gọn trong các giới hạn của đặc tả lớp HID. Dưới đây là các giới hạn và khả năng chủ của các thiết bị thuộc lớp HID:
- Tất cả dữ liệu được trao đổi dưới cùng một dạng cấu trúc được gọi là báo cáo (report). Máy chủ gửi và nhận dữ liệu bằng cách gửi các báo cáo và yêu cầu các báo cáo trong các phương thức truyền điều khiển hoặc truyền ngắt. Định dạng báo cáo là khá linh hoạt và nó có thể áp dụng cho rất nhiều dạng của dữ liệu song đối với mỗi một báo cáo đã
được định nghĩa thì kích cỡ của nó là xác định.
- Một giao diện HID phải có một điểm cuối ngắt vào (interrupt IN enpoint) để gửi dữ liệu lên máy chủ.
- Một giao diện HID có thể có tối đa một điểm cuối ngắt vào và một
điểm cuối ngắt ra (interrupt OUT enpoint). Nếu ta cần nhiều điểm cuối ngắt hơn nữa thì ta có thể tạo một thiết bịđa chức năng gồm nhiều thiết bị HID ở trong nó. Một ứng dụng phải đảm bảo sựđiều khiển riêng biệt tới từng HID trong thiết bị đa chức năng.
- Điểm cuối ngắt vào cho phép HID gửi thông tin lên máy chủở
những thời điểm mà không hề biết trước. Ví dụ không thể có cách nào giúp máy tính biết trước khi nào người sử dụng ấn một phím nào
đó trên bàn phím do đó bộđiều khiển máy chủ sử dụng giao tác ngắt
để thăm dò có định kỳ nhằm thu lượm dữ liệu mới.
- Tốc độ trao đổi dữ liệu là hạn chế, đặc biệt là khi truyền ở tốc độ
thấp hoặc toàn tốc. Điểm cuối ngắt tốc độ thấp không thể vượt quá 800 bytes/sec [2], với các điểm cuối toàn tốc thì tốc độ tối đa là 64 KB/s [2] còn điểm cuối ngắt tốc độ cao thì tốc độ tối đa vào khoảng 24 MB/s [2].
- Với bản Windows 98 Gold thì nó chỉ hỗ trợ USB 1.0 [2] tức là không hỗ trợđiểm cuối ngắt ra do đó tất cả dữ liệu truyền từ máy chủ xuống thiết bị phải sử dụng truyền đ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. Một giao diện HID thường sẽ rẻ hơn cách thức điều khiển vật lý truyền thống trên một thiết bị.