发送SPI的时候,如图
这是时钟频率。2个字节之间有一个2.7微妙左右的时间间隔,我一个字节时间也就4微妙。这样效率太低了。手册上关于这里面的 也有这样的时序图
我读寄存器发现
这个已经是0 wait states了,不知道这个2.7微妙哪里来的。
我做的是这么一个项目,SPI发送速率1.8m,VPU压缩码率是0.8-1.2m这样,每秒会插入一个10000-20000的I帧,每秒25帧通过SPI发送,会分成每包256字节、所以每次在发送I帧的时候,大概需要100ms。画面会卡顿一下。Can somebody help me? thank you!!
Hello,
如果你读取寄存器0 wait states的值为0x0000的话,那么意味着没有insert等待时间,这是对的。你的2.7uS时间,实际上是SPI采取16bit通信模式时,2个字节之间的衔接时间。这个衔接时间,是SCLK时钟的半个周期,这是无法避免的。你的SCLK=1.8MHz,你可以计算一下半个周期是不是刚好2.7uS.
-----------------------------------
If the value of register is 0x0000, it means there is no 'wait states' inserted. When SPI works at 16-bit communication, there is a time interval between 2 Bytes, the time interval is just half-period of SCLK, and it is not unavoidable. Your SPI speed is 1.8MHz, So you can try to calculate if 2.7us is half-period of SCLK.
----------------------------------
Have a great day,
TIC Weidong sun
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
首先我们这个是8bit 通信模式把?
第二 时钟频率是1.8MHZ, 一个周期是0.55us,半个周期是0.27us。好像跟2.7us很相似,但是貌似不是这样的。