DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 118|回复: 0
打印 上一主题 下一主题

单片机端点描述符

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 17:07:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

                      端点描述符具有7 B的长度,用来描述端点的属性以及各个端点的位置。对每个设备而言可能不止一种端点类型,其端点的数目由 上面的接口描述符的第5个字段bNumEndpoints设置。每一个端点都定义了一个如数据缓存器沟通点。例如,在CY7C630/1XX微控制器 系列中,以数据存储器0x70~Ox77地址,供端点0使用;另以数据存储器0x78~0x7F地址,供端点1使用。
  端点描述符用来描述除了端点0以外的端点。这个端点0总是预设为控制端点,并且甚至在任何描述符被要求之前,即已被加以配置 。而主机将会使用这些描述符所回传的信息来决定总线所需的带宽或各种设备的特性。
  在端点描述符中,包含了此端点的传输类型(控制、等时、批量或中断),以及最大传输率。以USB鼠标为例子,利用“View? Descriptors”项目与“Device Framework”项目所测试的端点描述符如图1和图2所示。



图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。为什么呢?这是因为批量传输具有非周期的特性,因此,不须设置查询间隔。
  
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-23 14:57 , 耗时 0.101934 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表