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