newleaf
驱动牛犊
驱动牛犊
  • 注册日期2001-04-10
  • 最后登录2007-12-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3262回复:11

请问IN/OUT PACKET 是流向PC机还是USB设备

楼主#
更多 发布于:2001-06-12 21:36
我在用MOTOROLA 的908JB8开发时,遇到一问题。说明书是这么写的。
  When the device is configured, endpoint 1 is enable for interrupt transfer from PC. Endpoint 1 is capable of only sending information out from it. Therefore, only IN packets are accepted at the endpoint.

  为什么Endpoint 1只能是中断端点,而且只能用于发送信息。但却是只有IN packets 能被接收。
  请高手指教

最新喜欢:

jinghuirenjinghu...
nigx
驱动巨牛
驱动巨牛
  • 注册日期2001-04-29
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分14166分
  • 威望71910点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-06-12 22:49
USB芯片的每个端点被设计为支持何种类型,由硬件生产商决定的,你的芯片端点1设计只支持中断传输。

对于USB设备来说,每个端点通常有in 、out两个方向的端点(在某种情况下每个方向对应一个管道pipe),芯片的端点1分为endpoint1 in, endpoint1 out两个方向的端点。

必须说明的是在USB中的关于令牌包的IN、OUT均是对 主机 而言

的。 主机的IN是外设的输出。
   
newleaf
驱动牛犊
驱动牛犊
  • 注册日期2001-04-10
  • 最后登录2007-12-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-06-13 12:33
那么在USB设备中一个端点是否只能是设置为IN/OUT。而不能两者共存。
davy
驱动牛犊
驱动牛犊
  • 注册日期2001-04-24
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-06-13 13:27
两者可以共存,如endpoint 0,可以作为输入也可为输出

[davy 编辑于 2001-06-13 13:30]
davy gaw
peng-416
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-06-13 13:39
通常端点0是双向的,其它的都是单向的.
USB是以主机为中心的,只能由主机读信息,设备是不能主动的向主机发信息的.IN新是主机读信息,OUT就是主机向设备发信息.这样方向就易懂了.
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-06-13 15:06
[QUOTE]原本由 peng-416 发表
[B]通常端点0是双向的,其它的都是单向的.
USB是以主机为中心的,只能由主机读信息,设备是不能主动的向主机发信息的.IN新是主机读信息,OUT就是主机向设备发信息.这样方向就易懂了.
 [/B][/QUOTE]
我也有个问题:除了endpoint 0以外,其他端点可以是双向的吗?最好有谁实际使用过的。
另外,如果做多个Configuration,是不是可以动态切换?怎么做?
多谢各位!
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
Miki
驱动牛犊
驱动牛犊
  • 注册日期2001-05-08
  • 最后登录2004-04-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-06-13 17:47
[QUOTE]原本由 rayyang2000 发表
[B][QUOTE]原本由 peng-416 发表
[B]通常端点0是双向的,其它的都是单向的.
USB是以主机为中心的,只能由主机读信息,设备是不能主动的向主机发信息的.IN新是主机读信息,OUT就是主机向设备发信息.这样方向就易懂了.
 [/B][/QUOTE]
我也有个问题:除了endpoint 0以外,其他端点可以是双向的吗?最好有谁实际使用过的。
另外,如果做多个Configuration,是不是可以动态切换?怎么做?
多谢各位! [/B][/QUOTE]

我认为除了ENDPOINT0以外的端点可否作为双向送信用,取决于DEVICE的仕样。如果DEVICE提供的话,HOST方是NO PROBLEM的。

多个CONFIGURATION的动态切换是肯定可行的,这在一些支持图像传送的电话中运用较普遍。它是由HOST方对BCONFIGURATION设置适当的值进行代替设定。不过,代替设定而激活的ENDPOINT是不能在当前已使用的ENDPOINT。
Miki
buffalo
驱动牛犊
驱动牛犊
  • 注册日期2001-05-27
  • 最后登录2002-02-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-06-13 18:06
给定的端点类型决定它是什么传输方式,一般ep0为控制传输,
可以发送和接收。其他的端点要看芯片所赋予的功能,要么
interrupt,bulk in , bulk out, iso.
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-06-14 09:18
是这样的。
PDIUSBD12有3个端点,我想把EP1和EP2设置成2种Configuration:
1. EP1 -> BULK IN/OUT, EP2 -> ISO OUT
2. EP1 -> BULK IN/OUT, EP2 -> ISO IN
在需要的时候,在这2个Configuration中切换。各位知道是否可行?有谁这样做过?
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
buffalo
驱动牛犊
驱动牛犊
  • 注册日期2001-05-27
  • 最后登录2002-02-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-06-14 09:30
应该不可以,每个端点在芯片设计时就已经定好了属性
Miki
驱动牛犊
驱动牛犊
  • 注册日期2001-05-08
  • 最后登录2004-04-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-06-14 10:26
[QUOTE]原本由 rayyang2000 发表
[B]是这样的。
PDIUSBD12有3个端点,我想把EP1和EP2设置成2种Configuration:
1. EP1 -> BULK IN/OUT, EP2 -> ISO OUT
2. EP1 -> BULK IN/OUT, EP2 -> ISO IN
在需要的时候,在这2个Configuration中切换。各位知道是否可行?有谁这样做过? [/B][/QUOTE]

你所说的想法应该是无法实现的。的确,DEVICE的EP的传送方式及传送方向都已经由DEVICE做死了。
然而,所谓的动态切换只不过是切换CONFIGURATION中的INTERFACE而已。
1。INTERFACE 1:
   EP1 -> BULK IN/OUT, EP2 -> ISO OUT
2。INTERFACE 2:
   EP1 -> BULK IN/OUT, EP3 ->ISO IN

INTERFACE 1与INTERFACE 2的动态切换OK。

  
Miki
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-06-14 21:20
[QUOTE]原本由 Miki 发表
[B][QUOTE]原本由 rayyang2000 发表
[B]是这样的。
PDIUSBD12有3个端点,我想把EP1和EP2设置成2种Configuration:
1. EP1 -> BULK IN/OUT, EP2 -> ISO OUT
2. EP1 -> BULK IN/OUT, EP2 -> ISO IN
在需要的时候,在这2个Configuration中切换。各位知道是否可行?有谁这样做过? [/B][/QUOTE]

你所说的想法应该是无法实现的。的确,DEVICE的EP的传送方式及传送方向都已经由DEVICE做死了。
然而,所谓的动态切换只不过是切换CONFIGURATION中的INTERFACE而已。
1。INTERFACE 1:
   EP1 -> BULK IN/OUT, EP2 -> ISO OUT
2。INTERFACE 2:
   EP1 -> BULK IN/OUT, EP3 ->ISO IN

INTERFACE 1与INTERFACE 2的动态切换OK。

  
 [/B][/QUOTE]
1. PDIUSBD12的资料上说EP1可以做BULK IN/OUT,但我不知道它是说在同一种Interface中同时做IN和OUT,还是要分别在不同的Interface中?有没有人在除了EP0以外的某个端点上,在一个Interface中同时做IN和OUT的?别的芯片也可以。我现在想知道的是有谁实际实现过?或者从USB Spec上可以得到否定的结论;
2. 动态切换,到底是切换Interface还是Configuration?我看Driver里面有ActiveConfiguration,Interface只有Intialize。不管是哪一个,动态切换的时候,有哪些步骤?
多谢各位的热心回答。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
游客

返回顶部