天天看点

基于FPGA实现SPI接口(配置或通信)

基于FPGA实现SPI接口(配置或通信总线)

1)总线简介

串行外设接口(SPI)是微控制器(FPGA)和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用最广泛的接口之一。主要用于与其他设备进行数据传输,例如,子设备上报自检信息到主设备,主设备发送控制命令到子设备 ,子设备执行相应的操作等;此外,SPI主要的另一个用途主要是配置外围IC芯片,例如,通过SPI总线配置adc芯片正常工作。SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接口可以是3线式或4线式。笔者重点介绍常用的4线SPI接口。

2)硬件接口

SPI硬件连接示意图如图1所示。

基于FPGA实现SPI接口(配置或通信)

图1 SPI硬件连接示意图

4线SPI器件有四个信号:

a)时钟(SPI CLK)

b)片选(CS)

c)主机输出、从机输入(MOSI)

d)主机输入、从机输出(MISO)产生时钟信号的器件称为主机。主机和从机之间传输的数据与主机产生的时钟同步。同I2C接口相比,SPI器件支持更高的时钟频率。SPI接口只能有一个主机,但可以有一个或多个从机。MOSI和MISO是数据线。MOSI将数据从主机发送到从机,MISO将数据从从机发送到主机。这里