Re: usb scheduler

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

 



On Fri, Jul 27, 2012 at 5:04 PM, Peter Stuge <peter@xxxxxxxx> wrote:
> Alexey Filin wrote:
>> So USB is not a "classic" bus and not universal, it is a network
>> with non-constant delay.
>
> Whatever "classic" bus means.. USB is a packet-based communications
> bus with well-defined timing characteristics.
>
> It is obviously not a local bus, as you know from PC architecture the
> USB is quite far away from the CPU.
>
> The USB spec is pretty clear about the motivation and design goals
> leading to USB. I for one think that USB is pretty darn good. It is
> certainly a success in the mass market.

Me too. USB price / performance is very good for consumer market and
that doesn't mean it is a good solution for all use cases as one can
think about "universal bus". Rather "for all gadgets", not "for all
use cases".

>
> Your application is clearly *not* a mass market application. So you
> need to pay extra close attention to if this technology fits your
> requirements.

Sure. Completion reports by microframe boundaries is a non-obvious and
not highlighted detail most important for my use case.

>
>
>> Are there USB controllers with the "synchronous transfers" reported
>> not on microframe boundary, so we can get response less 125 us?
>
> I very much doubt that there is.
>
>
>> Is there any USB2.0 spec extension declaring "synchronous transfers"?
>
> No.
>
> All USB communication has well-defined timing, and if the definitions
> can't meet your requirements then you simply have to use another
> technology, rather than complain about USB and try to bend it to fit
> your needs. You will probably not be successful, and if you are it
> will be completely uneconomical. :\
>
>
>> USB is a good choice for some bus adapters, it is used widely, cheap,
>> simple.
>
> Do you think this may be related to how it was designed? I do.

USB user can't know all implementation details not specified in spec.
I ask experts here about the details.

>
>
>> For 2-byte read/write we could use either two bulk IN/OUT
>> endpoints (131 * 8kHz ~ 1 MHz) or one control endpoint (table 5-3, 42
>> * 8 kHz = 336 kHz).
>
> If you can expand further on the details of your application then you
> will be able to get possibly unparalelled expert technical advice on
> this mailing list as to the feasibility of designing a solution that
> uses USB.

1. To transfer data from big buffer to pc. USB controller/Linux
subsystem resolved the problem very good. [storm of applause] After a
lot of problems with PCI7200 (digital IO card) I am happy, really.
2. To provide link to external bus adapter with 1 us delay and use the
same USB link from first use case. Not possible with USB. :(

>
>
>> Ethernet is overkill for the task even if it could provide 1 us delay.
>
> If you require consumer interfaces and you want neither USB nor
> Ethernet then I guess there is only FireWire left to choose from.

"The FireWire host interface supports DMA and memory-mapped devices"

very good

>
>
>> Is it possible for USB Implementers Forum to add extension for
>> "synchronous transfers" to be handled asynchronously with microframe
>> boundaries?
>
> I think they may simply laugh in your face if you were to suggest it.

use cases rule over the world, not experts.

>
>
> You have not described your application in high detail, so it is not
> possible to say with confidence, but so far it seems that USB is just
> not the right technology for what you want to do. But provide more
> detail and I think you will also get more detailed replies.

Thanks, I got answer, 1 us delay is impossible with USB.

>
>
> //Peter
> --
> 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
--
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