器件型号: TDA4VM
尊敬的 TI:
希望你做得好。
我想计算在 MCSPI 器件上传输数据(以字节为单位)所需的时间。
我已经完成了以下计算:
传输 n 个字节所需的时间(纳秒)=(1 / MCSPI 时钟频率)x (n * 8) x 2
其中:
此计算是否正确且完成、或者我是否需要考虑其他因素(如起始位,结束位或任何其他因素)?
Hasan
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.
器件型号: TDA4VM
尊敬的 TI:
希望你做得好。
我想计算在 MCSPI 器件上传输数据(以字节为单位)所需的时间。
我已经完成了以下计算:
传输 n 个字节所需的时间(纳秒)=(1 / MCSPI 时钟频率)x (n * 8) x 2
您好:
以",="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 0px;="" text-decoration:="" none="" solid="" rgb(10,="" 10,="" 10);="" border-bottom:="" 0px="" 10);"="">50MHz 时钟速度理论上、 单字节 8 位的 传输时间大约为 160ns、 在理想的背靠背条件下大约为每位 20ns。
但实际上、由于开销、可能会有一些延迟。
此致
Tarun Mukesh
尊敬的 Tarun:

我仍然没有得到任何答案?
在实际应用中、由于开销、可能会出现一些延迟
如何计算您提到的这一开销?
在我的计算中、我将计算出的时间减去系数 2、以补偿这种开销延迟、而这种延迟似乎不适用于大数据块。 对于我的应用、我需要精确地进行时间计算。
理论上以",="" arial,="" sans-serif;="" font-size:="" 16px;="" font-weight:="" 400;="" margin:="" 0px;="" text-decoration:="" none="" solid="" rgb(10,="" 10,="" 10);="" border-bottom:="" 0px="" 10);"="">50MHz 时钟速度运行、 单字节 8 位需要大约 160ns 的 传输时间、
因此、我不必考虑起始位、结束位或其他任何因素。 我只需要考虑要传输的实际数据、对吧?
此致、
Hasan
尊敬的 Traun:
我已经使用逻辑分析仪进行了检查、发现每次字传输后都会出现延迟。 延迟会随着 SPI 时钟频率的增加而持续降低、但不会变为零。
我附上了每次字传输后 SPI 时钟频率与延迟之间的比较以供您参考。
| 频率 SPI 时钟 (MHz) | 延迟 (ns) |
| 100 | 30 |
| 50 | 30 |
| 33.33 | 30 |
| 25 | 40 |
| 20 | 40 |
| 16.66 | 50 |
| 11.11. | 55 |
| 9.09 | 70 |
| 7.14 | 90 |
| 6.25 | 100 |


如上所述、为什么两个连续字的传输之间始终存在一定的延迟、那么没有延迟?
期待收到您的回复。
此致、
Hasan
您好 Hasan、
这是 SPI 的内部状态机、需要处理现有字并发送下一个字。在物理硬件中、将一个字节从存储器移动到传输线路需要内部状态机转换和时钟同步、这需要有限的纳秒级时间。
为什么在提高频率下时间更短是因为内部状态机需要一些 SPI 时钟边沿来重新加载数据缓冲器、移位寄存器和准备下一个字。 在较高频率下、时钟周期更少意味着等待时间更少。
这就是您在上表中观察到的情况。 软件提供的我们无需在字之间提供任何延迟。
此致
Tarun Mukesh