USB cung cấp một cơ chế để bảo đảm chuỗi dữ liệu được đồng bộ giữa đầu phát và thu qua nhiều giao dịch. Cơ chế này cung cấp một phương thức bảo đảm cho đoạn bắt tay được thể hiện chính xác ở cả đầu nhận và đầu phát.
Đồng bộ đạt được thông qua các PID DATA0 và DATA1 và các chuỗi bit độc lập trong việc phát và nhận dữ liệu. Chuỗi các bit dữ liệu nhận chốt khi đầu nhận có thể chấp thuận dữ liệu và gói dữ liệu nhận không lỗi với PID chính xác. Chuỗi bit dư liệu phát chốt chỉ khi đầu phát dữ liệu nhận được bắt tay
HC_Do_IsochI
Hình 3.32 : Cơ chế trạng thái Host giao dịch đẳng thời IN
Dev_Do_IschI
Hình 3.33 : Cơ chế trạng thái thiết bị gai dịch đẳng thời IN
ACK xác thực. Đầu phát và nhận dữ liệu phải có các bit đồng bộ tại điểm khởi phát của một giao dịch. Cơ chế đồng bộ thay đổi theo giao dịch.
3.5.1. Thiết lập qua thẻ bài Setup
Các giao tác điều khiển sử dụng thẻ bài Setup cho việc thiết lập chuỗi bit Host và chức năng, như trong hình H-3. là host phát một thẻ bài Setup đến một chức năng bằng giao dịch OUT. Số trong vòng tròn biểu diễn chuỗi bit phát và nhận. Chức năng phải tiếp nhận dữ liệu và trả lời bằng ACK. Khi chức năng nhận giao dịch nó phải thiết lập chuỗi bit của nó để cho cả hai
chuỗi bit của Host và chức năng bằng nhau tại điểm kết thúc giao dịch Setup.
3.5.2. Hoàn thành các giao dịch dữ liệu
Hình H-3. chỉ ra trường hợp có hai giao dịch hoàn thành đã xảy ra. Cho đầu phát dữ liệu, điều này có nghĩa là nó chốt chuỗi bit của nó dựa theo ACK.
Đầu nhận chốt dữ liệu của nó khi khi nó nhận được dữ liệu xác thực và PID của gói phù hợp với chuỗi bit.
Hình 3.34 : Việc thiết lập Setup
3.5.3. Dữ liệu hỏng hay không chấp nhận
Nếu dữ liệu không được chấp nhận hay gói dữ liệu nhận được bị hỏng, đầu nhận sẽ phát bắt tay NAK hay STALL, hay timeout tùy thuộc tình huống, và đầu nhận sẽ không chốt chuỗi dữ liệu của nó.
Hình H-3.36 chỉ ra trường hợp ở đó giao dịch bị NAK và sau đó được phát lại.
3.5.4. Lỗi bắt tay ACK
Khối phát đưa ra cuối cùng và chỉ tác động để biết được chắc chắn một giao dịch đã thành công, nhờ nó nhận được bắt tay ACK. Nếu bắt tay ACK bị hỏng hay thất lạc có thể dẫn đến mất đồng bộ tạm thời giữa phát và nhận như trong H-3.37. ở đây đầu phát tạo ra một gói dữ liệu đúng, được chấp nhận ở khối nhận, nhưng bắt tay ACK bị hỏng.
Hình 3.35 : Các giao dịch liên tục
Hình 3.36 : Giao dịch bị NAK và phát lại
3.5.5. Các giao dịch tốc độ thấp
Như đã đề cập ở các phần trước là hiện tại USB hỗ trợ báo hiệu ở ba tốc độ: tốc độ cao (480Mbps), tốc độ trung (12Mbps) và tốc độ thấp là 1.5Mbps.
Trong môi trường tốc độ thấp
H-3.38 là ví dụ một giao dịch tốc độ thấp trong đó Host phát một thẻ bài và bắt tay và nhận một gói dữ liệu.
Hình 3.37 : Lỗi bắt tay ACK và phát lại
Hình 3.38 : Giao dịch tốc độ thấp
Chương 4
Khung làm việc
Một thiết bị USB có thể được chia làm ba lớp như sau
- Lớp dưới cùng, là một giao diện bus dùng để phát và nhận những gói dữ liệu.
- Lớp giữa, dùng để bắt tay định tuyến dữ liệu giữa giao diện bus với các điểm cuối trong thiết bị.
- Lớp trên cùng là chức năng được cung cấp cho các thiết bị bus nối tiếp, như chuột hay các giao tiếp ISDN,....
Trong chương này mô tả các đặc tính chung và hoạt động của lớp giữa trong các thiết bị USB. Những đặc tính và hoạt động này được phân định chức năng cụ thể của các thiết bị USB cho việc thông tin với giao diện bus đến Host.