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.

AWR1243: Unexplained SPI command messages from mmWaveStudio

Part Number: AWR1243
Other Parts Discussed in Thread: , DCA1000EVM

Hi,

I work on the development of a solution based on AWR1243 and a specific host (FPGA collecting data with a MIPI CSI2 Rx and controlling the device through SPI).

For debug purpose, I am using the evaluation solution from TI based on AWR1243BOOST EVM and the DCA1000 board for data capture. Can you confirm this set up cannot use the CSI2 protocol?

I used mmWave studio and capture the command on SPI bus to compare with my own commands.

I have seen these commands which I cant explained the use. No informations are provided in the mmWave radar ICD (Rev 2.19 of May 2021), the message id 0x20D corresponds to a RESERVED message id:

After reset (mss power up):

1234 4321 8345 0016 0000 0000 0001 7CA3 41A0 0008 E268 FFFF 2A59                                      
1234 4321 8345 0016 1000 0000 0001 6CA3 41A0 0008 E214 FFFF 3A6A
1234 4321 8345 0016 2000 0000 0001 5CA3 41A0 0008 E210 FFFF D707
1234 4321 8345 0016 3000 0000 0001 4CA3 41A0 0008 E214 FFFF 0082
After RSS power up :

1234 4321 8345 0016 5000 0000 0001 2CA3 41A0 0008 0048 0000 A6ED
1234 4321 8345 0016 6000 0000 0001 1CA3 41A0 0008 004C 0000 4B80

After MSS version get :

1234 4321 8345 0016 8000 0000 0001 FCA2 41A0 0008 0048 4000 0268
1234 4321 8345 0016 9000 0000 0001 ECA2 41A0 0008 004C 4000 D5ED
What is the use of this message id? If I do not use it in my application with my own host, will it be a problem for normal use of AWR1243?
Correct me if I am wrong but I also guess that the sub block 0x02E9 addressed by msg id 0x17/AWR_RF8MISC_CONF_GET_MSG: 
1234 4321 05C1 0012 B000 0000 0001 4A2B 02E9 0004 0667

Can you also disclose this use? If this command is not sent, will AWR1243 will work properly?
Final consideration: it seems that when configuring the crossbar of the data path for CSI2 with the subblock AWR_DEV_CSI2_CFG_SET_SB, it is not possible to assign the clock to position 1. Can you confirm that?
Thank you for your answers
Arnaud
  • Hi,

    The commands which are sent on the SPI bus are documented in the radar ICD associated with the firmware version you are running.

    So, if you are using the latest 1243 firmware: C:\ti\mmwave_dfp_01_02_06_03

    In the docs folder is the ICD included: Rev1.11, June 4 2020. For AWR1243 you should not use a later version.

    Please review the protocol format to decode the commands sent. The description is included in the radar ICD

    thank you
    Cesar

  • Can you confirm this set up cannot use the CSI2 protocol?

    DCA1000EVM captures the raw ADC data from AWR1243/2243 device/EVM only over LVDS interface not CSI2.

    mmWave Studio uses many of internal command SBID which is not open for application use, although it won't impact the device functionality if you don't use those.

    And to write an application on FPGA to configure the AWR1243, I would recommend you to use DFP example from mmWave DFP

    C:\ti\mmwave_dfp_01_02_06_03\ti\example

    These applications use mmwavelink library where application just need to call specific C level APIs with required parameters and mmwavelink library takes care of generating byte sequence for that command. And yes here you need to implement all the callbacks first with mmwavelink on your FPGA.

    Refer this FAQ for more detail

    https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/856058/faq-queries-related-to-mmwave-dfp

    Regards,

    Jitendra

  • Thank you Jitendra, thank you Cesar,

    It was my feeling that this command were for TI debug/logging purpose.

    My situation is the following :

    1) I perform a first test using mmWaveStudio and DCA1000EVM + AWR1243BOOST ==> LVDS it worked pretty well, CSI2 I had at least the signals on the diff lanes I measured on my oscilloscope ==> it complies with what was expected (duration of lines, repetition, number of word in RAW8 etc.)

    2) I perform a second test with my set up : AWR1243BOOST board with interface board to ZCU106 (Xilinx). I configured through my FPGA all the same commands, with the same parameters values. I succesfully send all the commands and received the very same acknowledgment as with mmWavestudio setup. However when I pushed the last command (AWR_DEV_FRAME_CONFIG_APPLY_SB) one line falls off to -1.2V (in differential) and the other stays 0. When the frame is started I got only the clock active and the data lane stays at -1.2V.

    Note that one command is different: for AWR_FRAME_CONF_SET_SB, the reserved field between NUM_FRAMES and FRAME_PERIODICITY is set to 0x0000 (the value I put in my set up) while mmwaveStudio send a value of 0x1000. Is it significant?

    I guess my configuration is (at least partially) accepted by the chip because I can for instance move the clock lane from position 3 to position 2.

    Does the behavior of data lane and clock lane at the instant of pushing command AWR_DEV_FRAME_CONFIG_APPLY_SB evoke something to you?

    Could it come from a poor resistance termination or pin configuration on the fpga board side? 

    If you have any ideas or method to debug my interface I am greatly interested!

    Thanks 

  • Ok I finally succeeded in having the signals. It looks as if my physical interface is forcing a low state but when I remove the connector and measuring on the AWR1243BOOST board. I will close this thread as it gives an answer to my first question ( the criticality of unknown commands) but can you just send me (maybe not on this thread) any application note you could have on the CSI2 hardware implementation?

    Thanks!