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.

[参考译文] TMS320F28386D:SPI FIFO TX 超时

Guru**** 2457760 points
Other Parts Discussed in Thread: C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1219573/tms320f28386d-spi-fifo-tx-timeout

器件型号:TMS320F28386D
主题中讨论的其他器件:C2000WARE

我使用 带有 FIFO 的 SPI 转 TX 数据(SPI_FIFO_TX16)、但 使用轮询方法、不使用中断(项目受限的中断使用)。

例如、当 Tx 数据时(短时间内少于16个由确定的 TX 字节、数据移动到 HWREGH (base + SPI_O_TXBUF))

我已经完成了测试、如果我输入 delay_US (4)、那么它将像第一张图片所示的那样发送。 两个 SPI 通信周期。

如果我放入 delay_us (3)、它会像 第二幅 图片所示的那样发送。  一个 SPI 通信周期。

我的问题是在哪里可以找到具有 FIFO 的 TX 超时的参数描述?  作为一个或两个  SPI 通信周期发送 TX

我想这可能在数据表中。

void spiTxFIFOTask (const uint8_t dataTx[]、const uint8_t byteLength)

//要求 dataTx 和 dataRx 不是 NULL 指针
assert (dataTx);
uint16_t i;
//
//发送数据
//
for (I = 0;I < byteLength;I++)

SPI_writeDataNonBlocking (SPID_BASE、dataTx[I]<<8);
}
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    W Z、

    在哪里插入 delay_US (4)(或) delay_US (3)? 您能解释一下吗?

    请提供更多信息、以便提供有意义的反馈。

    此致、

    Manoj

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    DMA_FORCETrigger (DMA_CH5_BASE);//TX 数据
    DELAY_US (4);
    DMA_FORCETrigger (DMA_CH5_BASE);//TX 数据

    我认为两个突发之间的延迟 可能取决于 SPI 时钟频率。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    W Z、

    如果您尝试删除每个字节传输之间的 DELAY_US。 为何无法使用启用 SPI FIFO? 这样、您可以在一个 SPI 事务中输入多达16个字节。

    此致、

    Manoj

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经启用 SPI FIFO。  还使用 DMA 将 TX 数据传输到 SPI TX FIFO。   

    项目要求是 传输二  SPI 事务(每个 SPI 事务两个字节) 但无法使用中断。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我建议您查看 C2000Ware 中提供的 SPI_EX7_EEPROM_DMA 示例。 本示例使用 DMA-SPI 进行发送/接收操作、而无需使用 SPI 中断。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此问题是否已得到解决? 我可以关闭该主题吗?