原创 USB学习笔记3:端点与传输模式

2009-5-18 17:49 9966 10 11 分类: MCU/ 嵌入式

USB学习笔记3:端点与传输模式<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


端点——端点位于USB 外设内部,所有通信数据的来源或目的都基于这些端点,是一个可寻址的FIFO


每个USB 外设有一个唯一的地址,可能包含最多十六个端点。主机通过发出器件地址和每次数据传输的端点号,向一个具体端点(FIFO)发送数据。每个端点的地址为0 15,一个端点地址对应一个方向。所以,端点2-IN 与端点2-OUT 完全不同。 每个器件有一个默认的双向控制端点0,因此不存在端点0-IN 和端点0-OUT



 


CH372提供如下端点:(5个物理端点)


? EP0:默认控制点(CONTROL)


? EP1-OUT


? EP1-IN


? EP2-OUT


? EP2-IN


 


端点0默认端点,支持上传和下传,上传和下传缓冲区各是8个字节


 


端点1包括上传端点下传端点,上传和下传缓冲区各是8个字节,上传端点的端点号是81H


下传端点的端点号是01H


 


端点2包括上传端点下传端点,上传和下传缓冲区各是64 个字节,上传端点的端点号是82H,下传端点的端点号是02H


 


CH372内置固件模式:


EP1-OUT——辅助下传


EP1-IN  ——中断上传


EP2-OUT——批量下传


EP2-IN  ——批量上传


 


CH372外部固件模式:


EP0    ——默认端点


EP1/EP2——根据USB产品的需要选择使用,可以由外部固件提供的描述符分别定义其用途。


            EP1——辅助端点


            EP2——数据传输的主端点


______________________________________________________________

 


USB四种传输模式


控制传输批量传输中断传输同步传输


USB 有上述四种传输类型。枚举期间外设告诉主机每个端点支持哪种传输类型。


 


USB设备驱动向USB控制器驱动请求的每次传输被称为一个事务(Transaction),


事务有四种类型:Bulk TransactionControl TransactionInterrupt TransactionIsochronous Transaction


 


数据包包含部分


每次事务都会分解成若干个数据包在USB总线上传输。每次传输必须历经两个或三个部分,第一部分——USB控制器向USB设备发出命令,


第二部分——USB控制器和USB设备之间传递读写请求,其方向主要看第一部分的命令是读还是写,第二部分有时候可以没有


第三部分——握手信号。


 


批量(Bulk)传输事务


作用:主要应用在数据大量数据传输和接受数据上同时又没有带宽和间隔时间要求的情况下;


特点:要求保证传输。打印机和扫描仪属于这种类型这种类型的设备


适合于传输非常慢和大量被延迟的传输,可以等到所有其它类型的数据的传输完成之后再传输和接收数据。


 


批量数据传输分三个阶段:


第一部分——令牌阶段。


Host端发出一个Bulk的令牌请求。


如果令牌是IN请求  ,则是从DeviceHost的请求;


如果令牌是OUT请求,则是从HostDevice端的请求。


第二部分——传送数据的阶段。


根据先前请求的令牌的类型,数据传输有可能是IN方向,也有可能是OUT方向。传输数据的时候用DATA0DATA1令牌携带着数据交替传送。


数据传输格式DATA1DATA0,这两个是重复数据,确保在1数据丢失时0可以补上,不至于数据丢失。


 


第三部分——握手阶段。


如果数据是IN   方向,握手信号应该是Host端发出;


如果数据是OUT方向,握手信号应该是Device端发出。


握手信号可以为ACK  表示正常响应,


 NAK  表示没有正确传送。


STALL表示出现主机不可预知的错误。


如图所示。




<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />309d16c8-3788-42b1-8a02-1bd783b31ef2.JPG 


Bulk传输


 




f9e7bf6d-817e-4b9c-be65-e89fb9ae4bf4.JPG 


Bulk传输时的令牌


 


 


控制(Control)传输


作用:USB系统软件用来主要进行查询配置和给USB设备发送通用的命令;


特点:控制传输是双向传输,数据量通常较小;数据传送是无损性的。


数据宽度:控制传输方式可以包括8163264字节的数据,这依赖于设备和传输速度。


 


控制传输典型地用在主计算机和USB外设之间的端点0EP0)之间的传输


控制传输也分为三个阶段,即令牌阶段数据传送阶段握手阶段,如下图所示。


 




4a183172-e426-4059-968b-46b9029d0936.JPG 


图 控制传输事务


 


中断(Interrupt)传输事务


作用:主要用于定时查询设备是否有中断数据要传输;


特点:设备的端点模式器的结构决定了它的查询频率从1255ms之间。


典型的应用在少量的分散的不可预测数据的传输键盘操纵杆和鼠标就属于这一类型


(数据量很小)


中断方式传输是单向的并且对于host 来说只有输入(IN)的方式


 


在中断事务中,也分为三个阶段,即令牌阶段数据传输阶段握手阶段,如下图所示。


 




95f4a46a-31e2-4c2c-b8c1-a2958d9c7a1a.JPG 


中断传输事务


 


同步(Isochronous)传输事务


作用:用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传输率的即时应用中。例如执行即时通话的网络电话。


特点:保证传输的同步性。保证每秒有固定的传输量。


(与Bulk传输不同)同步传输允许有一定的误码率。(这样符合视频会议等传输的需求,因为视频会议首先要保证实时性,在一定条件下,允许有一定的误码率。)


 


同步传输事务有只有两个阶段,即令牌阶段、数据阶段,因为不关心数据的正确性,故没有握手阶段,


 


如下图所示:




2e7ea581-6a3a-4f0f-92cd-b1384dfcf603.JPG 


图 同步传输事务


 



 


CH372支持 控制传输批量传输中断传输


 


 


 


参考资料:


1)            USB协议的中文简要说明


2)            USB四种传输模式 - 51CTO.COM


http://book.51cto.com/art/200807/79726.htm

文章评论1条评论)

登录后参与讨论

coyoo 2013-1-15 14:33

注:图2以及图6的纵轴的单位是ps. 另,图6的Raw BIN其实就是图2的内容,图6是将图2和经切割后的BIN'进行比较.

用户1371615 2012-4-7 17:06

最近在用CH372在做东西,但是看了那么多关于这个芯片的资料还是有很多地方不了解,希望能得到解答 1、CH372有3个端点,单片机接收数据的时候我怎么知道是哪个端点接收到主机的数据的,看了芯片资料,没有相关的命令。 2、看了网上的那些程序,都是在用端点2进行数据传输,要是我想用端点0的话怎么办,芯片资料上写在内置固件模式的USB设备方式下,单片机只需要处理表中标注为 灰色的中断状态,CH372 内部自动处理了其它中断状态。那就是说芯片在端点0的时候,根本不需要单片机做处理,要是不需要单片机做处理的话,数据怎么出来,直接读取IO口上的数据就可以了么
相关推荐阅读
藤井树 2015-10-12 14:43
印制电路板的抗干扰设计 zz
印制电路板的抗干扰设计     作者:中船重工集团第707所 肖麟芬   摘   要:本文以印制电路板的电磁兼容性为核心,分析了电磁干扰的产生机理...
藤井树 2013-10-22 15:32
2010.5.30 黄草梁上包饺子一日登山活动——摘韭菜篇
        上次桃花节的时候也有野韭菜,那时候的我连草和韭菜叶分不清,才回去的韭菜也不敢吃,哈哈,这次可算真正见识了韭菜,黄草梁也叫韭菜梁,因为满山遍野都是野韭菜而闻名,比较圆比较粗的就是野韭...
藤井树 2013-10-22 15:28
2010.5.30 黄草梁上包饺子一日登山活动——包饺子篇
摘韭菜回来,大家已经忙开了 我也装模作样地“工作着” 哈哈,还不让我包,包饺子是技术活,一定要皮薄馅厚才有资格包,像我这样的只能旁观了 摘的韭菜应该足够了,旁边那个袋子是我摘来带回学校的 ...
藤井树 2013-08-09 15:19
datasheet下载网站整理(查IC芯片手册)【原创】
*************************************************************************         作为电子工程师,芯片的dat...
藤井树 2010-06-04 00:21
陈伟宁王辉一家捐助渠道(北京菲亚特—英菲尼迪)
       王辉的最新消息请关注 http://chenweining.org/       目前事故责任认定已经出来了——陈家全责。        发信人: program (程序), 信区: D...
藤井树 2010-06-01 13:43
2010.5.30 黄草梁上包饺子一日登山活动——美景篇
这天不得不说的是天空,蓝蓝的天空,白白的云    绿油油的山脊  我、洪涛哥哥、huangna妹妹还有她同事小艾走在黄草梁上    在蓝天白云下合影       阳光照过来,景色真美 象鼻山,走不...
我要评论
1
10
关闭 站长推荐上一条 /2 下一条