串行外设接口(SPI)总线提供了业界标准的处理器和其他设备之间的接口。本参考设计说明了SPI主器件控制器设计用于提供一个带有并行总线接口的通用处理器与外部SPI器件之间的接口。SPI主器件控制器可以与多个片外SPI端口通信。
SPI总线的数据大小可以配置为16或32位。该设计也可以配置为使用一个内部的FIFO或者不使用。 SPI主器件控制器设计支持所有的CPOL和CPHA(00、01、10和11)模式。
本设计采用三个引脚(时钟、数据和数据输出)和一个片选引脚,用于每个从器件。SPI通过周期性地访问和传输数据流而不是读取和写入到特定的地址,成为了与低速器件进行通信的一个不错的选择。如果我们可以利用其全双工通信能力,同时发送和接收数据,SPI将是一个很好的选择。
本参考设计使用VHDL语言编写。莱迪思的iCEcube2™布局和布线工具集成了Synplify Pro综合工具,可用于设计实现。该设计使用了iCE40™超低密度FPGA,也可以使用iCE40系列的其他器件。