View Single Post
Old 16-06-2006, 07:46 PM   #3
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Giao thức USB được thực hiện qua nhiều lớp, lớp thấp nhất do module USB (SIE) thực hiền, công việc của bạn là xử lý các yêu cầu dưới dạng các cờ do SIE bật mà thôi.
Để có đầy đủ các cờ bạn tham khảo datasheet. Thực tế bạn cần xử lý ít nhất 2 sự kiên sau:
+RESET (cờ URSTIF): host yêu cầu device reset, bạn bắt buộc thực hiện reset không được cãi. Reset đưa tất cả các enpoint từ 1 - 15 về trạng thái disable, riêng EP0 thiết lập thành control EP. Công việc này được thực hiện với các BUFFER DESCRIPTOR (BD) (xem datasheet).
Xóa thanh ghi UADDR về 0 (thanh ghi USB address). Xóa sạch 4 thanh ghi USB status (USTAT) (coi datasheet chỗ này).
+Transaction complete (TRNIF): Công việc nằm ở đây.
. Xác định xem EP nào vừa xong, từ đó xác định BD nào chứa dữ liệu mới nhận được
. Dựa vào BD.status xác định loại TOKEN vừa được yêu cầu: SETUP, IN, OUT?
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn