usb全接触之usbfunctionusb传输.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
usb 全接触之 usb functionusb 传输 usb 全接触之 usb function初识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. Youre 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 +=1,D-=0; Data K state +=0,D-=1; SE0:D+=D-=0; SE1:D+=D-=1; 那么上面的图中,相应的也可表示为图三: 这个对 usb full speed function来说,idle状态将处于 Data J state,se0 表示 一桢结束。看这个图是不是很像我们熟悉的 rs232。没错!!!他们确实很相似。在无 数据传输时,它们都处于 Idle 状态,当要开始传输数据时,先发一个 sync(同步信号, rs232为start,usb 为一 sync 字节,见协议说明)信号进行“握手”,而后开始传输, 当传输要结束时,发一 stop 信号(usb 为一个 se0状态表示要结束传输),最后又进 入 idle态等待新的传输。不过,你可能更加注意到,他们还是不同的。不同在于usb 是按packet 进行传输的,就是说它传输的最小单位是 packet,而rs232 是按字节传 送的,也即它的最小传送单位是字节。既然是按 pakcet 传送,想想我们相较于 rs232 的按字节单位传输,我们可以得到哪些“好处”。想想看,pakcet 的好处不就在于我 们可以灵活的定义数据的传送格式,传送方式,从而可以适应各种各样的串行设备, 这不就是所谓的“通用串行总线”吗? 简介:从本节开始,我们

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档