阅读:4565回复:6
usb的endpoint,pipe之间的关系,及在那里注册有关信息?
endpoint,pipe之间的关系,及在那里注册有关信息?
|
|
沙发#
发布于:2002-05-10 09:46
我是想了解一下在windows下,是否在连接一个设备到PC时,USB总线驱动会向硬件请求此类参数?在设备中,endpoint,pipe是怎样一个关系?
想在一个BULK PIPE中传数据,CLIENT DRIVER是否要通过CONTROL PIPE 发送命令给硬件(在命令中指定通过那个管道发送数据,因为 一个设备可能有几个bulk pipe)?还是设计时就与硬件协商好? |
|
板凳#
发布于:2002-05-10 12:01
就我个人理解,是写驱动时定义对应关系的
|
|
地板#
发布于:2002-05-10 12:10
端点是硬件设备中的一组缓冲区,用来与PC机交换数据用的,在PC机中,为了与这几个所谓的端点通信,就把它封装成一个管道(其中包含端点的地址,端点缓冲区的长度等),这样PC机与之通信的时候就只要用这个管道的句柄就可以方便的与之交换数据了
|
|
地下室#
发布于:2002-05-10 12:13
你要多给点分哦,我下载东西时,分全被吃掉了
|
|
5楼#
发布于:2002-05-10 13:35
端点(ENDPOINT):每一个USB设备在主机看来就是一个端点的结合,主机只能通过端点与设备进行通信,以使用设备的功能;每一个端点实际上就是一个一定大小的数据缓冲区。
管道(PIPE):一个USB管道是驱动程序的一个数据区缓冲与一个外设端点的连接,它代表了一种在两者之间移动数据的能力。一旦设备被配置,管道就存在了。 |
|
|
6楼#
发布于:2002-05-11 17:39
pipe (管道)并不是一个实际存在的物理实质,只是逻辑上的一个东西,比如d12芯片有三个端点,那它在被配置完之后就会有三个管道和主机通信。在通信时并不需要指明哪个通道,只要把数据写入一个端点,那个端点自然会用它自己与主机之间的管道传输数据。而你说的bulk pipe,实际上说bulk endpoint我觉得更确切,因为在上电初期的协议传输阶段,应该是把每一个管道的传输方式定义成四种中的一个(实际上并不是都能使任意是四种之一,管道零一定是控制传输),所以bulk(批量)应该是管道的传输方式
|
|
|