[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: Serial IR receiver problem



Erk <mrman_man@xxxxxxx> wrote:

>> I wonder why "it has worked very well for many years now."
>>
>> The TSOP1738 IR receiver module used in the WinLirc device demodulates the
>> IR and outputs the baseband data. The PC merely needs to measure the
>> durations of the pulses and spaces in the baseband data (by responding to
>> interrupts when DCD changes). The data bits usually have periods on the
>> order of 1-2mS.
>
>I'm sorry but I'm not sure I follow. Are you saying it shouldn't have
>worked well?

Sorry, I was responding to Mr. Gabriel who doesn't understand the WinLirc
device, the TSOP1738 IR module, or how Windows handles comm ports but hasn't
let that stop him from offering advice. WinLirc (and Lirc) have been around
for several years and I don't recall seeing many complaints.

While the device you built is unconventional, it will work fine as long as
nothing interferes with interrupt processing and/or access to the 8253/8254
timer chip. The Windows API has precision timer functions (which other apps
might mess with) but it is also possible to access the timer chip directly
using lower level routines and hardware registers. I haven't looked at any
Lirc or WinLirc code to see how they time the pulses/spaces from the
TSOP1738 but the hardware registers are independent of the OS.

You may even find that USB-UIRT uses the TSOP1738. There are almost
identical IR receiver modules from numerous manufacturers (e.g. Sharp,
Panasonic, Lite-On). I prefer the Vishay TSOP1100 since it handles nearly
all Consumer IR carrier frequencies from 32-57kHz.

I would normally refer everyone to Ryle Design, who has an excellent
tutorial on precision timing under Windows and who sells a DLL that provides
low level access to the timer chip, but their web page has been down after
they moved their operation from Michigan to Nevada.

     http://www.ryledesign.com/

For anyone interested, you can find a multitude of links dealing with the
8253/8254 timer chip. For example:

     http://www.intel.com/design/archives/periphrl/docs/7203.htm
     http://www.cs.sun.ac.za/~lraitt/doc_8253.html
     http://www.techedge.com.au/tech/8253tec.htm
     http://heim.ifi.uio.no/~stanisls/helppc/8253.html



comp.home.automation Main Index | comp.home.automation Thread Index | comp.home.automation Home | Archives Home