单片机端点描述符

11-20| http://www.dianzi6.com | 单片机学习|人气:573

单片机端点描述符

  端点描述符具有7 B的长度,用来描述端点的属性以及各个端点的位置。对每个设备而言可能不止一种端点类型,其端点的数目由 上面的接口描述符的第5个字段bNumEndpoints设置。每一个端点都定义了一个如数据缓存器沟通点。例如,在CY7C630/1XX微控制器 系列中,以数据存储器0x70~Ox77地址,供端点0使用;另以数据存储器0x78~0x7F地址,供端点1使用。

  端点描述符用来描述除了端点0以外的端点。这个端点0总是预设为控制端点,并且甚至在任何描述符被要求之前,即已被加以配置 。而主机将会使用这些描述符所回传的信息来决定总线所需的带宽或各种设备的特性。

  在端点描述符中,包含了此端点的传输类型(控制、等时、批量或中断),以及最大传输率。以USB鼠标为例子,利用“View  Descriptors”项目与“Device Framework”项目所测试的端点描述符如图1和图2所示。

图1 View Descriptors项目所测试的端点描述符

图2 Device Framework项目所测试的端点描述符

  以下列出端点描述符的范例、数值以及各个字段的意义。

  db 07h   ;bLength,长度大小(7字节)

  db 05h   ;bDescriptorType,描述符类型,5代表端点(1字节)

  db 81h   ;bEndpointAddress,端点地址([ox8o IN,0 OUT]),在这个例子中,

  ;端点编号为1且为IN端点(1字节)

  db 03h   ;bmAttributes,传输类型的属性设置为中断传输(0:控制,1:等时,

  ;2:批量,3:中断)(1字节)

  db 04h,OOh ;wMaxPacketSize,最大封包的大小设置为3 B(2宇节)

  db 0Ah   ;blnterval,查询间隔,以ms为单位,在此设置为lO ms(1字节)

  端点是PC主机与设备之间,互相传递数据与命令的最小信道或管线。有些原文数据,直接称这种端点为管线。所以端点描述符在稍 后的数个章节中,会大量地加以应用与探讨。而在此描述符中,特别要注意bEndpointAddress字段值,首先第1个位是用来决定方向 的(IN或OUT)。也因此才能把最后4个位的端点编号扩充为32个。但实际可设计至15组,外加一个端点0,总共是31个端点。而 bmAttributes字段值则决定端点的类型,是等时、批量或中断(代表了相对所要执行的等时、批量以及中断传输)。在其次的 wMaxPacketSize字段值则决定每一帧所能传递的最大封包大小。而2字节则可提供给等时传输高达1 023字节。

  最后的blnterval字段值,则是设置每个传输类型的查询间隔。在本章稍前提及,中断与等时传输是同步的,须预设查询的间隔。而 中断传输在慢速时设置为l0~255ms,快速时设置为1~255 ms。对于等时传输,则不用说一定要设置为1 ms。但是,对于异步的批量 传输须设置多少呢?答案是0 ms。为什么呢?这是因为批量传输具有非周期的特性,因此,不须设置查询间隔。

  


如果觉得 单片机端点描述符这篇文章不错,可以推荐给朋友分享哦。
本文Tags:单片机开发,单片机原理,单片机教程,单片机学习,
相关单片机学习资料


温馨提示; 本站的资料全部免费下载,为方便下次找到本站记得将本站加入收藏夹哦,牢记网址http://www.dianzi6.com

此页提供单片机端点描述符单片机开发,单片机原理,单片机教程, 单片机学习参考。本站还有更多的单片机学习相关资料分享。
Copyright© www.dianzi6.com Inc. All rights reserved 。 1 2 3 4 5 6 7 8