串行外设接口(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系列的其他器件。
特性
- 4根基于地址的SPI从器件选择线
- 便于与任意处理器接口的集成
- 时间可配置特性
- CPOL和CPHA模式 – 00, 01, 10, 11
- 可配置的SCLK周期
- 可配置的建立、保持和两个SPI数据交换之间的时间间隙
- 参数化的数据宽度
- 用户可配置的读和写数据FIFO
- 符合P-XACT 1.2版









