Hi All,
I'm using the IRDA pulse decoding hardware that forms part of the UART peripheral (USCI A0) on the MSP430F5172. The signal being fed to the decoder originates at the output of a high gain analog op-amp circuit. The output is data sliced by the onboard comparator before ultimately being fed to the UART Rx input. Due to the high-gain of the op-amp circuit there is often some stable, but prominent, ringing associated with pulses that are being amplified by the analog circuitry. When the ringing is conditioned by the comparator, I quite often see the primary signal (with an active high duration of about 8us) being followed by a secondary pulse (with an active high duration of about 5us). There is approximately 7us of time between the two pulses.
For reference, the IRDA decoder is configured to reject pulses shorter than 300ns, and the UART baud rate is currently set to 15kbaud. I'm using SMCLK to drive the peripheral. SMCLK is driven by a 12MHz DCO oscillator that is FLL stabilized against an external 32.768kHz crystal.
What I would like to know is will there be a problem with the IRDA decoder as it decodes this double pulse signal (where ideally there should only be one narrow pulse being fed through to the decoder)? In other words will the second pulse somehow be decoded as the next bit in the bit train. Remember the double pulse length is only about 20us in duration, in total (8 + 7 + 5), whereas the next bit in the pulse train should only start to be decoded at about 1 / 15000 = 66us. From what I can infer so far, it looks like there is a problem with the second pulse somehow influencing the value of the next bit. I can't confirm this through the debugger though, for reasons that will take too long to explain and I don't think are relevant to the topic. There is no description in the user guide or datasheet relevant to the part, detailing the underlying operation of the IRDA decoding hardware. Thus I am at a bit of a loss as to what is going on, and why multiple pulses within a bit window appear to upset the peripheral.
Any insight on this problem would be greatly appreciated.
Many thanks,
Robert