[Gta04-owner] GTA04A5 - was 8mW sleep for Beagle Board
Dr. H. Nikolaus Schaller
hns at goldelico.com
Thu Jan 10 09:04:22 CET 2013
Am 10.01.2013 um 00:36 schrieb Butrus Damaskus:
>> Though I wonder a bit about IrDA - does anyone actually care about that? I
>> would imagine that most situations that would once have used IrDA would not
>> be using bluetooth.
> I think IrDA maybe easier to use with MCU's (and doesn't interfere
> with WiFi in 2.4GHz)...
>> The OMAP3 is capable of generating CIR (Consumer IR) signals which most
>> consumer electronics remote controls use. That might be more useful, however
>> it needs to be wired differently.
Oh, I didn't know. Figure 17-3 / 17-4 in the TRM.
> In order to generate CIR a simple GPIO with PWM connected to a cheap
> IR LED might
> be sufficient...
Well, it is easily possible to configure the UART3-TX line as GPIO166 and to drive
the IrDA LED directly.
>> The CIR signal goes out on the uart3_cts_rctx pin, where as IrDA goes out on
>> uart3_tx_irtx - So I don't think they can use the same IrLED (???).
Ok, we do not have the builtin logic for CIR on the uart3_cts_rctx. As far as I have seen
it works by writing a byte to the UART that is shifted and generates appropriate PWM/burst
signals. That should not be impossible to emulate in software by directly controlling a GPIO.
And since RC-5 frames are neither complex nor fast (bit rate in 1 kHz range) it could work well.
What I don't know immediately is if our IrDA transmitter is capable enough. It has an
automatic pulse duration limitation to protect the LED. And, if the kernel is able to
do the 40kHz on/off burst modulation as required (http://en.wikipedia.org/wiki/RC-5)
without consuming too much time and blocking important interrupts.
For IrDA mode the UART3 provides automatic framing, bit stuffing, CRC etc. which
removes a lot of hassle from the driver. And it provides up to 4 MBit/s (FIR) which can't
be achieved in GPIO mode.
But it *might* be possible to use the IrDA or normal UART mode to generate 40kHz bursts
by clever configuration...
So if someone wants to experiment, please let us know.
There is a test command in u-boot (systest irda) with some primitive sample code
starting at line ~500
Finally it should also be possible to do some experimentation from user space
(access the GPIO pinmux register and then the GPIO166 data). A digital camera
should be able to visualize if the LED is flickering at all.
More information about the Gta04-owner