串行外设接口(SPI)主要用于主机处理器及其外设之间的同步串行通信。SPI总线因为其较少的引脚数和全双工模式,可以实现几十Mbps范围的数据吞吐量,因而常常被许多应用所选用。SPI总线使用一个四线接口和两个单向的数据线实现主器件和选通的从器件之间的通信。SPI支持一条总线上一个主器件和多个从器件,并允许支持灵活的位传输协议。
本参考设计实现了一个SPI从器件接口,提供了与SPI主器件之间的全双工、同步、串行通信。SPI总线的数据大小可以配置为16或8位。SPI从器件控制器参考设计支持CPOL和CPHA - 00、01、10和11所有四种模式。
本设计采用三个引脚(时钟、数据和数据输出)和一个片选引脚,用于每个从器件。SPI通过周期性地访问和传输数据流而不是读取和写入到特定的地址,成为了与低速器件进行通信的一个不错的选择。如果我们可以利用其全双工通信能力,同时发送和接收数据,SPI将是一个很好的选择。
本参考设计使用VHDL语言编写。莱迪思的iCEcube2™布局和布线工具集成了Synplify Pro综合工具,可用于设计实现。该设计使用了iCE40™超低密度FPGA,也可以使用iCE40系列的其他器件。