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.

IWR6843AOP: SPIA 8Bit Mode and CS Hold not working

Part Number: IWR6843AOP

Hi there.

I am working on a connection between a IWR6843AOP Board (https://www.mistralsolutions.com/product-engineering-services/products/som-modules/60ghz-industrial-radar-module-rom/) and a ESP32C3. The IWR shall work as the Host of the SPI Interface and transmit the tracker output of the 3D people counting Demo. 

So far so good, I managed to put out data via SPI and confirmed that via Oscilloscope. But I had troubled receiving the data on the ESP. I figured out, that I need to change the default Master parameters on the IWR 8Bit dataSize and CSHold. Before I had them defaulted to 16Bit dataSize and CSHold off.

But when I change one of those parameters (dataSize or CSHold) I cannot get the IWR to transmit via SPI. It just is not putting anything out. Since I don't have a proper debugging interface at the moment and I just change one of those parameters at a time, I am certain they are the problem. 

This is the configuration I am using: 

SPI_Params_init(&SpiParams);

    SpiParams.mode  = SPI_MASTER;
    SpiParams.dmaEnable = 1;
    SpiParams.dmaHandle = dmaHandle;
    SpiParams.frameFormat = SPI_POL0_PHA0;
    SpiParams.pinMode = SPI_PINMODE_4PIN_CS;
    //SpiParams.dataSize = 8U;
    //SpiParams.csHold = 1;
    SpiParams.u.masterParams.bitRate =  gMmwMssMCB.cfg.platformCfg.loggingClockRate;
    SpiParams.u.masterParams.numSlaves = 1;
    SpiParams.u.masterParams.slaveProf[0].dmaCfg.txDmaChanNum =UART_DMA_TX_CHANNEL;
    SpiParams.u.masterParams.slaveProf[0].dmaCfg.rxDmaChanNum =UART_DMA_RX_CHANNEL;
    SpiParams.u.masterParams.slaveProf[0].chipSelect = 0;
    SpiParams.u.masterParams.slaveProf[0].ramBufLen = MIBSPI_RAM_MAX_ELEM/2;

    gMmwMssMCB.loggingSpiHandle = SPI_open(0, &SpiParams);

    if (!gMmwMssMCB.loggingSpiHandle) {
        System_printf("SPI did not open");
    }

I will keep looking into documentation and figuring out a way to debug. 

Thanks for any hints in advance!

Best regards, 

Sebastian