[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[usb] Doubt clarification by Broadcasting the answer!!!



Hi Govind and Ravi,
Well, to answer ur question, i wud take the instance of a Host Controller with two ports A and B.
Let us say to port A, a full speed device F1 is connected and another full speed device F2 connected to B.
All the packets that are meant for F1 from the HC is received by F2 as well. This is what we mean by broadcast by HC over all its ports.

If F1 has a bulk IN endpoint and F2 has a bulk OUT endpoint,
Case1: IN transaction with F1

  1. Both F1 and F2 receives the token packet
  2. F1 responds with the data packet

  3. if (the token addressed F1 and the bulk IN endpoint with the enpoint number suggested in the token exists in F1.)
  4. F2 does not respond to the token
  5. Both F1 and F2 receives the handshake packet but only the F1 deciphers it oz' we understand that the entire set of "packet exchanges" in a transaction is a sequence kept track by the device state machine.
Case2: OUT transaction with F2
  1. Both F1 and F2 receives the token packet
  2. F2 is ready to receive the data packet

  3. if (the token addressed F2 and the bulk OUT endpoint with the enpoint number suggested in the token exists in F2.)
  4. F1 does not take any action unless it is addressed by the token packet
  5. F2 receives the data packet and transfers  it in to its OUT endpoint.
  6. After successful reception of the data packet, F2 send the handshake (ACK) to the HC. Of coarse the handshake in this case is only between F2 and the HC.
I suggest that u would find it interesting to read the spec urself for the case where port A has a full speed device and port B has a low speed device connected to them.

Regards,
Srikanth Kashyap S.

govindsrajan@hotmail.com wrote:

Hi Ravi,

    The host always sends data to a particular device address or an
    endpoint in the device. The address and endpoint are sent in the
    token phase which is prior to the data phase.

    I don't think there is any broadcast mechanism in USB since host
    always talks to a specific address or an endpoint. Can anyone clarify
    on this?

    Thanks
    Govind

----- Original Message -----
From: Ravi Kumar <ravikumar_vlsi@y... >
To: usb@o...
Date: Fri, 14 Jun 2002 12:42:15 +0100 (BST)
Subject: [usb] usb clarifications
>
> hi all,
> In USB .
> Consider the OUT transaction ,
> will the host controller
> sends the data to all the devices in broadcast or
> will it  select particular hub where the devices is
> anchored & send the data to that particular hub .
>
> Pls reply
> Regards
> Ravikumar
>  --- govindsrajan@h...  wrote: > Hi,
> >
> >    During an enumeration process, what should be the
> > address value in
> >    the Setup Token. Is it always "zero" or the
> > address value of the device
> >    which is being sent in "Set Address" command in
> > the data phase?
> >
> >    SetUp Token (Sync,Pid,Addr,Endp,crc5,Eop) ; Addr
> > = 0 /  [1-128] ?
> >    Data            (Sync,Pid,Data0,crc16,Eop);  //
> > Data0 has the command
> >
> >    If I change the address of a device, what is the
> > address value in the
> >    Setup Token. Is it zero or the old value?
> >
> >    A quick reply is appreciated.
> >
> >    Thanks
> >    Govind

-- To unsubscribe from usb mailing list please visit http://www.opencores.org/mailinglists.shtml