精华内容
下载资源
问答
  • usb host和usb device

    2014-04-27 16:27:00
    S3C2440的数据手册将USB功能分为两章--usb host和usb device。具体什么意思呢? usb host:  微处理器作为usb主设备,可以挂接U盘之类的从属设备。 usb device:  微处理器作为usb从属设备,其常用作接受PC机...

      S3C2440的数据手册将USB功能分为两章--usb host和usb device。具体什么意思呢?

    usb host:

      微处理器作为usb主设备,可以挂接U盘之类的从属设备。

    usb device:

      微处理器作为usb从属设备,其常用作接受PC机发送的命令。

     

    参考网页:USB Host和USB Device的区别

    展开全文
  • USB device和USB host

    千次阅读 2016-04-25 11:14:47
    常常各种USB芯片同时具有host和device两种接口。host就是主的,可以起控制作用;device(slave)就是从,是被控制的。比如PC机的USB口,可以识别U盘或者其他USB设备,起到控制的作用,就是host;而U盘是被控制的,是...

    USB,英文全称:Universal Serial Bus,即通用串行总线。

    常常各种USB芯片同时具有host和device两种接口。host就是主的,可以起控制作用;device(slave)就是从,是被控制的。比如PC机的USB口,可以识别U盘或者其他USB设备,起到控制的作用,就是host;而U盘是被控制的,是device(slave)。

    只有一个host和一个device(slave)才能起到数据传输或者控制的作用。

    而还有一种称为OTG,例如芯片ISP1761就有OTG的口,它是指它既可以做host口也可以做device(slave)口。




    HOST端要做的事情:
    硬件和软件
    host端需要的硬件是:USB host controller and a root hub with one or more USB ports.
               软件是: an operating system that enables device drivers to communicate with lower-level drivers that access the USB hardware.
    一个host controller总是和一个root hub结合在一起的,(但是还是不能把两者结合成一个设备,因为他们还是有具体的不同作用的)从linux的host controller driver就可以看出,struct hc_driver中即包含了对host controller的操作,也包含了对root hub的操作。上面所说的软件也就是这个host controller driver。

    1. 探测设备(detect device)
    On power-up, hubs make the host aware of all attached USB devices. In a process 
    called enumeration, the host determines what bus speed to use, assigns an
    address, and requests additional information. After power-up, whenever a
    device is removed or attached, a hub informs the host of the event, and the host
    enumerates any newly attached device and removes any detached device from
    its list of devices available to applications.
    从这里可以知道,host controller和root hub的具体分工。root hub只是通知host controller有设备插入或断开,host controller接到通知后开始一个
    叫做enumeration的过程(枚举),确定通信速率,分配地址等。建立真正的通信通道。

    2. 控制数据流(manage data flow)
    The host manages traffic on the bus. Multiple devices may want to transfer data
    at the same time. The host controller divides the available time into intervals
    and gives each transmission a portion of the available time.
    During enumeration, a device’s driver requests bandwidth for transfers that
    must have guaranteed timing. If the bandwidth isn’t available, the driver can
    request a smaller portion of the bandwidth or wait until the requested band-
    width is available. Transfers that have no guaranteed timing use the remaining
    bandwidth and must wait if the bus is busy.
    在数据传输方面,usb采用了分时的策略。传输带宽是在枚举的时候就已经确定好了的并且得以保证。

    3. 错误检查(error checking)
    When transferring data, the host adds error-checking bits. On receiving data,
    the device performs calculations on the data and compares the result with
    received error-checking bits. If the results don’t match, the device doesn’t
    acknowledge receiving the data and the host knows it should retransmit. 
     In a similar way, the host error-checks data received from devices. 
    USB also supportsa transfer type without acknowledgments for use with data such as real-time audio that tolerates errors to enable a constant transfer rate.
    错误检查很容易理解,在传输数据的时候,发送方在数据中加入error-checking bits,接受方收到数据后用收到的数据计算出来的校验码和
    发送方发出的校验码是否一致,不一致就不回应发送方,发送方没有接到回应就重新发送数据。usb也支持没有错误校验的传输。

    4. 供电和电源管理
    In addition to data wires, a USB cable has wires for a +5V supply and ground.
    Some devices draw all of their power from the bus. The host provides power to
    all devices on power up or attachment and works with the devices to conserve
    power when possible. A high-power USB 2.0 device can draw up to 500 mA
    from the bus. A high-power SuperSpeed device can draw up to 900 mA from a
    USB 3.0 bus. Ports on some battery-powered hosts and hubs support only
    low-power devices, which are limited to 100 mA (USB 2.0) or 150 mA (Super-
    Speed). To conserve power when the bus is idle, a host can require devices to
    enter a low-power state and reduce their use of bus current.

    5. 交换数据
    All of the above tasks support the host’s main job, which is to exchange data
    with devices. In some cases, a device driver requests the host to attempt to send
    or receive data at defined intervals, while in others the host communicates only
    when an application or other software component requests a transfer.



    DEVICE端要做的事情:
    device端要做的事情分两类,一类是和HOST对应的事情,host请求,device必须给予回应。令一类就是device端自己的事情。

    1.响应HOST
    On power up or when a device attaches to a powered system, a device must
    respond to standard requests sent by the host computer during enumeration.
    The host may also send requests any time after enumeration completes.
    All devices must respond to these requests, which query the capabilities and sta-
    tus of the device or request the device to take other action. On receiving a
    request, the device places data or status information in a buffer to send to the
    host. For some requests, such as selecting a configuration, the device takes other
    action in addition to responding to the host computer.
    The USB specification defines requests, and a class or vendor may define addi-
    tional requests. On receiving a request the device doesn’t support, the device
    responds with a status code.

    2. 错误检查
    同HOST端类似

    3. 数据传输
    For most transfers where the host sends data to the
    device, the device responds to each transfer attempt by sending a code that indicates whether the device accepted the data or was too busy to accept it. 
    For most transfers where the device sends data to the host, the device must respond
    to each attempt by returning data or a code indicating the device has no data to
    send. 
    数据传输分两种,HOST给DEVICE传输数据和HOST请求DEVICE发送数据。两者都有响应的应答机制(a code).
    DEVICE不可以主动给HOST发送数据,只有当HOST请求其发送数据的时候才可以发送。(USB3.0中device可以发送code让host请求)

    展开全文
  • USB Host、USB Device和USB otg的理论简析

    万次阅读 2015-11-17 23:15:11
    最近在弄USB Host、USB Device和USB otg的电路。先理论上分析一下这三者之间的区别与联系。一、先说USB的引脚定义: 我们PC上目前常用的USB接口为USB3.0和USB2.0,但是以个人短浅的经验,在ARM上基本还都是以USB2.0...

    最近在弄USB Host、USB Device和USB otg的电路。先理论上分析一下这三者之间的区别与联系。

    一、先说USB的引脚定义:

        我们PC上目前常用的USB接口为USB3.0和USB2.0,但是以个人短浅的经验,在ARM上基本还都是以USB2.0和USB1.1为主。接口定义以这个为准。
        一般的USB接口为四根线:红绿白黑-->从左至右!
        ![USB接口定义](https://img-blog.csdn.net/20151117222824739)
        红色-USB电源 标有-VCC、Power、5V、5VSB字样
        绿色-USB数据线(正)-DATA+、USBD+、DP+、、USBDT+
        白色-USB数据线(负)-DATA-、USBD-、DM-、USBDT+
        黑色-地线 -GND、Ground
        USB接口的输出电压和电流是:+5V/500mA  实际上有误差,最大不能超过+/-0.2V 也就是4.8-5.2V 。USB2.0规范是由USB1.1规范演变而来的。它的传输速率达到了480Mbps,折算为MB为60MB/s。因此,USB2.0可以驱动程序上可以兼容USB1.1。
        各种USB接口的定义如下图所示:
        ![常用USB接口类型](https://img-blog.csdn.net/20151117223636432)
        从左往右依次为:miniUSB公口(A型插头)、miniUSB公口(B型插头)、USB公口(B型)、USB母口(A型插座)、USB公口(A型插头)
        ![A/B型USB接口](https://img-blog.csdn.net/20151117223426600)
        ![Mini-USB接口](https://img-blog.csdn.net/20151117223457869)
        Micro-USB接口跟Mini-USB接口的定义是一样的,在我们的手机中普遍应用,这里就不再附图说明。
    

    二、三种方式的理论简析

        USB,英文全称:Universal Serial Bus,即通用串行总线。  
        Host就是主,可以起到控制作用;device(slave)就是从,是被控制的。例如主机的USB口,可以识别U盘或者是其它USB设备,所以主机的USB就是Host接口,而U盘的就是device。OTG就是指既可以做Host口亦可以做device口。
        Mini-USB和Micro-USB的ID脚在OTG功能中才使用。在OTG中,初始主机设备称为A设备,外设称为B设备。Mini-A插头(即A外设)中的ID引脚接地,Mini-B插头(即B外设)中的ID引脚浮空,默认上拉为高电平。当OTG设备检测到ID引脚接地时,表示默认的是A设备(主机),而检测到ID引脚浮空则认为是B设备(外设)。
        如果你的系统仅仅是用做Slave,那么就使用B接口。系统控制器会判断ID脚的电平判断是什么样的设备插入,如果是高电平,则是B接头插入,此时系统就做主模式(master mode)。如果ID为低,则是A接口插入,然后系统就会使用HNP对话协议来决定哪个做Master,哪个做Slave。也就是说,手机既可以做外设,又可以做主机来传送数据,可用电缆的连接方式来决定初始角色(由ID线的状态来决定)。
        简单说就是:
            USB Host是指驱动过后,板子就可以连接USB接口连接的器件,读取和装载数据了,类似PC。
            USB Device是指驱动过后,板子可以当做一个USB移动设备,通过USB连接到电脑上,类似U盘。
            实际的USB连接线中,是没有USB_ID这根线的。 都是在接口部分直接拉死的的。
            对于Host端,只需将连接线的USB_ID pin和地短接即可,
            对于Slave端,USB连接线的USB_ID pin是悬空的。(设备内部上拉)。
    
    展开全文
  • USB Host和USB Device的区别

    千次阅读 2015-07-28 13:54:38
    USB Host是指驱动过后,板子就可以连接USB接口连接的器件,读取装载数据了。 USB Device是指驱动过后,板子可以当做一个USB移动设备,通过USB连接到电脑上,类似U盘
    USB Host是指驱动过后,板子就可以连接USB接口连接的器件,读取和装载数据了。


    USB Device是指驱动过后,板子可以当做一个USB移动设备,通过USB连接到电脑上,类似U盘
    展开全文
  • 例如主机的USB口,可以识别U盘或者是其它USB设备,所以主机的USB就是Host接口,而U盘的就是device。 OTG就是指既可以做Host口亦可以做device口。 Mini-USB和Micro-USB的ID脚在OTG功能中才使用。...
  • USB device USB host区别

    千次阅读 2014-05-07 14:21:22
    那就是把它们倒过来念:device USB和host USBdevice和host作为形容词。 device usb就说明这个USB接口是作为device,把该设备当U盘来用(注意,该口不能识别U盘,但能把该机器当作U盘来用)。 host usb...
  • USB HOST和USB OTG

    2020-06-18 14:39:10
    但是,知道USB HOST和USB OTG的却不多,现在分享一下这方面的知识,便于以后用到这些设备时知道它们的区别和使用方法。  USB设备分为HOST(主设备)和SLAVE(从设备),只有当一台HOST与一台SLAVE连接时才能实现...
  • 转自《内核工匠》1、什么是USBUSB的全称是Universal Serial Bus,通用串行总线。它的出现主要是为了简化个人计算机与外围设备...本文将从USB协议、枚举流程、host和device驱动等各方面,全面介绍Linux USB模块的工作...
  • S3C2440一般默认的是一个USB DEVICE,一个USB HOST,即一个主口,一个从口,先来看看USB DeviceUSB Host相关知识。   USB Host: 最底层就是USB Host控制器了,上层是USB Host Controller Driver,该驱动负责...
  • usb通信时HOST和DEVICE要做的事情 转载 zinnc 最后发布于2016-06-16 13:46:15 阅读数 3525 收藏 转自:http://blog.chinaunix.net/uid-23795818-id-2385141.html HOST端要做的事情: 硬件和软件 host端需要的...
  • 1.USB+HOSTDEVICE控制器的设计与验证: http://wenku.baidu.com/link?url=5HsA8qaSWFqpUEseNb9U9YC3fbRmrhb5IkTuZJByvoprQHEO6tWStRzfY8IenJuUkrvus335ORRCej1rrQclNmTqED0yQqdR0zPEMiCdkJC&pn=51 2. 待增加
  • 前面分析了usb hub generic driver,顺便将枚举的前一部分看完了。本来我们应该继续分析class driver的最上层,即利用usb通信实现具体功能的驱动。我们将以usb-skeleton.c为例。但在分析usb-skeleton之前,我们...
  • USB HOST和device切换原理--基于imx8qm

    千次阅读 2020-03-27 10:37:21
    USB_HOST_GADGET_SWITCH 相关文件 kernel_imx\arch\arm64\boot\dts\freescale\fsl-imx8qm-mek-domu.dts: 如果开机固定为host模式,只需修改dr_mode = “host”;如果需要OTG功能切换,底层是根据ID PIN引脚的高低...
  • UsbAccessory和UsbDevice的区别

    千次阅读 2015-10-14 15:49:58
    UsbDevice:正常的,USB的Host和USBDevice架构中的USB的Device 所以,此时:Android设备是USB的Host,外接的USB设备是USB的Device 此时,Android设备作为USB的Host,要做USB Host该干的事情: 给...
  • 使用USB设备时,两个模块是必须的: usb核心模块:usbcore  usb主机控制器驱动( host controller ... usbcore负责实现一些核心的功能,为别的设备驱动程序提供服务,提供一个专用于访问控制usb硬件的接口,
  • usb host和device的关系 疑问1:我们通常所用的u盘应该是usbdevice吧?我想这个不用多说,呵呵。 ===============恩.============== 疑问2:我们通常看到的u盘里面的构造是否也是总线结构的,比如有一个usb总线...
  • stm32 usb host&device

    千次阅读 2016-05-15 20:14:46
    USB Host是指驱动过后,板子就可以连接USB接口连接的器件,读取装载数据了。 USB Device是指驱动过后,板子可以当做一个USB移动设备,通过USB连接到电脑上,类似U盘
  • UsbDevice:正常的,USB的Host和USBDevice架构中的USB的Device 所以,此时:Android设备是USB的Host,外接的USB设备是USB的Device 此时,Android设备作为USB的Host,要做USB Host该干的事情: 给USB外接设备...
  • 转载自:http://www.crifan.com/android_usb_usbaccessory_vs_usbdevice/?utm_source=tuicool&utm_medium=referral ...UsbDevice:正常的,USB的Host和USBDevice架构中的USB的Device 所以,
  • 大家都知道Android是基于Linux内核开发的,HarmonyOS是全新微内核(官方说法,具体啥意思不做探究),下面我们就拿linux驱动HarmonyOS驱动做个对比,看看到底是不是套用!驱动概述HarmonyOS Driver FoundationHDF...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 460
精华内容 184
关键字:

devicehost和usbusb