quarta-feira, março 01, 2006

USB on-the-go

Although still increasing in popularity for new devices, this USB specification is getting widely addopted, once its proposed capabilities are easing the usage of common USB devices as cameras and portable devices.
The big remark about the USB on-the-go is the ability of a device to act either as a (limited) host or a slave. It claims that you can connect your camera to your PC to download the result of your weekend and also send the photos straight to the printer. Where in the first case the device acts as a peripheral and in the second acts as a host.
The same new level of usability can be thought to your PDA or cell phone.

The on-the-go specification, OTG for short, supplements usb 2.0 spec. This means that it inherits its transfers speed: 480 Mbits/s, the so called High Speed. Don't get confused with the Low/Full Speed from 1.x spec which runs at 1.5 or 12 Mbits/s, repectively.

In the new terminology, the initial host is the A-device and the initial peripheral is the B-device. The initial configuration is determined by the extra-recently introduced ID pin, which is sampled to indicate the device's behavior as a host or peripheral, in that time of operation. This combinations of signals are accomplished by new form factor connectors, the the mini-{ab,a,b} receptacle, and the mini-a and mini-b connectors.

Finally, what about power requirements?
This issue, which can be a drawback of this specification, can be particularly annoying if you don't have the necessary tools in hand. Due to very limited constraints of portable systems, the suplied voltage in the USB bus (Vbus) has a limited electric current (8 mA against 500 mA from traditional USB) capacity so that it can not source hungry peripherals. In that case a powered hub can do the job. Furthermore, this new approach presents enhancements in power management, once detects that it is not transfering data, the devices can enter a sleep mode where power is reduced and conversely, leave this state with wake-up events.

Some useful links:

Mentor Graphics IP-core

Everything USB

USB site

Alsa 2nd round

The alsa patches came to omap list discussions and we have now (1 week ago) some remarks to implement, being the most commented the coding style of some files and where-to-be-placed discussion of the codec files which seem condemned to stay in the sound/arm directory. Well it seems reasonably although makes the things hard to use platform devices resources to make things independent but we ought to make it work. Actually, Mika already sent me a working version with that required approach but we gave it up in favor of the current proposal. Well, now he is resurrecting it and the 2nd round will be sent soon.