zoukankan      html  css  js  c++  java
  • USB硬件接口相关

    1、USB 设备端的D+为何要拉一个1.5K电阻到3.3v上?(USB是5v供电,但通信的电平是3.3v,所以上拉电平为3.3v;若要上拉到5v,则上拉电阻为10k)

          usb有主从设备之分,主设备有:pc。 现在市面上的那些插u-disk即可播放mp3的“mp3”之类的。当usb为主设备的时候,D+、D-上分别接一个15K的下拉电阻,这样可以使得在没有设备插入的时候,D+、D-上始终保持低电平。

          usb 信号是差分信号,信号线为D+, D-。 在usb host 端, D+,D- 各接一个15kohm 的下拉电阻, 而在usb device端,就有全速或低速设备的区别。usb1.0, 1.1, 2.0协议中都有定义全速或低速设备以满足不同情况的需求,这些在硬件上的区别就是: 全速设备:d+ 接一个1.5kohm的上拉电阻,d-不接;低速设备则相反。当为从设备接口时,可以通过在上拉电阻来设置不同的传输速率,当D+接一个1.5K上拉电阻,可以工作在高速率模式如12MBPs,当D-接1.5K上拉电阻,工作在低速率模式,如1.5MPBs。

          这样当usb device 插入到host中时,如果是全速设备, 则d+被拉高,d-不变;低速设备则与之相反。 这个上拉过程需要大概2.5us的时间,host这这个时间内便检测到了该信号,即可判断有device plug in,和该device的类型,然后开始通讯,枚举等。主USB自动识别从设备为全速还是低速就靠上拉电阻在D+还是D-上区别,电阻阻值的不规范会影响usb自动识别分配资源,出现不能发现硬件或使用到一般硬件发现失败等现象。

          现在芯片大部分都兼容了2.0和1.1 ,所以芯片内部有D+和D-同时上拉的。所以有些usb电路中没有看到D+外部上拉。

    2、USB OTG(on the go) 就是既可以做host又可以做client

        我们一般是作为client接受pc传输数据,作为host时可以接打印机直接把手机中的照片打印出来。
        判别是host还是client是靠USB_ID这根pin。当作为client时,USB_ID基本是悬空的(内部有上拉);如果侦测到USB_ID被拉低,就被认为是作为host,向外输出,所以需要外部client设备把USB_ID拉低

     

  • 相关阅读:
    AWS re:Invent 2019 召开 | 云原生生态周报 Vol. 30
    更强、更稳、更高效:解读 etcd 技术升级的三驾马车
    Service Mesh 是新瓶装旧酒吗?
    从零开始入门 K8s | 深入剖析 Linux 容器
    阿里云上万个 Kubernetes 集群大规模管理实践
    CNCF 官方大使张磊:什么是云原生?
    函数计算自动化运维实战 3 -- 事件触发自动创建快照
    函数计算自动化运维实战 2 -- 事件触发 eip 自动转移
    函数计算自动化运维实战1 -- 定时任务
    273. Integer to English Words
  • 原文地址:https://www.cnblogs.com/King-Gentleman/p/5433007.html
Copyright © 2011-2022 走看看