SPI从器件控制器

Reference Design Logo串行外设接口(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系列的其他器件。

特性

  • 支持CPOL和CPHA工作的所有4种模式(00/01/10/11)
  • 支持可变的数据宽度(8和16位)
  • 便于与任意处理器接口的集成
  • 符合IP-XACT 1.2版

立即跳转到

框图

SPI Slave Controller Block Diagram

性能和大小

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

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

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

文档

技术资源
标题 编号 版本 日期 格式 文件大小
选择全部
SPI Slave Controller - Source Code
RD1142 1.1 1/12/2015 ZIP 377.1 KB
SPI Slave Controller - Documentation
RD1142 1.0 10/12/2012 PDF 667.2 KB