想請問USB Device、USB Host還有USB-Client這三種通訊方式有什麼區別,各自的具體含義是什麼?

usb device controller是與usb host controller相對應的usb控制器,它主要實現usb client端的協議。
而usb device有兩種含義:從硬件角度看就是一個帶有usb client控制器的設備;從linux角度看,就是一個掛在usb總線上的一個普通意義上的設備,只不過它們的驅動是基於host驅動之上的。而host驅動主要實現usb host端的協議,usb device的驅動通過host驅動提供的API訪問遠端設備的“I/O”,從而實現對設備的控制。
後來linux又實現了usb client協議的驅動,這樣就可以在該協議驅動之上實現各種各樣的usb設備,這種設備的驅動通過usb client協議的驅動提供的API,將設備自身的“I /O”開放出來,給遠端的host訪問。由於內核已經使用了usb device這個名詞,所以為了區別,稱這種設備為gadget,其驅動為gadget驅動。
對於一個帶有usb client controller的板子,如果基於該控制器實現了某種設備(如mass storage),那麼從這塊板子的角度看,這是一個usb gadget;如果用usb cable將這個板子與pc機連接起來,那麼在pc上就可以看到一個usb device。

USB CONNECTOR  USB CONNECTOR  USB CONNECTOR

 

您可能也會喜歡…