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

RE: [usb] Endpoint Numbers



Rudolf,

Rudolf> OK, so you are saying that a given endpoint can only be on of the
three (control, IN or OUT) ? I must have misunderstood the spec !
Peter: Whatever you are doing now in bit 24-27 of endpoint CSR 4.4.1 of spec
0.4 is fine.

Rudolf> So do you think I should make the actual endpoint ID (4 bit field)
programmable ? At synthesis time somebody may instantiated 4 endpoints,
but he want's them to be endpoint 0,1,5 and 6. Making it programmable the
function software may choose the final endpoint numbers. If not they
would be fixed 0,1,2,3 for the above example.
Peter: There is no need for endpoint number field for endpoint CSR. Whatever
endpoint not implemented can be read as all zero in endpoint CSR. They can
either be synthesis out by script during compile time, or programmed during
run time. In anyway, the register addressing depicts the endpoint number.

If you don't see my response within 24 business hours to your email, please
email me using pteng@mail.com, pteng@yahoo.com or peter_teng@el.nec.com, or
please call me direct. Sorry in advance for the trouble that may caused you.

best regards,
"Peter" Chu Tin Teng
Computing technology I/O Group
NEC Electronics Inc.
Physical address
3301 Olcott St.,
Santa Clara, CA 95054

Mailing address
Olcott Building
2880 Scott Blvd., M/S: SC2302
P.O. Box 58062
Santa Clara, CA  95052-8062
Tel: (408)9692766
Fax: (408)9692435
Email: peter_teng@el.nec.com/pteng@mail.com


-----Original Message-----
From: Rudolf Usselmann [mailto:rudi@asics.ws]
Sent: Wednesday, January 10, 2001 6:58 PM
To: usb@opencores.org; Peter Teng
Subject: Re: [usb] Endpoint Numbers



Hi Peter !

on 1/11/01 1:27, Peter Teng at peter_teng@el.nec.com wrote:
> Rudolf,
>
> There are four types of endpoints (or transactions), namely, control,
> interrupt, isochronous and bulk. For control endpoints, they can be either
> In or Out. As for the rest, they are only In or Out. And within control
> transaction, there may be control, in, out, and status packets. As for the
> rest, there are in, out or status packets.

OK, so you are saying that a given endpoint can only be on of the
three (control, IN or OUT) ? I must have misunderstood the spec !

So do you think I should make the actual endpoint ID (4 bit field)
programmable ? At synthesis time somebody may instantiated 4 endpoints,
but he want's them to be endpoint 0,1,5 and 6. Making it programmable the
function software may choose the final endpoint numbers. If not they
would be fixed 0,1,2,3 for the above example.

> You can implement two different schemes. One is fixed by synthesis, which
> mostly implemented to save gates. And other one is register set. So
instead
> of linked list, where the hardware has to fetch, read, compare and move on
> next, a finite number of comparators can be used to check the endpoint
> configuration.
> I am not familiar with all the classes. But so far from the cases that I
> have dealt with is that the endpoints are either control, in or out only
at
> one time. But they could be changed during run time due to different
> configurations, interfaces or alternative interfaces.
>
> best regards,
> Peter

Thanks a lot for your help !

rudi