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

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