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

usb 设备驱动开发前的一个问题!!

楼主#
更多 发布于:2002-10-08 08:54
        在开发一个usb 设备时,需要知道这个设备的 endpoint ,以及这个endpoint 的数据传输方式。
      那么怎么来定义或知道一个设备有几个端点呢?以及这些端点对应的传输方式?
<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我cool 故我在!<br></b></font></table> [img]http://www.driverdevelop.com/forum/upload/wavelight/2002-12-13_1.gif[/img]<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我在 故我cool!<br></b></font></table>
vhdl
驱动牛犊
驱动牛犊
  • 注册日期2002-06-17
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-08 09:41
根据你的要求进行
比如大量的数据传输
就用bulk方式
wavelight
驱动老牛
驱动老牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-08 10:04
根据你的要求进行
比如大量的数据传输
就用bulk方式


能不能详细一点,比如:开发一个usb 手柄驱动程序, 该怎么来定义设备的端点?

     谢谢!! :)

[编辑 -  10/8/02 by  wavelight]
<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我cool 故我在!<br></b></font></table> [img]http://www.driverdevelop.com/forum/upload/wavelight/2002-12-13_1.gif[/img]<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我在 故我cool!<br></b></font></table>
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-08 20:46
你需要什么就定义什么,不要反过来思考问题
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
wavelight
驱动老牛
驱动老牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-09 08:18
你需要什么就定义什么,不要反过来思考问题


谢谢  rayyang2000 版主的答复!
我对 端点的概念有点模糊! 能不能再解释一下!或再举个例子
说明一下?  谢谢!
<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我cool 故我在!<br></b></font></table> [img]http://www.driverdevelop.com/forum/upload/wavelight/2002-12-13_1.gif[/img]<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我在 故我cool!<br></b></font></table>
sololiu
驱动牛犊
驱动牛犊
  • 注册日期2002-09-30
  • 最后登录2002-10-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-09 08:57
wavelight老兄,你的人缘一定比我好,呵呵,我的同样的问题放了那么久,就是没有人回答。看来还是你比较招人喜欢啊! :P
独奏
wavelight
驱动老牛
驱动老牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-10-09 09:06
wavelight老兄,你的人缘一定比我好,呵呵,我的同样的问题放了那么久,就是没有人回答。看来还是你比较招人喜欢啊! :P



呵呵~~~~~
运气比你好一点而已!! :)
 :)
有机会多交流交流!!
<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我cool 故我在!<br></b></font></table> [img]http://www.driverdevelop.com/forum/upload/wavelight/2002-12-13_1.gif[/img]<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我在 故我cool!<br></b></font></table>
sololiu
驱动牛犊
驱动牛犊
  • 注册日期2002-09-30
  • 最后登录2002-10-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-10-09 10:22
wavelight老兄,usb1.1的协议中提到传输速率可以达到200多兆,可是为什么协议中电器特性这一章中说选用高速线缆的速率为12Mb呢?这是为什么?请指点。 :P
独奏
wavelight
驱动老牛
驱动老牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-10-09 11:06
wavelight老兄,usb1.1的协议中提到传输速率可以达到200多兆,可是为什么协议中电器特性这一章中说选用高速线缆的速率为12Mb呢?这是为什么?请指点。 :P


usb 2.0才说速度能达到240M啊
usb1.0 还只是说低速1.5M ,高速 12M 。

不过这些都是理论数据,实际情况因为各方面对带宽的占用,速度不可能达到理论值。
<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我cool 故我在!<br></b></font></table> [img]http://www.driverdevelop.com/forum/upload/wavelight/2002-12-13_1.gif[/img]<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我在 故我cool!<br></b></font></table>
start
驱动小牛
驱动小牛
  • 注册日期2001-11-05
  • 最后登录2010-09-03
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望27点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-10-09 11:49
可以通过控制端点来定义你想要的数据传输endpoint的传输方式,比如bulk传输还是interrupt传输
second
wavelight
驱动老牛
驱动老牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-10-09 11:57
可以通过控制端点来定义你想要的数据传输endpoint的传输方式,比如bulk传输还是interrupt传输


也就是说四种传输方式: 控制,等时,中断,块

选择了一种传输方式就是定义了一个端点,端点?? :)
<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我cool 故我在!<br></b></font></table> [img]http://www.driverdevelop.com/forum/upload/wavelight/2002-12-13_1.gif[/img]<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我在 故我cool!<br></b></font></table>
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-10-10 08:48
是根据应用的需要来确定传输方式,再根据传输方式来定义ENDPOINT。一般数据量小而实时性高的用中断传输,比如你所说的usb 手柄。而数据量大而实时性低的用BULK传输,比如打印机驱动。而数据量大而实时性高的用同步传输,比如音频和视频。
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
wavelight
驱动老牛
驱动老牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-10-10 09:35
是根据应用的需要来确定传输方式,再根据传输方式来定义ENDPOINT。一般数据量小而实时性高的用中断传输,比如你所说的usb 手柄。而数据量大而实时性低的用BULK传输,比如打印机驱动。而数据量大而实时性高的用同步传输,比如音频和视频。


谢谢答复!!!
还有一点:  你说的“根据传输方式来定义ENDPOINT”,怎么定义这个ENDPOINT呢??
     最好能举个例子说明一下! 再谢! :) :)
<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我cool 故我在!<br></b></font></table> [img]http://www.driverdevelop.com/forum/upload/wavelight/2002-12-13_1.gif[/img]<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我在 故我cool!<br></b></font></table>
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-10-10 11:05
这就要根据你所使用的USB芯片来确定了
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
wavelight
驱动老牛
驱动老牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-10-10 12:53
这就要根据你所使用的USB芯片来确定了


应该利用芯片的那些参数来定义 endpoint 呢??
还望指教!! :)
<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我cool 故我在!<br></b></font></table> [img]http://www.driverdevelop.com/forum/upload/wavelight/2002-12-13_1.gif[/img]<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我在 故我cool!<br></b></font></table>
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-10-10 14:08
不同的USB芯片的定义EP的方式不同,但是总的说来,EP的属性都是这些东东:EP号、方向、传输类型、EP缓冲区的大小尺寸。
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
zhaohaijian
驱动牛犊
驱动牛犊
  • 注册日期2002-05-19
  • 最后登录2002-12-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-10-10 19:36
endpoint是你所用的USB芯片的一个特性,每一种芯片在制造的时候就已经定义好了endpoint,比如USBZN9603,它有6个endpoint,而且每一个都有自己的特点,这些都在它的说明书上,还有芯片的引脚功能,说明书上都有详细的解释。endpoint支持的传输类型也在上面,不过,在做驱动程序时,你要根据你的要求,为每一个端点选择合适的传输方式。
wavelight
驱动老牛
驱动老牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-10-11 08:47
endpoint是你所用的USB芯片的一个特性,每一种芯片在制造的时候就已经定义好了endpoint,比如USBZN9603,它有6个endpoint,而且每一个都有自己的特点,这些都在它的说明书上,还有芯片的引脚功能,说明书上都有详细的解释。endpoint支持的传输类型也在上面,不过,在做驱动程序时,你要根据你的要求,为每一个端点选择合适的传输方式。


谢谢你的详细答复!!:)
写一个较高层的驱动程序是不是没有必要知道这些详细的信息??
比如说我现在在尝试写一个 usb 手柄的驱动程序 (用的是cypress 的芯片,而且系统已有标准的驱动程序,但我想自己写一个),构建在系统的类驱动之上,我有没有必要了解得那么详细呢?? :) :)
<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我cool 故我在!<br></b></font></table> [img]http://www.driverdevelop.com/forum/upload/wavelight/2002-12-13_1.gif[/img]<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我在 故我cool!<br></b></font></table>
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-10-11 09:20
你可以不用了解全部,但是,固件中申明的EP的EP号、类型、方向、以及缓冲区尺寸必须要了解。
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
wavelight
驱动老牛
驱动老牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-10-11 09:58
你可以不用了解全部,但是,固件中申明的EP的EP号、类型、方向、以及缓冲区尺寸必须要了解。


EP 或者说 endpoint 可以理解是 芯片的 I/O口吧??
<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我cool 故我在!<br></b></font></table> [img]http://www.driverdevelop.com/forum/upload/wavelight/2002-12-13_1.gif[/img]<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我在 故我cool!<br></b></font></table>
上一页
游客

返回顶部