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

Re: [usb] USB pipes



 

Rudolf Usselmann wrote:

> Question about the USB function core that I'm developing:
>
> Should I make endpoints individually accessible or just create
> one pipe for all data and one pipe for control ?
>  

Since the USB Host can access endpoints in any order, you probably want to
think about having a pipe per endpoint that is double-buffered. This should
guarantee that the device can keep up with requests for data by the host.
If you offload too much to the software, you run into the problem where the
device has something else it needs to do that uses up a lot of the CPU's
horsepower and can't service the USB and the "application" at the desired
speed.
 

>  

>  
> That would mean that the software would have to do frame assembly.
> I would provide with each packet some sort of control information,
> which software could use for assembly.
>
> Or, I can create a separate pipe(in hardware) for each endpoint and
> do frame assembly in hardware. That would occupy a lot more resources
> and the number of endpoints would be limited in hardware. I could
> setup lets say 8 endpoints, and make it a compile option as to how many
> are really used ...
>  

I like that. Do we know what kind of applications the core is targeted for?
i.e. a printer only needs a couple of EP's  A compound device like a
scanner/printer/modem combo could eat up a lot more ep's. If I were doing
this, I would go with 8 minimum, and 16 if I could, then make the actual #
a compile option. If you use a big RAM for the pipe buffers, then each
additional endpoint only adds more internal registers as pointers into the
pipes, and software can allocate the RAM based on the application.

>  
> Any comments/suggestions ?
>
> Please follow up to: mailto:usb@opencores.org
>
> Thanks,
> rudi
begin:vcard 
n:Kentley;Mike
tel;pager:<a href="mailto:5419483810@page.nextel.com">Page Me!</a>
tel;cell:541-948-3810
tel;fax:541-318-6148
tel;home:541-948-3810
tel;work:541-948-3810
x-mozilla-html:TRUE
url:http://www.highdesertdesigncenter.com
org:High Desert Design Center
adr:;;;Bend;OR;;USA
version:2.1
email;internet:mkentley@ieee.org
title:Integrated Circuit Design Consultant
fn:Mike Kentley
end:vcard