SPI4.2总线应用和调试
为保证不发生接收端FIFO队列溢出等问题,尽量将接收端的MaxBurst1和MaxBurst2设置大一些, 只要小于FIFO入口总数就可以,而发送端MaxBurst1和MaxBurst2的 设置不要超过本端接收能力。
如果出现EOP(结束包)和SOP(起始包)错误或缺失,或者其他错包(例如包长变短、帧校验错误等),但没有DIP4 错误,该怎么办?这类问题一般出现在FIFO队列设置上,尤其是接收端的FIFO队列可能溢出,从而丢失了某些数据块,可以通过以下3种方法来检测和解决:
① 通过查看接收端FIFO溢出标志来判断FIFO队列是否溢出;
② 通过调整接收端的MaxBurst1和MaxBurst2来防止FIFO队列溢出;
③ 如果方法②的调整足够大,还有此问题,可以查看对端是否收到反压信号,以及对端的状态等。
为了方便,通常将发送端的MaxBurst1和MaxBurst2设置为相同数值,将接收端的MaxBurst1和MaxBurst2也设置成相同数值。
结语
随着处理器的速度越来越快,处理器集成的内核越来越多,处理器与外围器件之间,处理器之间,以及外围器件之间的连接速度逐渐成为制约平台性能的瓶颈。许多芯片同时集成了多个总线接口,例如XLR732同时拥有SPI4.2、HT、以太网3种总线接口。SPI4.2总线在与其他总线的竞争中体现出了强大的生命力,希望本文所介绍的经验对正在应用或计划应用SPI4.2总线的同行有所帮助。
评论