USB信号是什么类型的? 为什么在D+,D-处要接上拉下拉电阻呢,具体阻值要如何计算

USB协议要求的,1.5K上拉在D+时表示是全速设备,在D-表示不是全速设备
有些方案里面(比如PNX5230)推荐D+/D-接下拉1M的电阻是为了提高数据传输稳定性的

①  usb有主从设备之分,主设备有:pc, 现在市面上的那些插u-disk即可播放mp3的“mp3”之类的,
usb 信号是差分信号,信号线为D+, D-,。 在usb host 端, D+,D- 各接一个15kohm 的下拉电阻, 而在usb device端,这时就有高速低速设备的区别了。usb1.0, 1.1,2.0协议中都有定义高低速设备以满足不同情况的需求,这些在硬件上的区别就是: 高速设备:d+ 接一个1.5kohm的上拉电阻,d-不接;低速设备则相反。
      这样当usb device 插入到host中时,如果是高速设备, 则d+被拉高,d-不变;低速设备则与之相反。 这个上拉过程需要大概2.5us的时间,host这这个时间内便检测到了该信号,即可判断有device plug in,和该device的类型,然后开始通讯,枚举。。。等。

②  USB OTG(on the go) 就是既可以做host又可以做client
我们一般是作为client接受pc传输数据,作为host时可以接打印机直接把手机中的照片打印出来
判别是host还是client是靠USB_ID这根pin

当作为client时,USB_ID基本是悬空的(内部有上拉)

如果侦测到USB_ID被拉低,就被认为是作为host,向外输出
所以需要外部client设备把USB_ID拉低

关于USB的上下拉电阻,不是随便接个任意阻值的电阻就ok了。

当你的USB为主设备的时候,D+、D-上分别接一个15K的下拉电阻,这样可以使得在没有设备插入的时候,D+、D-上始终保持低电平;当为从设备接口时,可以通过在上拉电阻来设置不同的传输速率,当D+接一个1.5K上拉电阻,可以工作在高速率模式如12MBPs,当D-接1.5K上拉电阻,工作在低速率模式,如1.5MPBs。

主USB自动识别从设备为高速还是低速就靠上拉电阻在D+还是D-上区别,电阻阻值的不规范会影响usb自动识别分配资源,出现不能发现硬件或使用到一般硬件发现失败等现象,所以不要随便上下拉电阻,先规范USB的硬件接口电路。

时间: 2024-10-15 21:39:45

USB信号是什么类型的? 为什么在D+,D-处要接上拉下拉电阻呢,具体阻值要如何计算的相关文章

USB Host的上拉下拉电阻

关于USB的上下拉电阻,不是随便接个任意阻值的电阻就ok了. 当你的USB为主设备的时候,D+.D-上分别接一个15K的下拉电阻,这样可以使得在没有设备插入的时候,D+.D-上始终保持低电平: 当为从设备接口时,可以通过在上拉电阻来设置不同的传输速率,当D+接一个1.5K上拉电阻,可以工作在高速率模式如12MBPs,当D-接1.5K上拉电阻,工作在低速率模式,如1.5MPBs. 主USB自动识别从设备为高速还是低速就靠上拉电阻在D+还是D-上区别,电阻阻值的不规范会影响usb自动识别分配资源,出

为不同类型的网站选择最佳的SSL证书(上)

"根据CBS数据分析,2014年,47%美国成年人的个人信息被黑客窃取,大部分主要是通过大公司的数据泄露.如Home Depot,Yahoo和Chase.事件爆发之后,占据57.94%浏览器市场的谷歌迅速启动HTTPS相关的协议,对与不安全的HTTP网站发出新的警告消息. 有相关专家预测,到2019年,全球的网络犯罪成本可能达到2万亿美元,这个数字与过去两年相比,升幅可达3倍.去年,美国政府为了敦促公民使用保护措施,以及Google强烈的硬性体制,要求相对大型的网站必须添加HTTPS协议(又称S

EF错误:无法加载关系xxx,因为类型xxx不可用。以下信息对于解决上一个错误可能很有用: 类型xxx中不存在必需属性xxx

工作中遇到下面错误: 指定的架构无效.错误: 无法加载关系“Centria.ABATracker.Domain.FK_ABC_TherapySession_SessionId”,因为类型“Centria.ABATracker.Domain.TherapySession”不可用. 以下信息对于解决上一个错误可能很有用: 类型“Centria.ABATracker.Domain.TherapySession”中不存在必需属性“SessionTargetTARecord”. 无法加载关系“Centri

Lambda语句中创建自定义类型时,也可指定某种特定类型,方法是在new与{}之间写上类型名称

如: var fc =...ChildFath = fc.Select(c => new Child_Father { child = c.child, father = c.father }).Distinct().Where(c => c.father != c.child).ToList();

新手必看,关于STM32其他问题

1.使用JTAG download程序至STM32F205XX(with Cortex-M3)问:請教各位先進,若欲使用JTAG interface下載程序至STM32F205XX的板子,似乎一般是透過SEGGER的J-link,是否可使用其他的JTAG-USB下載線如Altera出的USB Blaster?又是否只要符合JTAG規範的傳輸線皆可? 答1:只要支持M3并且支持STM32F2XX系列就可以,不一定非要JTAG,也可以使用SWD. 答2:ARM KEIL ULINK也行,兼容性非常好

BC1.2的一些心得

什么叫DCD DataContact Detect(DCD) 1.首先是DCD 2.然后是Primary detection 3.然后是Secondary detection 检测充电的条件是VBUS>VOTG_SESS_VLD 检测流程 1.DCD 阶段 打开IDP_SRC与RDM_DWN,检测D+上的电压和VLGC_LOW比较.如果VDP小于VLGC_LOW,或者TDCD_TIMEOUT则DCD阶段结束,这个时候应该关闭IDP_SRC和RDM_DWN 标准的CDP和SDP都是支持DCD的 2

2017-3-4学习笔记

1.1课:怎么看原理图之GPIO和门电路 (1)GPIO和门电路:输入输出引脚,三极管,上拉下拉电阻,与或非门等等 (2)协议类接口(双方约定信号的协议,双方满足时序要求) <1>UART: <2>IIC <3>SPI <4>NAND: 怎么设置时序: (1)看2440手册,确定能设置什么参数: (2)看外设手册,入nandflash,确定取值: (3)计算,看2440,看看怎么计算,看看参数的含义: <5>LCD: VClock:电子枪 没来一

树莓派瞎玩~7~RPi.GPIOのWIKI文档

树莓派瞎玩~7~RPi.GPIOのWIKI文档 RPiGPIO Python Module RPiGPIO module basics Importing the module Pin numbering Warnings Setup up a channel Setup more than one channel Input Output Output to several channels Cleanup RPi Board Information and RPiGPIO version I

【GoRK3288】4.GPIO操作方法(2)

请先在https://github.com/tjCFeng/GoRK3288下载 GoRK3288 开源库. 上一节通过不靠谱的方法控制了WorkLED,那么对于一个具有功能复用的GPIO应该怎样操作呢?为了能够表达的更清楚一些,这次先不看代码,而是找一个具有代表性的端口来针对它说明. Firefly-RK3288有两排引出接口,从这里做文章吧 找来找去,发现GPIO7_A1这个口很好,是PWM和GPIO复用的端口,就对它下手. 由于它本身没有连接到任何地方,直接操作看不出效果,所以我翻箱倒柜找