Các giao tác khố

Một phần của tài liệu Đồ án tìm hiểu về chuẩn USB 2.0 (Trang 60 - 64)

Các loại giao tác khối được đặc trưng bởi khả năng bảo đảm phân phát

dữ liệu không có lỗi giữa host và một chức năng bằng cách bắt lỗi và thử lại.

Các giao tác khối sử dụng một giao tác ba pha gồm gói thông báo, gói dữ liệu,

Lê Ngọc Du - Lớp ĐT7 - K46 - ĐHBKHN 30 Gói dữ liệu bị hỏng Đặc tính dừng phía thu Sự phù hợp của bit tuần tự

Chức năng có thể nhận dữ liêu Loại bắt tay

Đồ án tốt nghiệp Sơ lược về chuẩn USB 2.0

gói bắt tay như được trình bày trong hình 3.10. 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

quả là có một giai tác 2 pha và sẽ không có dữ liệu được truyền. Các gói PING và NYET chỉ được sử dụng với các thiết bị tốc độ cao. Hìn h 3.1 0: Kh uôn g dạn g gia o tác khố i

IN. Đ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

bằng gói bắt tay NAK hay STALL nếu chức năng chưa có khả năng đáp ứng lại

bằng dữ liệu. Gói NAK chỉ ra rằng chức năng tạm thời chưa có khả năng trả về

dữ liệu (ví dụ: chưa có dữ liệu để truyền tới host), trong khi STALL chỉ ra rằng

điểm cuối thường xuyên bị dừng và yêu cầu có sự can thiệp của phần mềm hệ

thống USB. Nếu host nhận được một gói dữ liệu hợp lệ nó sẽ đáp ứng với một

gói bắt tay ACK. Nếu host phát hiện thấy lỗi khi nhận dữ liệu thì nó không đưa

ra đáp ứng tới chức năng.

Khi host sẵn sàng để phát một khối dữ liệu thì ban đầu nó phát ra một

gói thông báo OUT và theo ngay sau là một gói dữ liệu ( ngoài ra ban đâu nó

còn có thể phát một gói thông báo đặc biệt PING). Nếu chức năng nhận dữ liệu

mà không có lỗi thì nó sẽ trả lời bằng một trong ba (hoặc là 4 bao gồm NYET

đối với thiết bị làm việc ở tốc độ cao) gói bắt tay:

• ACK để cho biết gói dữ liệu nhận được không có lỗi và host có thể gửi

gói tiếp theo.

Đồ án tốt nghiệp Sơ lược về chuẩn USB 2.0

• 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 nhận dữ liệu (ví dụ như tràn bộ đệm). • Nếu điểm cuối bị dừng thì STALL được trả về để báo cho host rằng

không nên cố thử lại giao tác bởi vì có tình trạng lỗi tại chức năng. 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 ứng nào từ phía chức năng. Hình 3.11 cho thấy chuỗi đọc và ghi dữ liệu truyền khối.

Còn về phía thu thì khi

nhận một gói dữ liệu thành công nó sẽ hiểu là gói dữ liệu tiếp theo sẽ có DATA

PID trái với DATA PID của gói nó vừa nhận.

Hình 3.11: Đọc và ghi truyền khối [1]

Một phần của tài liệu Đồ án tìm hiểu về chuẩn USB 2.0 (Trang 60 - 64)

Tải bản đầy đủ (DOCX)

(71 trang)
w