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.

MCU-PLUS-SDK-AM273X: am273evm

Part Number: MCU-PLUS-SDK-AM273X
Other Parts Discussed in Thread: IWRL6432, AWR2243BOOST, TMDS273EVM, SYSCONFIG

Tool/software:

I am not able to send the data to PC via FTDI J10 connection on AM273EVM. I have attached the project which I modified from the loopback example. I got the pin pad from datasheet. So I think it is correct.

Please let me know what I am doing wrong. here is the python script I am using to get the data from am273evm.

I do not have logic analyzer or scope.

Could you please check this on your side?

Best regards,

DM

  • Hi DM,

    I am not sure what you want to accomplish here. The J10 gives 4 UART COM ports (MAIN UART 0-3). If you want to transfer data between the host PC and AM273x EVM, you should use UART examples, not the MIBSPI example.

    Best regards,

    Ming

  • Dear Ming, 

    I can send the 2d or 3d fft data over spi via FTDI UART Bridge. that is what I am trying to implement.

    Could you please suggest what I am doing wrong ?

    Best regards,

    DM

  • Hi DM,

    I will forward your thread to out MMWAVE SDK expert for further help!

    Best regards,

    Ming

  • Dear Ming,

    Thank you so much!

    Best regards,

    DM

  • Hello DM,

    I think we are a little confused what you are specifically trying to accomplish and which boards and mmwave devices (if any?) you are using. Can you please specify? 

    Or are you just using the example from the radar toolbox to send general data over SPI using the AM273? That example you listed is only meant to connect to the IWRL6432 family of devices, not the AM273. And it requires specific device code running on the IWRL6432 device to output to SPI.

    If you just want to collect SPI data I suggest you use one of the SPI examples from the SDK for the AM273. But if you can clarify exactly what you are trying to accomplish and with what devices it will help us.

    Regards,

    Jackson

  • Hello Jackson, 

    I have awr2243boost+AM273(TMDS273EVM Evaluation board). I am trying to implement SPI_A to get data from awr2243boost+AM273 to PC 

    Best regards,

    DM

  • Hello DM,

    Have you made sure your AM27 code is properly configuring the 2243 and then passing whatever data you need to the SPI port? What code did you start from? We will not be able to just review your code, as it is outside of the scope of support for this forum, especially for front end devices and custom processing chains. But please state where you started from on the AM273 SW side and what changes you have made. 

    Regards,

    Jackson

  • Dear Jackson, 

    for now I am just try to send dummy data over SPI to PC. I modified the loopback test to peripheral to send random data stream to PC. I jest need to get data from Am273 over SPI FTDI to PC.

    Best regards,

    DM

  • Hello DM,

    I ran the setup and was able to see dummy data sent over SPI to PC. I modified the mibspi_loopback_am273x-evm_r5fss0-0_freertos_ti-arm-clang example you used, mainly the mibspi_loopback.c file code. Below is the modified code, you can copy and replace with it the code in your mibspi_loopback.c file:

    #include <kernel/dpl/DebugP.h>
    #include <kernel/dpl/SemaphoreP.h>
    #include <kernel/dpl/HwiP.h>
    #include <kernel/dpl/ClockP.h>
    #include <drivers/mibspi.h>
    #include "ti_drivers_config.h"
    #include "ti_drivers_open_close.h"
    #include "ti_board_open_close.h"

    /* Block size used for the test*/
    #define APP_MIBSPI_MSGSIZE 128

    uint8_t gMibspiTxBuffer[APP_MIBSPI_MSGSIZE];
    uint8_t gMibspiRxBuffer[APP_MIBSPI_MSGSIZE];

    void mibspi_loopback_main(void *args)
    {
    int32_t status = SystemP_SUCCESS;
    uint32_t i;
    int32_t transferOK;
    MIBSPI_Transaction spiTransaction;
    MIBSPI_LoopBackType loopback;

    Drivers_open();
    Board_driversOpen();

    DebugP_log("[MIBSPI] Digital Loopback example started ...\r\n");

    /* Enable digital loopback */
    loopback = MIBSPI_LOOPBK_DIGITAL;

    /* Memfill buffers */
    for(i = 0U; i < APP_MIBSPI_MSGSIZE; i++)
    {
    gMibspiTxBuffer[i] = i;
    gMibspiRxBuffer[i] = 0U;
    }

    /* Initiate transfer */
    spiTransaction.count = APP_MIBSPI_MSGSIZE;
    spiTransaction.txBuf = (void *)gMibspiTxBuffer;
    spiTransaction.rxBuf = (void *)gMibspiRxBuffer;
    spiTransaction.peripheralIndex = 0U;
    spiTransaction.arg = NULL;

    //status = MIBSPI_enableLoopback(gMibspiHandle[CONFIG_MIBSPI0],loopback);
    if(SystemP_SUCCESS != status)
    {
    DebugP_log("Check SPI instance mode of operation and loopback type\r\n");
    }

    if(SystemP_SUCCESS == status)
    {
    while(1)
    {
    transferOK = MIBSPI_transfer(gMibspiHandle[CONFIG_MIBSPI0], &spiTransaction);
    // if((SystemP_SUCCESS != transferOK) ||
    // (MIBSPI_TRANSFER_COMPLETED != spiTransaction.status))
    // {
    // DebugP_assert(FALSE); /* MIBSPI transfer failed!! */
    // }
    // else
    // {
    // /* Compare data */
    // for(i = 0U; i < APP_MIBSPI_MSGSIZE; i++)
    // {
    // if(gMibspiTxBuffer[i] != gMibspiRxBuffer[i])
    // {
    // status = SystemP_FAILURE; /* Data mismatch */
    // DebugP_log("Data Mismatch at offset %d\r\n", i);
    // break;
    // }
    // }
    // }
    }
    }

    if(SystemP_SUCCESS == status)
    {
    DebugP_log("All tests have passed!!\r\n");
    }
    else
    {
    DebugP_log("Some tests have failed!!\r\n");
    }

    Board_driversClose();
    Drivers_close();

    return;
    }

    As you can see, I commented out the lines that enables it as a loopback, and the lines that compare the data (Because we don't need it for this purpose since we are only trying to send data out). The while loop was added just for better observability of the dummy data in the Serial COM terminal.

    I didn't have to modify SysConfig as the example was already set to the correct Pin Pads by default in Sysconfig. 

    With this modified code, you should be able to see the dummy data on any serial console/terminal of your choice (Tera Term, putty etc) on your PC

    Please let me know if you encounter any issues with this and I'll be happy to help.

    Best regards,

    Fabrice.

  • Thank you Fabrice!