This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AFE881H1EVM: Issue in receiving data from FIFO

Part Number: AFE881H1EVM

Hi,

I am trying to receive the data from the FIFO to my microcontroller. I am getting 35 bytes of data from my device to AFE881H1EVM. I am able to receive 31 bytes of data correctly but when I am reading the next bytes after byte 31 it is repeatedly sending the same last byte again and again.

It seems that FIFO is not getting clear and new data is note getting loaded.

Please help me on this. 

  • Hi,


    To help debug this, I'll need a lot more information on how you have the device set up to check the FIFO receive. Do you use the IRQ to determine the level of the FIFO (to see if it is full, empty, or at a specific level)? Have you checked the MODEM_STATUS_MASK register to make sure the IRQ responds correctly to the flags?

    What FSK data are you sending into the device and are you able to at least read the correct data back through the FIFO_H2U for the first 32 bytes? Have you checked the oscilloscope to see if the timing of the FSK matches up with the timing of the read?


    Joseph Wu

  • Hi Joseph,

    I am able to receive first 31 bytes correctly after that getting the last byte again & again.
    I am also checking the  MODEM_STATUS register, but not able to get FIFO_H2U_Empty_FLAG which means FIFO is not empty.

    Can you please help me to understand the sequence to receive the data more than 32 bytes since the FIFO size is of 32 bytes.

  • Hi,


    Again, have you checked the MODEM_STATUS_MASK to make sure the IRQ responds to the FIFO_H2H_EMPTY_FLAG? You also can use the LEVEL field from the FIFO_H2U_RD register to check how full the FIFO is at each read. Generally, you would read the data from the FIFO when the FIFO is full, and then you would read back the data when the FIFO is empty, or the CD is no longer high.

    I'm not sure why you're not getting the FIFO empty indication. However, if you are continuing to read the FIFO, are you sure that you've received the remaining bytes? Have you checked an oscilloscope to make sure the HART data has already been received by the device by the time you've read the last bytes?


    Joseph Wu