USB Device、USB Host还有USB-Client含义与区别

来源:百度知道 编辑:UC知道 时间:2024/05/15 08:55:03
如题,这三种通讯方式有什么区别,各自的具体含义是什么?谢谢

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。