主题中讨论的其他器件:HALCOGEN、 TMS570LC4357
SPI5是主器件。 请参阅随附的 SPI5时钟配置图像
。 
我们尝试了两种方法
- 进行 CRC 计算
- 而不进行 CRC 计算

Halcogen spiTransmitData、spiTransmitAndReceiveData 使用两个 API。 由于运行缓慢、我们尝试使用另一个包装程序、只调用 spiTransmitAndReceiveData、这也花费了9.6us 来提供输出。

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.
SPI5是主器件。 请参阅随附的 SPI5时钟配置图像
。 
我们尝试了两种方法

Halcogen spiTransmitData、spiTransmitAndReceiveData 使用两个 API。 由于运行缓慢、我们尝试使用另一个包装程序、只调用 spiTransmitAndReceiveData、这也花费了9.6us 来提供输出。

您好!
如何获得9.6us? 您是否使用了示波器或 PMU?
您的测量中9.6us 间隔的起始点和结束点是什么时候?
您可以使用 PMU 来测量 API 所用的 CPU 周期数:
/*开始周期计数器*/
_pmuStartCounter_(pmuCYCLE _计数器);
/* SPI API */
spiTransmitData (...);
或
SpiTransmitAndReceiveData(...)
/*停止周期计数器*/
_pmuStopCounter_(pmuCYCLE _计数器);
/*读取 CNNT 周期*/
周期=_pmuGetCycleCount_();
你好 Sachin、
我只需检查 SPI API 所采用的 CPU 周期:
1. spiTransmitAndReceiveData (spiREG1、&dataconfig1_t、1、TX_Data_Master、RX_Data_Master);
这需要313个 CPU 周期来发送和接收1个字。
spiTransmitData (spiREG1、&dataconfig1_t、1、TX_Data_Slave);
这需要相同数量的 CPU 周期。
以下是测量代码:

CPU 频率为160MHz,因此在“其它”部分中使用的两个 API 需要626个 CPU 周期:626*1000/160=3.9us。
你好 Sachin、
根据今天的 conf 调用、这是 MibSPI+DMA 的示例。 此示例在 TMS570LC4357 Launchpad 上实现。
e2e.ti.com/.../TMS570LC4357_5F00_MibSPI1_2600_3_5F00_DMA.zip