SPI主器件控制器

Reference Design Logo串行外设接口(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版 

立即跳转到

框图

SPI Master Controller Block Diagram

性能和大小

器件系列 资源使用(LUT) 语言 fMAX (MHz) I/O引脚 结构资源
iCE40™ 360 VHDL 125 86 N/A

性能和资源使用情况数据是通过使用iCE-40LP1K-CM121器件和iCEcube2软件测得的。

注:以上所示的性能和设计大小仅是估计值。实际结果可能取决于所选择的参数、时序约束和所用的器件。若要了解更详细的情况,请查阅设计文件。除非另有说明,所有的代码和设计工作都是在PC平台上完成的。

文档

技术资源
标题 编号 版本 日期 格式 文件大小
选择全部
SPI Master Controller - Source Code
RD1141 1.0 10/12/2012 ZIP 866.8 KB
SPI Master Controller - Documentation
FPGA-RD-02174 1.1 2/5/2021 PDF 683.1 KB