Chương 6: Quá trình tìm hiểu của máy chủđối với thiết bị
6.2.12 Bộ điều khiển thiết bị của máy chủ lựa chọn một cấu hình
Sau khi tìm hiểu một thiết bị thông qua các bộ mô tả, bộđiều khiển thiết bị yêu cầu một cấu hình nhờ việc gửi yêu cầu Set_Configuration với chỉ số cấu hình tương ứng. Có một vài thiết bị chỉ hỗ trợ một cấu hình duy nhất. Còn nếu thiết bị hỗ trợ nhiều cấu hình thì bộ điều khiển thiết bị có thể quyết định cấu hình nào được yêu cầu dựa vào thông tin mà bộđiều khiển có về cách thức sử
dụng thiết bị hoặc bộ điều khiển có thể hỏi người sử dụng để chọn một cấu hình thích hợp. Thiết bị đọc yêu cầu từ máy chủ và cho phép một cấu hình tương ứng được tích cực (thiết bị sẽ làm việc với cấu hình đó), các cấu hình còn lại của nó sẽ là không tích cực. Thiết bị lúc này đã được đưa tới trạng thái
được cấu hình (Configured state) và giao diện của thiết bị đã bắt đầu được phép hoạt động.
Với các thiết bị đa chức năng, máy chủ gán các bộ điều khiển vào thời
điểm này. Cách thức cũng tương tự như các thiết bị khác đã được nêu ở mục 6.2.11. Chỉ có điều cần lưu ý là thiết bị đa năng sẽ có các bộ điều khiển khác
nhau cho các giao diện khác nhau và tại một thời điểm thì chỉ có một bộ điều khiển làm việc tương ứng với giao diện đang hoạt động trên thiết bị.
Như vậy đến lúc này thì thiết bịđã sẵn sàng cho việc sử dụng.
Ngoài 4 trạng thái đã trải qua trong quá trình tìm hiểu ở trên là: Được cấp nguồn; mặc định; đã được gán địa chỉ và đã được cấu hình thì 2 trạng thái còn lại của thiết bị là: được tháo ra và trạng thái treo.
Trạng thái đã tháo ra: Nếu hub không cấp nguồn tới các đường Vbus của thiết bị thì thiết bị ở vào trạng thái đã tháo ra. Hiện tượng thiết bị không được cấp nguồn mặc dù vẫn đang gắn vào hub xảy ra khi hub phát hiện thấy sự quá tải về dòng từ phía thiết bị hoặc khi hub nhận được yêu cầu từ máy chủ buộc nó cắt nguồn cấp cho thiết bị. Không được cấp nguồn trên các đường Vbus thì thiết bị không thể giao tiếp với máy chủ do đó khi thiết bị vẫn gắn vào hub mà không được cấp nguồn thì cũng giống như nó đã được tháo ra.
Trạng thái treo: Thiết bị sẽở vào trạng thái treo khi nó phát hiện thấy đã 3 ms trôi qua mà không thấy bất kỳ một tín hiệu nào trên bus (kể cả là gói SOF (Start of Frame)). Các thiết bị đều phải hỗ trợ trạng thái này tức thiết bị phải có khả năng phát hiện khoảng thời gian 3ms không tích cực của bus và đưa thiết bị
vào trạng thái treo. Khi ở vào trạng thái treo thì thiết bị nên giảm công suất tiêu thụ từ bus (ví dụ như vi điều khiển của mạch sẽ vào trạng thái nguồn giảm).