Re: Toggling GPIO at 38Khz
From: linux-os (Dick Johnson)
Date: Thu Oct 09 2008 - 13:53:35 EST
On Wed, 8 Oct 2008, Dave Hylands wrote:
>>> So how do I reliably generate 38Khz without destroying latency in the
>>> system? I also don't want to measure the speed of the code I'm
>>> executing - same code has to run on 90Mhz ARM and 3Ghz Core2. If a do
>>> a loop with nanosleep() I need to know how fast my code is to subtract
>>> it's execution time form the sleep time. The existing LIRC code works
>>> this way and measures it's timing loop.
>>> hrtimers look promising, but hrtimers doesn't have a periodic API. Is
>
> The 38 kHz decoders will actually work across a range of frequencies
> usually about +/- 4 kHz.
>
> If you have a spare UART, you could configure it at 76800 baud and
> just send out an appropriate bit pattern (taking into consideration
> start bit, stop bit, parity, etc.
>
> 115200 baud might also work (3 bit times per 1/38400 of a second). It
> won't be a perfect square wave, butI think it would still work.
>
> You could also do something similar if you have a SPI interface. Just
> set the clock to the right frequency and use the bits sent out to
> generate your pulses.
>
> --
> Dave Hylands
> Shuswap, BC, Canada
> http://www.DaveHylands.com/
MIDI runs at 31.25 kBaud PC/AT machines do TX/RX through the
audio boards. Drivers for programming these boards are available
for Linux.
These might work fine.
Cheers,
Dick Johnson
Penguin : Linux version 2.6.25.17 on an i686 machine (4786.81 BogoMips).
My book : http://www.AbominableFirebug.com/
_
****************************************************************
The information transmitted in this message is confidential and may be privileged. Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited. If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@xxxxxxxxxxxx - and destroy all copies of this information, including any attachments, without reading or disclosing them.
Thank you.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/