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.

  • Resolved

AWR1243BOOST: Problem in sending ADC data over SPI

Prodigy 180 points

Replies: 15

Views: 854

Part Number: AWR1243BOOST

Hi there,

I already have ported the mmwave library to an external processor and run the application examples with success.

Now, I want to use the SPI to gather ADC data.

To this purpose, I have set the intfSel field in rlDevDataPathCfg_t struct to 2 and I expect to receive ADC data through multiple async events with iD RL_DEV_AE_MSS_ADC_DATA_SB.

After having configured the AWR1243 and started the sensor (everything seems to were went well, since all the ACKs have been collected), I receive the first async event with iD RL_DEV_AE_MSS_ADC_DATA_SB. It correctly contains 220bytes od ADC data. But after that, no more async events are received and I'm not able to gather the whole data packet.

I was wondering whether the sensor expects some communication protocol after having send the first data packet. According to the ICD, my expectation is that I should receive all the async events in sequence without the need of replying the sensor.

Thank you in advance for any suggestion.

  • In reply to Jitendra Gupta:

    About Silicon version, it is ES2.0 in both cases.

  • In reply to Jitendra Gupta:

    Hi, Jitendra
    I answered your question last week as follows:
    Si version: ES2.0
    Die id: Lot:7120004/Wafer:5/DevX:4/DevY:59

    Please let me know if there are some updates or if it's hopeless.

    Thank you.
  • In reply to Paolo Falcone:

    Hi Paolo,

    I have tried mmWave_example of DFP 1.0.0.1  on AWR1243 ES2.0 where I ran pre-built .exe but the change in mmwaveconfig.txt

    intfSel=2; /* For ADC over SPI */

    chirpEndIdxFCF=2; /* reduce no. of chirp to total 3 in a frame */

    frameCount=1; /* single frame */

    And I see multiple Async event for ADC data over SPI (in trace.txt, subID 0x500A, search for '[RD]0x500A' text in this file)

    Could you please try above setting change (mmwaveconfig.txt: single frame setting) with existing exe application at your end.

    Note- Based on single frame you can find out how much time device takes (time difference in trace.txt from first Async event to last one) to send all async event and give that much frame duration for muli-frame setting.

    Regards,

    Jitendra

  • In reply to Jitendra Gupta:

    Hi Jitendra,
    I tried with the settings you provided and the pre-built mmwave application example.
    I checked the trace.txt file and I correctly received multiple async events with ADC data.

    However, if I try with the same dfp library version ported on my external processor, I receive only the first ADC data packet via SPI.

    This souds a little bit strange, because I assume that the SPI lines and reception of async messages effectively works on my system (the whole system configuration together with start/stop commands works fine).

    Might it be a matter of fine tuning of communication interface parameters? For example, I've noticed that the SPI clock on the pre-built mmwave application example is much slower than mine (which runs at 1MHz).

    Any suggestion would be much appreciated.

    Regards,
    Paolo.
  • In reply to Paolo Falcone:

    So, the issue looks like AWR SPI communication interface with an external processor.
    AWR1243 supports max 40MHz SPI clock and mmWaveLink_example uses ~10MHz SPI clock. Try to use the higher SPI clock at ext. processor end.

    AWR1243 accumulates all the chirp data and start sending over SPI when all the chirps of that frame are stored at the temporary buffer in the form of 256Bytes of SPI message chunks. As soon as Host reads first chunk message over SPI, it'll raise HostIRQ again for the next chunk. Make sure Host reads full data of async event message what no. of bytes device is sending.
    Check back the HostIRQ status when Host doesn't see more Async event (ADC-Data), i.e. during erroneous condition.
    Make sure you follow the same sequence of configuration the device (starting from bootup) as provided in mmwavelink_example, i.e. Host should wait for all the expecting async event during the device configuration (e.g. RF_Init Async event) only then send next command.


    Regards,
    Jitendra

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.