电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

完整版通俗易懂的USB协议详解转载VIP免费

完整版通俗易懂的USB协议详解转载_第1页
1/10
完整版通俗易懂的USB协议详解转载_第2页
2/10
完整版通俗易懂的USB协议详解转载_第3页
3/10
Usb 详解USB 作为一种串行接口,应用日益广泛。如同每个工程设计人员必须掌握I2C,RS232这些接口一样,我们也必须掌握usb. 但是 usb 的接口协议实在有点费解,linux uhci 驱动作者之一Alan Stern 曾经就说过 “The USB documentation is downright evil. Most of it is just crap, written by a committee. You're better off ignoring most of it ”。本文将从整体上介绍usb 协议,包括 usb host ,usb hub,usb function。希望能给读者一个总体上的了解。也因此,文章将分成相应的三部分讲解。一。 usb function 1。初识 usb.usb 是一种串行接口协议,它靠d+,d- 两条数据线构成的差分线来进行数据传输,这让我们非常感兴趣它到底和我们通常熟悉两线rs232/485有何区别。了解这种区别有助于我们对usb 作一个深入的了解。那么让我们回想一下到底一个两线rs232 的数据是如何传送的,如图一:在这里我们的重点在于,我们发现要在串行口传送数据一个最体码的要求恐怕就是:要知道数据传输何时开始,何时结束。即如何delimit. 那么 rs232 怎么做的。显然,在idle(空闲)时,即无数据传送时,数据线处于高电平,等到有数据开始传送,发送方首先拉低数据线(start) ,表示数据传输开始,接受端也因为这个“start ”信号开始准备接受即将到来的数据,类似一次握手,随后,在两者之间的数据传送开始,结束后主方再次拉高数据线,表示结束传输,自此两者重新进入Idle 状态。等待下一轮传送开始。了解了 rs232, 那么我们自然想到usb 如何做到这个呢, 既然是串行位流传输, 也理所当然的解决这个问题。没错,Usb 协议必然要解决这个问题,让我们作一个类似rs232 的比较吧!类似于rs232,usb的传输桢如图二:(这里我们暂时忽略这个传输所代表的意义)为了说明问题,我们对一些问题简化,我们定义这样几个状态:假设 D+,D- 分别表示 usb 信号线的电平信号。那么对于usb full speed function(high speed ,low speed是不同的 ),我们定义差分数据线上可能出现的四个状态:Data J state:D+=1,D-=0 ;Data K state:D+=0,D-=1 ;SE0 : D+=D-=0; SE1 : D+=D-=1; 那么上面的图中,相应的也可表示为图三:这个对 usb full speed function来说, idle 状态将处于Data J state , se0 表示一桢结束。看这个图是不是很像我们熟悉的 rs232 。没错!!!他们确实很相似。...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

完整版通俗易懂的USB协议详解转载

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部