Trang chủ » làm thế nào để » Có một giao thức truyền thông USB thực tế?

    Có một giao thức truyền thông USB thực tế?

    Hầu hết chúng ta không bao giờ nghĩ nhiều đến các thiết bị USB của mình, chúng ta chỉ cắm chúng vào và quên chúng đi. Nhưng nếu bạn là kiểu người tò mò muốn biết thêm về cách thức hoạt động của USB thì sao? Bài hỏi và trả lời của SuperUser hôm nay có câu trả lời cho câu hỏi của người đọc tò mò.

    Phiên hỏi và trả lời hôm nay đến với chúng tôi nhờ sự hỗ trợ của SuperUser - một phân ngành của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều khiển.

    Hình ảnh lịch sự của Evilelka Kowalski (Flickr).

    Câu hỏi

    Trình đọc SuperUser smeeb muốn biết liệu có thực sự có Giao thức giao tiếp USB thực sự hay không:

    Theo Wikipedia, USB:

    • Xác định cáp, đầu nối và giao thức liên lạc được sử dụng trong xe buýt để kết nối, liên lạc và cung cấp điện giữa máy tính và thiết bị điện tử.

    Nhưng có một thực tế Giao thức truyền thông USB? Hiểu biết của tôi là:

    1. Bạn kết nối thiết bị USB với máy (ví dụ Ubuntu hoặc bất kỳ loại Linux nào).
    2. Linux tìm thấy trình điều khiển thiết bị cho thiết bị đó bằng cách nào đó (tiền thưởng nếu bạn biết!) và tải nó.
    3. Thiết bị hiện được kết nối dưới / dev / theDevice.
    4. Ứng dụng không gian người dùng hiện có thể đọc và ghi vào / dev / theDevice và trình điều khiển xử lý đầu vào và đầu ra mức thấp cho thiết bị / phần cứng bên dưới.

    Theo như tôi có thể nói, một Giao thức truyền thông USB không xuất hiện bất cứ nơi nào trong dòng chảy này. Nếu hiểu biết của tôi là chính xác, USB chỉ là kết nối cáp và điện giữa PC và thiết bị.

    Tôi có sai ở đây không? USB có thực sự thực hiện một số loại giao thức cấp thấp nhấn mạnh dòng chảy ở trên không? Nếu vậy, nó là gì và nó hoạt động như thế nào ở chế độ xem 30.000 feet?

    Có giao thức giao tiếp USB thực tế không?

    Câu trả lời

    Những người đóng góp cho SuperUser RedGrittyBrick và projectdp có câu trả lời cho chúng tôi. Đầu tiên, RedGrittyBrick:

    Có (xem giao thức USB).

    Theo tôi hiểu, thông số kỹ thuật USB xác định một tập hợp phức tạp các giao thức lớp và cấu hình thiết bị.

    Ví dụ: các thiết bị USB có thể phù hợp với các mẫu cấp cao như lưu trữ lớn, bàn phím, thiết bị giao diện người, v.v. và được quản lý bởi trình điều khiển thiết bị chung. Một số thiết bị USB có thể giao tiếp ở mức thấp hơn để hỗ trợ USB cấp thấp của hệ điều hành có thể nhận ra rằng cần có trình điều khiển cấp cao hơn dành riêng cho thiết bị.

    Tiếp theo là câu trả lời từ projectdp:

    Câu hỏi

    Có một giao thức giao tiếp USB cấp thấp đang hoạt động không và nó là gì?

    Câu trả lời

    Có, có. Đặc tả USB bao gồm giao thức USB xác định cách sử dụng bus trên mức bit. Đây sẽ là giao thức cấp thấp làm nền tảng cho các giao thức cấp cao hơn (nghĩa là lưu trữ hàng loạt, HID, v.v.).

    Để biết cụ thể về cách thức hoạt động của giao thức USB, wiki OSDev này rất hữu ích. Dưới đây là một mô tả thú vị khác bằng cách sử dụng sơ đồ trình tự để mô tả các giao dịch dữ liệu khác nhau trên giao thức USB.

    Câu hỏi thưởng

    Linux tìm và tải trình điều khiển thiết bị cho thiết bị đó như thế nào?

    Phần thưởng trả lời

    Trên Linux khi sử dụng kernel hỗ trợ USB, thiết bị USB hoạt động sẽ được phát hiện thông qua phần cứng và kernel do thông số kỹ thuật USB. Về phía phần cứng, việc phát hiện được thực hiện bởi Bộ điều khiển máy chủ USB. Sau đó, trong nhân, Trình điều khiển máy chủ lưu trữ tiếp quản và dịch các bit cấp thấp trên dây sang thông tin được định dạng giao thức USB. Thông tin này sau đó được điền vào trình điều khiển usbcore trong kernel.

    Tôi đã diễn giải từ bài viết Opensourceforu tuyệt vời này, trong đó có nhiều chi tiết và rõ ràng hơn về câu hỏi của bạn trong bối cảnh Linux.

    Hãy chắc chắn kiểm tra phần còn lại của cuộc thảo luận sôi nổi thông qua liên kết chủ đề được chia sẻ bên dưới!


    Có một cái gì đó để thêm vào lời giải thích? Tắt âm thanh trong các ý kiến. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange am hiểu công nghệ khác? Kiểm tra chủ đề thảo luận đầy đủ ở đây.