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.

AWR2243: awr 2243 ethernet sending commands

Part Number: AWR2243

Hello, 

I am working on moving the way data is sent from 2243 Cascade EVM to TDAXX board through ethernet. I want to change the method data is being sent and cut out the tda board. I see two ways of sending data in the example code provided by TI at C:\ti\mmwave_dfp_02_02_02_01\ti\example\mmWaveLink_Cascade_Example. 

In the mmwl_port_ethernet.c, the function handleDevCtrl appears to be how all data is sent to the tda board. However there are two functions spiWriteToDevice and spiReadFromDevice. With the names of the functions there it appears that these are the only two functions that send and receive data from the device. 

1. My question is what does the function handleDevCtrl() do? is this sending data to the awr chips on the evm?

2. is this function outside of the spiRead and spiWrite functions setting registers on the TDA board that can be ommitted when not using the tda board?

3. if the function handleDevCtrl() is writing to the chips, which chip and how is that found in the data being sent?

 Thank you for your response

  • Hi,

    Please give us a few days to review your request.

    Thank you

    cesar

  • C:\ti\mmwave_dfp_02_02_02_01\ti\example\mmWaveLink_Cascade_Example application uses same network interface to communicate with TDA as done by the mmwave studio.

    So this example won't work if you bypass TDA board, all the functions implemented in this example are to communicate to TDA only. After TDA takes those command from this example over ethernet, reformat/create a new command to send over SPI to AWR2243 device.

    .

    You need to have seperate Host processor to communicate with AWR device if you need to remove TDA device here.

    .

    Regards,

    Jitendra

  • Yes, i have changed the host processor, and want to send the data through a mezzanine connector rather than through ethernet. In the file mmw_example.c and mmwavelink.h has porting instructions to be able to run this program through a different host processor, OS and processor indepent, correct?

    "TI mmwave front end is a closed subsystem whose internal blocks are configurable using messages
    coming over mailbox.\n TI mmWaveLink provides APIs generates these message and sends it to mmwave
    front end over mailbox. It also includes acknowledement and CRC for each message to provide a
    reliable communication"

    In the Interface Control Document, shows a message envelope:

    is this the data format that the awr2243 chip is expecting to receive? or is this the microcontroller on the tda board is expecting to see? 

    Thank you

  • Interface Control Document is explains message format what AWR2243 device expects over SPI/I2C from external processor. above image shows message format for AWR2243 device only and this message byte packaging is taken care by mmwavelink library.

    AWR2243 has only two communication interface SPI or I2C, so external Host processor which are planning to switch needs to have either of these interface available. In case of cascade, TDA2x uses SPI interface to send/receive command/response from AWR2243 device.

    If you follow mmwavelink source, document and interface control document together you would find the porting instructions for mmwavelink to your host processor.

    I would request you to refer this FAQ page for porting.

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

    .

    Regards,

    Jitendra.

  • Thank you for the information. 

    I am using an fpga with soc as my host processor, sending spi data through a mezzanine connector. I am seeing data being sent to the chips on their MOSI lines. See below image. However i am not seeing the chips response to any messages sent, making me believe the data being sent is not correct. 

    I have followed the porting instructions, but am still unsure about the data that needs to be sent/recieved by the chips. "message format for AWR2243 device only and this message byte packaging is taken care by mmwavelink library." 

    Where in the mmwavelink library is this data packaging done? In the file mmwl_port_ethernet.c in the function Radar_formEthDataPacket, i see data being packaged and copied in this line:

    memcpy(pDevCtrlPrms->respParam, &dataPacket, (dataLength + HEADER_AND_CRC_LENGTH));

    i am doing the same and sending the information inside of pDevCtrlPrms[deviceIndex]->respParam to the chip and using the dataPacket.devSelection to control chip selects.

    Where is the data packaged in the mmwavelink library that needs to be sent to the awr2243 chips via spi located in the example?

    Thank you

  • Hi,

    Please refer mmwavelink source and documents to understand the data packaging.

    c:\ti\mmwave_dfp_02_02_01_00\ti\control\mmwavelink   (docs and src\rl_driver.c)

    mmWavelink provides API to the application so application doesn't need to bother about packaging the byte sequence for each type of command or response.

    c:\ti\mmwave_dfp_02_02_01_00\docs\mmWave-Radar-Interface-Control.pdf : section 3. Message Processing ; this section explains the message format of the SPI command/response.

    c:\ti\mmwave_dfp_02_02_01_00\docs\mmwave_dfp_user_guide.pdf : section 9: API sequence provide the sequence of all the mmwavelink function which host application needs to invoke in order to configure the AWR device.