• TI Thinks Resolved

AWR1243BOOST: Problem in sending ADC data over SPI

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.

  • Hi Paolo,

    This is not a frequently used configuration - I need some time to check this behavior and if this feature is supported.

    I will get back to you on this by Friday.

    Best Regards,
    Anand
  • In reply to Anand Gadiyar:

    Hi Anand,
    Thank you for your reply.
    I'll be waiting for some suggestion by you.

    Regards,
    Paolo.
  • In reply to Anand Gadiyar:

    Dear Anand,

    While you're checking whether this feature is supported and how it works, I've noticed a couple of things that might be of interest.

    1. SOP mode configuration.
      In controlling AWR1243BOOST from an external processor, my expetation was that SOP mode must be connfigured to functional mode (i.e., 001 - SOP0 jumper closed and the others open).
      However, we noticed that there no way to control the AWR1243BOOST from an external processor through SPI unless we set the SOP mode exactly to the dual of the functional mode (i.e., 110 - SOP1 and SOP2 jumpers closed and SOP0 open).
    2. To send ADC data via SPI we set a very short frame (up to three pulses) with a frame repetition time of 1 second. This was intented to support the required ADC rate through the low throughput of the SPI lines. However in this case we don't see any SPI packet with ADC data. In contrary, if I set a long frame (which in principle would not be supported by the SPI throughput) I can see the first async event with ADC bytes as described in my first post.
    3. After sendind the rlSensorStart command, the AWR1243 protocol foresees an ack to be sent from the device to the external processor. This ack, sent via an async event (over SPI) is correctly received. But I have a doubt: might it be that in the meanwhile the ADC buffer is ready to send data over SPI, it try access the SPI bus which instead is already busy for the ack to the rlSensorStart? This could explain why I do not receive any ADC packet with short frames (it senses the bus which is busy and stops) while I receive the first data packet with long frames (the first is received beacuse while the frame is forming, the ack to the rlSensorStart has been sent and the bus is let unloaded). Plus, in the latter case I receive just the first data packet beacuse the SPI rate is not suffient to support the ADC required throughput.

    To try to overcome the problem at point 3. we tried to use an external trigger: So we wait the ack to the rlSensorStart (which is immediate for human beings clocking...) and then we start the transmission. However, also in this case we didin't succed. So somethings is still missing.

    Hope you're finding a solution.

    Regards,

    Paolo.

  • In reply to Paolo Falcone:

    Hi Paolo,

    I'm afraid we are still having trouble with configuring the SPI data output mode. We will try and get back to you on this as soon as possible.

    For 2), could you please let us know the "long frame" settings you used that allowed you to get the first async event?

    For 1, regarding the SOP mode, closing the SOP mode jumpers sets the voltage on the pin to 3.3V. So the 110 mode requires SOP2 and SOP1 jumpers to be closed and SOP0 jumper to be open. This is expected behavior.



    Best Regards,
    Anand
  • In reply to Anand Gadiyar:

    Hi Anand,

    Thanks for your reply.

    For 1, my question was about the fact that the SOP mode 110 does not exist in any TI document I've seen up to now. Neverthless, its the only way to let the AWR1243BOOST working from external processor control.

    For 2, the chirp/profile/frame configuration provided with the mmwavelink_example in mmwave_dfp_01_00_00_01 its enough for us to receive the first async event with ADC data.

    Regards,
    Paolo
  • In reply to Anand Gadiyar:

    Hi Anand,
    Any update on this side?
  • In reply to Paolo Falcone:

    Hi Paolo,
    With the external Host you need to set AWR1243 EVM in functional mode (where only SOP-0 is connected with jumper) only.

    Which AWR1243 Si version you are using, ES2.0 or ES3.0?

    Regards,
    Jitendra
  • In reply to Jitendra Gupta:

    Hi Jitendra,

    Thanks for your reply.

    I didn't understand what "Si version" actually means and where to retrieve this information.

    However, I got this answer from the chip after poweron the device.

    RF Version [ 2. 0. 0.15]
    MSS version [ 1.10. 0.23]
    mmWaveLink version [ 1. 0. 0. 0]

    Thanks,

    Paolo.

  • In reply to Paolo Falcone:

    Hi Paolo,
    I was meant for Silicon version (ROM version).
    When you do the SPI connect from mmWave-Studio it prints die-ID on the GUI which is for ROM/HW version.

    We need to clear with the HW version you are using to chase ADC-over-SPI issue in right direction.

    Regards,
    Jitendra
  • In reply to Jitendra Gupta:

    Hi Jitendra,

    For the boards I've tested up to now, the content of "Die id" field is: Lot:6000001/Wafer:1/DevX:30/DevY:18.

    We have also a second set of boards, whose "Die id" is: Lot:7120004/Wafer:5/DevX:4/DevY:59.

    Can you please explain me the difference among them (if any) and clarify whether I need to take some further actions in using the AWR1243 device from an external host? (e.g., dfp version, mss and bss version, etc.)

    Thank you in advance,

    Paolo.