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.

IWRL6432BOOST: Can't get HWA to loop infinitely

Part Number: IWRL6432BOOST

Tool/software:

Hello,

I'm trying to work out how to set the HWA to run continuously without requiring reinitialisation. In my scenario I don't really care about frames & bursts, I just want to be continuously transmitting chirps -> run FFT per chirp -> process result.

I have configured my device to generate a chirp;

  • 16 chirps per burst (this is somewhat arbitrary given I'm running infinitely)
  • 1 burst per frame
  • 0 frame (infinite)

My HWA is configured;

  • TRIGMODE = 2 & FFT1DEN  = 1
  • Execute FFT and put data in 0x8000 (which it is doing correctly)
  • PARAM start 0, PARAM stop 0
  • NLOOPS = 4095

I understand this should just be dumping FFT data into 0x5500 8000 on each ping/pong trigger, infinitely until I halt the program. 

I haven't yet setup a DMA to transfer the output FFT data for processing, instead to check the HWA operation I have set up three counters which increments on certain interrupts

  • Chirp avail IRQ increments infinitely
  • HWASS_LOOP_INT counter increments to 1 and stops
  • HWASS_PARAMDONE_INT increments to 4095 and stops

I've then added a line to run my HWA initialisation sequence (reset, configured & start) when HWASS_PARAMDONE_INT reaches 4095 and my counters behave as follows

  • Chirp avail IRQ increments infinitely
  • HWASS_LOOP_INT counter increments to 1 and stops
  • HWASS_PARAMDONE_INT increments infinitely in line with Chirp avail IRQ

So I have two questions

  1. The TRM states if NLOOPS = 4095, the HWA runs infinitely, but in my case it only runs 4095 times, am I missing something here? Do I just need to stick with reinitialising the HWA after 4095?
  2. What causes the HWASS_LOOP_INT to trigger, and why does it only go once in my scenario?

Thanks