I'm using the dev board connected to an 8 bit processor via SPI. I'm able to inject a ten byte HART string of the following bytes: 0xFF 0xFF 0xFF 0xFF 0xFF 0x02 0x80 0x00 0x00 0x82. The Rx FIFO buffer Level is set to 1, and I made sure the interrupt is enabled for FIFO_M2D_LEVEL in the IQR MASK register. I have a logic analyzer probe on all the SPI lines including the IQR output & Chip Select plus a channel shows me the incoming HART signal. I've set up the appropriate registers to trigger an alarm/interrupt to fire for Carrier Detect and for every new byte that arrives via HART. (FIFO receive level = 1)
As predicted, the DAC8742 generates an IQR signal with every new Carrier Detection burst. So, no problem there. I expect to see subsequent interrupt pulses with every FIFO LEVEL alarm trigger which is after every new byte that arrives via HART, and most of the time that's exactly what happens. However, on (too) many occasions I don't get an interrupt on the first byte following the Carrier Detection. Conversely, I always get each interrupt pulse for the remaining nine bytes that arrive. It's as if it's not detecting the first byte of the ten bytes that arrive at the HART input.
Also, the same thing happens if I disable the CD interrupt. It'll still fail to generate an IQR pulse upon the first byte, but will always generate the pulse on the remaining nine bytes.
Sometimes, for no apparent reason, I get all ten IQR pulses - one for each byte as expected.
What happened to the missing interrupt pulse?
Hints? Clues?
Btw, the datasheet...it could be better.