[Gta04-owner] GTA04A5 IrDA/Consumer IR - was 8mW sleep for Beagle Board

Flemming Richter Mikkelsen quatrox at gmail.com
Sat Jan 19 02:03:03 CET 2013


On Jan 18, 2013 9:19 AM, "Dr. H. Nikolaus Schaller" <hns at goldelico.com>
wrote:
>
> Hi,
>
> Am 10.01.2013 um 09:04 schrieb Dr. H. Nikolaus Schaller:
>
> >
> > 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.
>
> Just a better idea: what if we simply set the UART3 to 8 bit, 1 stop bit,
380 kHz clock?
>
> Then, writing 0x00 makes a long impulse while writing 0xf0 makes a short
impulse
> (LSB is sent first, after a 0 start bit). I.e. 0x00 makes 9 time slots 0
and 0xf0 makes
> 5 time slots 0.
>
> Writing a sequence of bytes should then generate a 38 kHz signal.
>
> The only issue may be the polarity which is "1" to make the LED flash but
I think it
> can be solved by clever chaining several bytes sent to the UART to
generate almost
> any pulse pattern we need.

I don't understand this?  I though the polarity could be changed by using a
pull-up.

Anyway, your idea sounds very interesting... but I don't know enough to
comment it.
> >
> >>
> >>> 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
> >
> >
http://projects.goldelico.com/p/gta04-uboot/source/tree/gta04/u-boot/board/goldelico/gta04/systest.c
> >
> > 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.
>
>
> Did anyone experiment with this?
>
> Nikolaus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.goldelico.com/pipermail/gta04-owner/attachments/20130119/92c84943/attachment.html>


More information about the Gta04-owner mailing list