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.

AWR1642BOOST: How to flash the board to not compute UART Data

Part Number: AWR1642BOOST
Other Parts Discussed in Thread: AWR1642

Hi, I am looking to solely collect raw ADC data and send it directly to the DCA1000 without computing any UART data on the board. How do I tell the board not to compute UART data?

The reason why I want this is to reduce the interburst time (time between subframes) because I want the chirps to switch between 0 and 180 deg phase shift each chirp (which requires their own subframe).

Thank you!

  • When using the DCA1000 UART is not used. The raw data is streamed through Ethernet to the PC host

    thank you
    Cesar

  • Cesar,

    Thank you for your reply.

    That is not what I was asking. Sorry for the confusion. I already have the raw data streamed through Ethernet to the PC host.

    I want to solely stream the raw ADC data through Ethernet to the PC host without doing any DSS calculations. How can I do this, circumvent the entire DSS on board calculations?

    I ask this because I am unable to do 1 chirp per subframe because the AWR1642 DSS velocity calculation requires chirps in series of 8.

    Thank you.

    George

  • Hi Cesar,

    Any insights on this? Thanks!

    George

  • Hi,

    You need to collect raw data using the DCA1000 as described in the Section 3

    C:\ti\mmwave_studio_02_01_00_00\docs\mmwave_studio_user_guide.pdf

    In this case there is no processing going on in the DSS. The raw data is directly streamed to the PC and the DSS is bypassed.

    thank you
    Cesar

  • Hi Cesar,

    Thank you for getting back to me. While I agree that the DCA1000 collects the raw data, I think there is something special about how many chirps (or cycles of chirps*# of chirps) described in the CLI Script under subframeCfg that the AWR is looking for. Who I tried these scripts on the online demoVisualizer, I remember getting an error in regards to DSS_main.c, line 2021. 

    I state the above because the attached working CLI script (that transmits 16 chirps per subframe) works, but the CLI Script that transmits anything other than 16 (or a multiple of that) does not load correctly. I am trying to figure out why.

    Where do you think this hang up could be occurring? I was thinking somewhere in the DSS that requires a certain amount of chirps, but I am not sure.

    Working CLI Script:

    sensorStop
    flushCfg
    dfeDataOutputMode 3
    channelCfg 15 1 0
    adcCfg 2 1
    adcbufCfg -1 0 0 1 0
    profileCfg 0 77 7 7 160 0 0 20 1 512 6200 0 0 30
    profileCfg 1 77 7 7 160 0 32 20 1 512 6200 0 0 30
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 1
    chirpCfg 2 2 1 0 0 0 0 1
    chirpCfg 3 3 1 0 0 0 0 1
    bpmCfg -1 0 0 1
    advFrameCfg 4 0 80 1 0
    subFrameCfg 0 0 0 1 16 50 0 1 1 50
    subFrameCfg 1 0 1 1 16 50 0 1 1 50
    subFrameCfg 2 0 2 1 16 50 0 1 1 50
    subFrameCfg 3 0 3 1 16 50 0 1 1 50
    lowPower 0 1
    guiMonitor -1 1 1 1 0 0 1
    cfarCfg -1 0 0 8 4 4 0 2560
    cfarCfg -1 1 0 4 2 3 0 2560
    peakGrouping -1 1 1 1 1 255
    multiObjBeamForming -1 1 0.5
    calibDcRangeSig -1 0 -5 8 256
    extendedMaxVelocity -1 0
    clutterRemoval -1 0
    compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    measureRangeBiasAndRxChanPhase 0 1.5 0.2
    nearFieldCfg -1 0 0 0
    CQRxSatMonitor 0 3 5 123 0
    CQSigImgMonitor 0 127 4
    analogMonitor 0 0
    lvdsStreamCfg -1 0 1 0
    sensorStart
    

    Not working CLI Script: 

    (Everything is the same except that there is now 15 chirps rather than 16. Ideally, I would like it to only work with one chirp and collect that raw ADC data).

    sensorStop
    flushCfg
    dfeDataOutputMode 3
    channelCfg 15 1 0
    adcCfg 2 1
    adcbufCfg -1 0 0 1 0
    profileCfg 0 77 7 7 160 0 0 20 1 512 6200 0 0 30
    profileCfg 1 77 7 7 160 0 32 20 1 512 6200 0 0 30
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 1
    chirpCfg 2 2 1 0 0 0 0 1
    chirpCfg 3 3 1 0 0 0 0 1
    bpmCfg -1 0 0 1
    advFrameCfg 4 0 80 1 0
    subFrameCfg 0 0 0 1 15 50 0 1 1 50
    subFrameCfg 1 0 1 1 15 50 0 1 1 50
    subFrameCfg 2 0 2 1 15 50 0 1 1 50
    subFrameCfg 3 0 3 1 15 50 0 1 1 50
    lowPower 0 1
    guiMonitor -1 1 1 1 0 0 1
    cfarCfg -1 0 0 8 4 4 0 2560
    cfarCfg -1 1 0 4 2 3 0 2560
    peakGrouping -1 1 1 1 1 255
    multiObjBeamForming -1 1 0.5
    calibDcRangeSig -1 0 -5 8 256
    extendedMaxVelocity -1 0
    clutterRemoval -1 0
    compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    measureRangeBiasAndRxChanPhase 0 1.5 0.2
    nearFieldCfg -1 0 0 0
    CQRxSatMonitor 0 3 5 123 0
    CQSigImgMonitor 0 127 4
    analogMonitor 0 0
    lvdsStreamCfg -1 0 1 0
    sensorStart
    

    Thank you!

    George

  • I figured out a work around. Thank you

  • George,

    That is great to hear! I am glad that your setup is working now.

    What is the workaround that you used to achieve your desired end goal?

    Regards,

    Kyle

  • Hey Kyle,

    Below are some of the things I did when looking through the DSS_main and DSS_data_path C files:

    1) I commented out the part of the code that calls for interChirpProcessing and interFrameProcessing. This allowed for the subframes to be very short in duration. For example, I have 1 chirp in a subframe periodicity of 2 milliseconds. 

    2) I commented out the part of the code where it asks for the number of dopplerbins has to be "% 4"/modulo of 4. This was in both DSS_main and DSS_data_path. This allowed any amount of chirps to be transmitted.

    3) I commented out the part of the code that waits for the last 2 chirps of the subframe to move on. This is what kept giving me the DSS Frame Processing Miss Event Error. By decreasing the if statement from "ChirpCount > 1" to "ChirpCount > 0" and commenting out the second line where it is waiting for the 2nd chirp to be process really allowed 1 chirp to transmit.

    Yes the onboard DSP chain is not functioning, but that is okay as I will build out the new system in MATLAB and analyze the data offline until I can build out the system for onboard MIMO distributed radar node tracking.

    Thanks again for all of your tech supports help!!!!! I am sure I will be in touch with more questions as I continue with this project!

    George