



some question abotu USB
by Unknown on Mar 4, 2004 |
Not available! | ||
Hi Marc,
Sorry to bother with this mail , can i ask some simple question about usb?
1. Is that only endpoint 0 can be a inout endpoint ?
2. If some of the endpoint , like endpoint 2, is using control transfer . Can it be an inout endpoint ?
3. Due to the tree architecture of USB, is that my device can recieve any packet on the usb bus ? I mean can my device (address 3)receive the packets sending to other device (address 2) ? Is that all packets are boardcasting?
I am looking forward to your reply.
Regards,
TOM
_________________________________________________________________
MSN ¬Ûï´£¨Ñ±z³Ì²³æªº¤è¦¡¤À¨É¨Ã¦C¦L±zªº¬Û¤ù¡A½Ã²¾¦Ü : http://photos.msn.com.hk/support/worldwide.aspx
|
some question abotu USB
by Unknown on Mar 4, 2004 |
Not available! | ||
-----Original Message-----
[mailto:usb-bounces@opencores.org]On Behalf Of KO TOM
Subject: [usb] some question abotu USB
1. Is that only endpoint 0 can be a inout endpoint ?
An endpoint is the concatenation of the endpoint number and it's direction. So, there can be two endpoints associated with a given endpoint number (an In endpoint and an out endpoint). When an endpoint is defined as an IN/OUT endpoint, it is really a pair of endpoints that share a common endpoint number. So, it is kind of a misnomer. However, since in common practice, there is only one IN/OUT endpoint and that is the control endpoint, we just call it endpoint 0, when technically we should call it the IN/OUT endpoint pair of control endpoint number 0. So, no, any endpoint number can be an IN/OUT endpoint. However, I have never seen any device with more than one control endpoint.
2. If some of the endpoint , like endpoint 2, is using control
transfer . Can it be an inout endpoint ? It could, but why would you do this?
3. Due to the tree architecture of USB, is that my device can
recieve any packet on the usb bus ? I mean can my device (address 3)receive the packets sending to other device (address 2) ? Is that all packets are boardcasting? You will see all packets from the host, and none from other devices. Marc Reinig System Solutions Windows Driver and Embedded Product Consulting |
some question abotu USB
by Unknown on Mar 5, 2004 |
Not available! | ||
There is no defined sequence for a host to enumerate a device. It varies
from OS to OS and release to release. The key to success is to do whatever the host asks and make sure your response complies with the spec. Do not rely on any particular sequence. Things to watch for: * The host will often ask for more than you have got. Reply only with what you have, never more. * The host can terminate a setup request before you have sent all that it asked for. It will do this by sending status or a new Setup. * The host will often ask for less than you have. Make sure you only send what it asks for. * After the host sends a Set Address, make sure you are listening on the new address. But, don't do this until after the end of the status phase. This is the only Setup where you don't complete the request until after status. All other you complete the request and then enter the status phase. Marc Reinig System Solutions Windows Driver and Embedded Product Consulting
-----Original Message-----
From: KO TOM [mailto:tomko81@hotmail.com]
Sent: Thursday, March 04, 2004 6:26 PM
To: mreinig@pacbell.net; tomko81@hotmail.com
Subject: RE: [usb] some question abotu USB
Dear Marc,
Thx for your reply, however , i do confused about the process of
enumeration of USB device.
I have read some books and documentation talking about the
enumeration process, the steps are:
1. host - > reset
2. host -> request for device descriptors by default address 0
3. device -> responding with first 8 bytes of device descriptor
4. host -> reset
5. host -> set new address for device
6. host -> request for device descriptors with new address
7. device -> responding with all 18 bytes of device descriptor
8.host -> get configuration from device
9.host -> set configuration to device
Is the above steps correct for USB enumeration? Is that OS will
appear a "find new hardware" window after the above steps ? Any
more reset step i have missed above?
What I am confused is step 2 the first time host ask for descriptor:
Will the host actually ask for 8 bytes of descriptor( the host
should send out 80 06 00 01 00 00 08 00) or the host is actually
asking for 18 bytes ( the host should send out 80 06 00 01 00 00
12 00) but we just return it with first 8 bytes?
If we are returning 8 bytes descriptor, what should be the value
of first byte of descriptor we return? 12H or 08H?
In my mind, i guess the default max packet size should be 8
before the host get our descriptor, so device can only send data
packet with 8 bytes in step 2 but can return the whole descriptor
( 18 bytes) in a single packet in step 7.
Am my guess right ?
Also , USB1.1 and USB 2.0 are using the same hardware interface ,
when the device is plugged into the usb bus, how can the host
know it is running at 1.1 speed or 2.0 speed? (i mean slow, full
and high speed in usb).
Sorry for asking so much question, I am looking forward to
hearing from you.
Regards,
TOM
>From: "Marc Reinig" mreinig@pacbell.net>
>Reply-To: "Discussion list about free,open source USB IP core"
usb@opencores.org>
>To: "Discussion list about free,open source USB IP core"
usb@opencores.org>
>Subject: RE: [usb] some question abotu USB
>Date: Thu, 4 Mar 2004 07:32:19 -0800 > > >
> -----Original Message-----
> [mailto:usb-bounces@opencores.org]On Behalf Of KO TOM
> Subject: [usb] some question abotu USB
>
> 1. Is that only endpoint 0 can be a inout endpoint ?
> >An endpoint is the concatenation of the endpoint number and it's direction.
>So, there can be two endpoints associated with a given endpoint
number (an
>In endpoint and an out endpoint). When an endpoint is defined
as an IN/OUT
>endpoint, it is really a pair of endpoints that share a common endpoint
>number. So, it is kind of a misnomer. However, since in common practice,
>there is only one IN/OUT endpoint and that is the control
endpoint, we just
>call it endpoint 0, when technically we should call it the
IN/OUT endpoint
>pair of control endpoint number 0.
> >So, no, any endpoint number can be an IN/OUT endpoint. However, I have >never seen any device with more than one control endpoint. >
> 2. If some of the endpoint , like endpoint 2, is using control
> transfer . Can it be an inout endpoint ? > >It could, but why would you do this? >
> 3. Due to the tree architecture of USB, is that my device can
> recieve any packet on the usb bus ? I mean can my device (address > 3)receive the packets sending to other device (address 2) ? Is > that all packets are boardcasting? > >You will see all packets from the host, and none from other devices. |



