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.

IWR6843ISK: 将芯片与esp32s3芯片进行SPI互联,数据通信会丟大量数据

Part Number: IWR6843ISK

尝试6843作为SPI主机,引脚使用如下:

/* SPIA_MOSI */
Pinmux_Set_OverrideCtrl(SOC_XWR68XX_PIND13_PADAD, PINMUX_OUTEN_RETAIN_HW_CTRL, PINMUX_INPEN_RETAIN_HW_CTRL);
Pinmux_Set_FuncSel(SOC_XWR68XX_PIND13_PADAD, SOC_XWR68XX_PIND13_PADAD_SPIA_MOSI);


/* SPIA_MISO */
Pinmux_Set_OverrideCtrl(SOC_XWR68XX_PINE14_PADAE, PINMUX_OUTEN_RETAIN_HW_CTRL, PINMUX_INPEN_RETAIN_HW_CTRL);
Pinmux_Set_FuncSel(SOC_XWR68XX_PINE14_PADAE, SOC_XWR68XX_PINE14_PADAE_SPIA_MISO);

/* SPIA_CLK */
Pinmux_Set_OverrideCtrl(SOC_XWR68XX_PINE13_PADAF, PINMUX_OUTEN_RETAIN_HW_CTRL, PINMUX_INPEN_RETAIN_HW_CTRL);
Pinmux_Set_FuncSel(SOC_XWR68XX_PINE13_PADAF, SOC_XWR68XX_PINE13_PADAF_SPIA_CLK);

// /* SPIA_CS */
Pinmux_Set_OverrideCtrl(SOC_XWR68XX_PINE15_PADAG, PINMUX_OUTEN_RETAIN_HW_CTRL, PINMUX_INPEN_RETAIN_HW_CTRL);
Pinmux_Set_FuncSel(SOC_XWR68XX_PINE15_PADAG, SOC_XWR68XX_PINE15_PADAG_SPIA_CSN);

主机配置:

params.mode = SPI_MASTER;

/* Enable DMA and set DMA channels */
params.u.masterParams.bitRate = 1*100*1000U;
params.u.masterParams.numSlaves = 1;
params.u.masterParams.slaveProf[0].chipSelect = 0;
params.u.masterParams.slaveProf[0].ramBufLen = MIBSPI_RAM_MAX_ELEM;
params.u.masterParams.slaveProf[0].dmaCfg.txDmaChanNum =1U;
params.u.masterParams.slaveProf[0].dmaCfg.rxDmaChanNum =2U;

params.u.masterParams.c2tDelay = 0x20;
params.u.masterParams.t2cDelay = 0x20;
params.u.masterParams.wDelay = 0;

params.dmaEnable = 1;
params.dmaHandle = gDmaHandle;

params.frameFormat = SPI_POL0_PHA0;
params.shiftFormat = SPI_MSB_FIRST;
params.pinMode = SPI_PINMODE_4PIN_CS;

esp32从机接收数据不对,只有前两个字节,后面基本为0;

尝试过6843与6843进行主机从机测试,发现程序本身没问题,能够正常通信。esp32s3与esp32s3进行主机从机测试,也是能够正常通信的。

用示波器采集了SPI通信波形,

发现6843SPI通信发送64字节时,MOSI由低拉高的,CS角每两个字节有个明显的跳变,CLK引脚也是在CS跳变时有个空闲

如下图黄色为CS,紫色为CLK:

esp32S3SPI通信发送64字节时是,MOSI由高拉低的,CS和CLK是整体持续的,没有空闲跳变

这种现象是6843哪里配置有问题吗?