55 lines
1.9 KiB
Text
55 lines
1.9 KiB
Text
|
The controls for the mux are GPIO [0,1] for source, and GPIO 2 for muting.
|
||
|
|
||
|
GPIO0 GPIO1
|
||
|
0 0 TV Audio
|
||
|
1 0 FM radio
|
||
|
0 1 Line-In
|
||
|
1 1 Mono tuner bypass or CD passthru (tuner specific)
|
||
|
|
||
|
GPIO 16(i believe) is tied to the IR port (if present).
|
||
|
|
||
|
------------------------------------------------------------------------------------
|
||
|
|
||
|
>From the data sheet:
|
||
|
Register 24'h20004 PCI Interrupt Status
|
||
|
bit [18] IR_SMP_INT Set when 32 input samples have been collected over
|
||
|
gpio[16] pin into GP_SAMPLE register.
|
||
|
|
||
|
What's missing from the data sheet:
|
||
|
|
||
|
Setup 4KHz sampling rate (roughly 2x oversampled; good enough for our RC5
|
||
|
compat remote)
|
||
|
set register 0x35C050 to 0xa80a80
|
||
|
|
||
|
enable sampling
|
||
|
set register 0x35C054 to 0x5
|
||
|
|
||
|
Of course, enable the IRQ bit 18 in the interrupt mask register .(and
|
||
|
provide for a handler)
|
||
|
|
||
|
GP_SAMPLE register is at 0x35C058
|
||
|
|
||
|
Bits are then right shifted into the GP_SAMPLE register at the specified
|
||
|
rate; you get an interrupt when a full DWORD is received.
|
||
|
You need to recover the actual RC5 bits out of the (oversampled) IR sensor
|
||
|
bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data) An
|
||
|
actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment.
|
||
|
|
||
|
I'm pretty sure when no IR signal is present the receiver is always in a
|
||
|
marking state(1); but stray light, etc can cause intermittent noise values
|
||
|
as well. Remember, this is a free running sample of the IR receiver state
|
||
|
over time, so don't assume any sample starts at any particular place.
|
||
|
|
||
|
http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf
|
||
|
This data sheet (google search) seems to have a lovely description of the
|
||
|
RC5 basics
|
||
|
|
||
|
http://www.nenya.be/beor/electronics/rc5.htm and more data
|
||
|
|
||
|
http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt
|
||
|
and even a reference to how to decode a bi-phase data stream.
|
||
|
|
||
|
http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm
|
||
|
still more info
|
||
|
|