Re: musb + full speed device

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

 




Hi Alan,

What happens if you attach the full-speed device to a high-speed hub
and plug that hub into the MUSB?


That's a very interesting test i will definitely do. Unfortunately, even if that solves the problem, we could not use that on our production boards because we cannot change the design, we are very advanced and nearly approaching the production phase. We have no chance of changing any hardware, it should be a software solution.

I'm also very interested in any opinions about my assumptions because I really don't know if I'm misunderstanding something and the problem could be on any other place.

Basically that assumptions were that we are sending too small packets (64B) which combines with the interrupt latencies and the degraded performance of MUSB as it has more work done in software than an EHCI interface. So for reaching the required 0.5MB/s by reducing the time spent on the OMAP micro (which i find difficult) or by increasing the packet size, having to use the Isochronous interface with a risk of packet losing.

Thanks :)


On 21/06/14 15:07, Alan Stern wrote:
On Sat, 21 Jun 2014, Pedro Erencia wrote:

Hi,

We are developing an ecg (electrocardiogram) application on an OMAP3
device (DM3730 ti).

An acquisition board gets the samples in microseconds and sends them
to the OMAP board via USB.

This acquisition board does a 16KHz sampling which results in ~4000
bytes sent every 8ms to the OMAP board; that gives a necessary
throughput of ~0.5MB/s. This acquisition board  device is a full-speed
one, and the transfers are done in bulk endpoints, so 64B maximum
packet size.
So 500 B/ms, or about 8 64-byte packets per frame.  Since the USB
limit on full-speed bulk transfers is 19 packets per frame, you're well
within the limit.

Given the 1.5 MB/s max _theoretical_ throughput of a full-speed
device, it should be enough. And it is if we connect it on an EHCI
external Host. The problem comes when we try to use the MUSB OTG
configured as host. In that case we get ~300KB/s so the host and the
device became desynchronized and a great mess happens :).

That could be resolved if we use the EHCI Host Controller with the
full-speed device or the MUSB with a high speed device. Unfortunately,
we cannot do any of that.
What happens if you attach the full-speed device to a high-speed hub
and plug that hub into the MUSB?

Alan Stern


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux