escape
驱动老牛
驱动老牛
  • 注册日期2002-02-01
  • 最后登录2004-08-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:775回复:1

基本问题

楼主#
更多 发布于:2003-02-27 15:01
<<10分钟完成一个USB驱动程序
(Rayyang2000倾情奉献)
>>
中一段文字如下:

 :) :) :) :) :) :)
EP 类型 地址 buffer(Bytes)
0 IN/OUT Control 0x80/0x00 16/16
1 IN/OUT Bulk 0x81/0x01 16/16
2 IN/OUT Bulk 0x82/0x02 64/64
 :) :) :) :) :) :)

 :(请问地址是根据什么来设置的呢?
是和usb芯片相关?还是和C51芯片相关?
 :(还有Bytes的大小又是根据什么来设置的呢?
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-02-27 17:36
1,根据usb芯片来设置的,版主文中写的是philips的d12,遵循的是usb1.1协议,例如cypress的cy7c68013除了端点0(in,out各1,大小为64B)外,还有2、4、6、8四个可配置的端点,对于BULK和INT模式,最大包大小最大为512字节,而对于ISO模式不能大于1024(这个数字记不太清了)
注:协议规定,每一款USB芯片的端点总数最多为32个,不得超出这个限制!
2,BUFFER的大小出了协议限制外,还受端点类型的限制。
1)1。1协议:控制端点0最大包大小为16B;其它数据端点根据端点类型不同而不同,BULK和INT一致,都是最大为64B,也可以设置为8、16、32、64中的任何一种,对于ISO不大记得了 :D
2)2。0协议:控制端点0为64B,BULK和INT最大为512,可以去1-512中的任意一个数(3.5可不行 :D),ISO我记得好像是0-1023,(没有用过这个所以没太在意)

以上内容入有纰漏,敬请批评指正! :D
游客

返回顶部