MỤC LỤC
Địa chỉ của chức năng và số điểm cuối của chức năng trong giao tác truyền từ host tới chức năng. Địa chỉ của chức năng và số điểm cuối của chức năng trong giao tác truyền từ chức năng tới host. Đối với chức năng thì nó cần phải giải mã hoàn toàn cả trường địa chỉ lẫn trường điểm cuối.
Trường địa chỉ chức năng (ADDR) chỉ ra chức năng là nguồn hay đích. của một gói dữ liệu dựa vào giá trị của mã thông báo PID. Mỗi giá trị của. trường địa chỉ chỉ ra địa chỉ của một chức năng duy nhất. Khi hệ thống được. cấp nguồn hoặc reset thì địa chỉ của chức năng được mặc định có giá trị. khởi tạo) do đó nó cần được lập trình bởi host để cung cấp cho chức năng một.
Các gói thông báo bao gồm 1 trường PID chỉ rừ đõy là loại gói IN, OUT hay SETUP,. Đối với các giao tác OUT và SETUP thì các trường địa chỉ và điểm cuối chỉ để chỉ ra điểm cuối sẽ nhận gói dữ liệu theo sau. • NAK: Tín hiệu bắt tay này chỉ ra rằng một chức năng chưa cho phép nhận dữ liệu từ host trong giao tác OUT hoặc một chức năng không có dữ liệu để gửi tới Host trong giao tác IN.
Ngoài ra, tín hiệu bắt tay NAK còn được sử dụng cho những mục đích điều khiển luồng để báo rằng một chức. • NYET: Đây chỉ là gói bắt tay cho truyền tốc độ cao và được trả về trong hai trường hợp. Các tín hiệu bắt tay trả về phụ thuộc vào kiểu của giao tác và phụ thuộc vào tín.
Nếu host nhận được một gói dữ liệu hỏng nó sẽ loại bỏ và không đưa ra đáp ứng. Nếu host không thể nhận dữ liệu từ một chức năng (ví dụ như do tràn bộ đệm) thì tình trạng này được coi như là một lỗi và host cũng sẽ không đưa ra đáp ứng nào. Nếu host có thể nhân dữ liệu và gói dữ liệu mà nó nhận được không có lỗi thì host chấp nhận dữ liệu và phát.
SETUP được định nghĩa là một dạng đặc biệt của giao tác dữ liệu từ Host tới chức năng. Từ việc nhận một thông báo SETUP một chức năng nào đó buộc phải chấp nhận dữ liệu.
Trong những điều kiện dừng và điều khiển luồng nào đó thì pha dữ liệu có thể được thay thế bởi pha bắt tay kết. Điểm cuối chức năng đáp ứng lại bằng một gói dữ liệu hoặc sẽ đáp ứng lại. Khi host sẵn sàng để phát một khối dữ liệu thì ban đầu nó phát ra một.
• ACK để cho biết gói dữ liệu nhận được không có lỗi và host có thể gửi. • NAK để chỉ ra rằng gói dữ liệu đã nhận không có lỗi nhưng host nên gửi lại dữ liệu vì chức năng đang tạm thời ở trong tình trạng không cho phép. Nếu gói dữ liệu đã nhận có lỗi CRC hoặc lỗi nhồi bít thì sẽ không có đáp.
Các giao tác truyền điều khiển có tối thiểu hai giai đoạn giao tác là. Một chức năng có nhiệm vụ nhận một giao tác Setup phải chấp nhận dữ liệu. Trong giai đoạn dữ liệu, nếu nó được diễn ra thì đối với truyền điều khiển sẽ gồm một hay nhiều giao tác IN hoặc OUT và có luật giao thức tương tự như truyền khối.
Khi một gói bắt tay STALL được gửi bởi một điểm cuối điều khiển trong giai đoạn dữ liệu cũng như giai đoạn Status của một truyền điều khiển thì gói bắt tay STALL phải được trả lại trên tất cả các truy cập thành công tới điểm cuối cho đến khi một SETUP PID được nhận. Các giao tác đẳng thời có một pha thông báo và một pha dữ liệu, không có pha bắt tay như được thấy trong hình 3.15.
Các điểm cuối tốc độ cao, các điểm cuối ngắt và đẳng thời độ rộng băng. Truyền điều khiển sử dụng thông báo SETUP để khởi tạo host và các bít tuần tự của chức năng. Như vậy các bit tuần tự của cả bên phát và thu đều bằng 1 khi giao tác SETUP vừa kết thúc.
Trong mỗi giao tác, bên thu so sánh bit tuần tự bên phát (đã được mã. hóa trong PID của gói dữ liệu là DATA0 hay DATA1) với bít tuần tự bên thu. Nếu dữ liệu chưa được chấp nhận, bên thu phải phát ra một gói NAK và các bit. Nếu dữ liệu không thể được chấp nhận hoặc gói dữ nhận được có lỗi thì bên nhận sẽ phát ra một NAK hoặc một STALL hay chờ một khoảng thời gian (timeout) tuỳ từng tình huống cụ thể và bên nhận sẽ không lật bit trình tự của.
Tín hiệu bắt tay ACK bị hỏng hoặc bị mất có thể khiến cho tạm thời mất. Khi gói bắt tay ACK bị hỏng thì một sự mất đồng bộ tạm thời xuất hiện. Bên phát do không nhận được ACK đã phát lại gói dữ liệu có PID dữ liệu là.
DATA0, bên thu nhận gói dữ liệu và thấy PID dữ liệu không phù hợp với bit tuần tự của nó do đó nó biết rằng đây chính là gói dữ liệu mà nó đã nhận thành. Nếu gói ACK này không bị hỏng thì bên phát và bên thu lại đạt được sự.
USB có 3 cơ chế dò lỗi: Sự vi phạm nhồi bit; các bit kiểm tra PID và các. Luật nhồi bit là cứ 6 bit liên tiếp của dữ liệu sẽ chèn thêm một bit 0. Ngoại trừ thông báo SOF, bất kỳ gói nào được nhận mà có lỗi thì bên.
Cả thiết bị và host đều không có loại gói bắt tay cho biết là gói có lỗi. Chính sự không xuất hiện của gói ACK sẽ được hiểu là gói có lỗi.
Một trong những nhiệm vụ của hub là phát hiện sự cắm vào hoặc tháo ra. Khi hệ thống khởi động, máy chủ thăm dò hub gốc của nó để biết. Để tìm hiểu về một thiết bị mới, máy chủ gửi một chuỗi các yêu cầu tới.
Sau đó máy chủ sẽ tìm hiểu về thiết bị bằng cách gửi các yêu cầu chuẩn của. Đối với người sử dụng thì quá trình tìm hiểu của máy chủ là ẩn và hoàn. Đôi khi, trong lần đầu tiên sử dụng, người sử dụng cần phải chọn bộ điều khiển (driver) thích hợp hoặc chỉ cho máy chủ nơi mà nó có thể tìm thấy bộ điều khiển cho thiết bị.
Còn khi người sử dụng gỡ thiết bị ra khỏi hệ thống thì Windows cũng gỡ.
Khi người sử dụng gắn thiết bị vào cổng USB hoặc khi hệ thống khởi động với thiết bị USB đã được gắn sẵn thì hub mà thiết bị gắn tới sẽ cấp nguồn tới cổng có thiết bị và lúc này thiết bị ở vào trạng thái được cấp nguồn. Hub giám sát điện áp trên các đường dây tín hiệu tại mỗi cổng của nó để biết có hay không một thiết bị vừa được gắn vào. Hub xác định tốc độ của thiết bị bằng các kiểm tra điện áp trên hai.
Máy chủ kiểm tra xem thiết bị đã thoát khỏi trạng thái reset hay chưa. Khi hub gỡ bỏ trạng thái reset thì thiết bị được đưa vào trạng thái mặc định (Default state). Ở trạng thái mặc định thì thiết bị đã sẵn sàng để đáp ứng. tới kiểu truyền điều khiển tại điểm cuối 0 với địa chỉ mặc định là 00h. Thiết bị cũng có thể sử dụng nguồn cung cấp từ bus lên tới 500mA. Get_Descriptor để tìm hiểu kích. thước lớn nhất của gói đối với đường truyền mặc định. Máy chủ gửi yêu cầu tới điểm cuối 0 của thiết bị có địa chỉ 0. duy nhất một điểm cuối 0 ứng với duy nhất một thiết bị có địa chỉ 0 tại một thời. descriptor) có chứa thông tin. Máy chủ gán một địa chỉ cụ thể không trùng lặp với địa chỉ của các thiết.
Trong lần gửi yêu cầu này thì máy chủ sẽ thu được toàn bộ nội dung của bộ mô tả thiết bị chứ không phải là chỉ một gói như ở lần trước. Bộ mô tả thiết bị có chứa các thông tin như kích thước tối đa của gói tin cho điểm. Những gì vừa nêu trong mục 6.2.11 này sẽ diễn ra tại một thời điểm khác đối với các thiết bị đa năng (các thiết bị mà có chứa nhiều.
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. Trạng thái treo: Thiết bị sẽ ở vào trạng thái treo khi nó phát hiện thấy đã.