Các giao tác truyền điều khiển

Một phần của tài liệu Tìm hiểu chuẩn USB 2.0 (Trang 32 - 34)

Các giao tác truyền điều khiển có tối thiểu hai giai đoạn giao tác là Setup và Status. Truyền điều khiển có thể tuỳ chọn có hay không một giai đoạn dữ liệu ở giữa giai đoạn Setup và giai đoạn Status. Trong suốt giai đoạn Setup, một giao tác Setup được sử dụng để truyền thông tin tới điểm cuối điều khiển của một chức năng. Hình 3.12 cho thấy khuôn dạng giao tác Setup. Một giao tác Setup luôn sử dụng một DATA0 PID cho trường dữ liệu của giao tác Setup. 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 của gói Setup và đáp ứng lại một gói ACK. Nếu dữ liệu bị hỏng thì huỷ bỏ dữ

Hình 3.12: Giao tác SETUP điều khiển [1]

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. Tất cả các giao tác trong giai đoạn dữ liệu phải có cùng hướng (hoặc tất cả dữ liệu là IN hoặc tất cả dữ liệu là OUT). Số lượng dữ liệu

được gửi trong giai đoạn dữ liệu và hướng của nó đã được chỉ rõ trong giai

đoạn Setup. Nếu lượng dữ liệu vượt quá kích thước cho phép của một gói dữ

liệu thì dữ liệu sẽđược gửi trong nhiều giao tác IN hoặc OUT.

Giai đoạn Status của truyền điều khiển là giao tác cuối cùng của chuỗi các giao tác. Giai đoạn Status cho các thiết bị làm việc ở tốc độ cao còn bao gồm giao thức PING. Giai đoạn Status được chỉ ra bởi một sự thay đổi về

hướng của luồng dữ liệu so với giai đoạn trước đó và luôn sử dụng một DATA1 PID. Ví dụ nếu giai đoạn dữ liệu bao gồm các giao tác OUT thì giai

đoạn Status sẽ là một giao tác IN. Nếu chuỗi điều khiển không có giai đoạn dữ

liệu thì nó bao gồm một giai đoạn Setup được theo sau bởi một giai đoạn Status gồm một giao tác IN.

Hình 3.13 cho thấy thứ tự các giao tác, giá trị chuỗi bit dữ liệu và loại PID dữ liệu cho chuỗi đọc và ghi điều khiển.

Hình 3.13: Chuỗi điều khiển đọc và ghi [1]

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. Điểm cuối không bị yêu cầu trả

lại một gói bắt tay STALL sau khi nó nhận một SETUP PID. Một mặc định đối với điểm cuối đó là nếu một gói bắt tay ACK được trả lời cho giao tác SETUP thì host chờ đợi điểm cuối tự động khôi phục để thoát khỏi trạng thái gây ra STALL và điểm cuối phải làm việc một cách bình thường.

Một phần của tài liệu Tìm hiểu chuẩn USB 2.0 (Trang 32 - 34)

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

(71 trang)