深圳市瑞申电子有限公司

深圳市瑞申电子有限公司是一家10年专业大功率电感生产加工厂商,主要以大功率,大电流、扁平线圈电感、平面变压器设计、生产、销售工厂。设计、绕线、组装、检测、包装、出货等全制程的工艺流程!拥有完整、科学的质量管理体系。专业技术团队10人,我们的诚信、实力和产品质量获得业界的认可。欢迎各界朋友莅临参观、指导和业务洽谈。 ...

基于FPGA的串行外围接口SPI设计与实现

时间:2015-04-20 12:32:32 点击:

摘要: SPI 总线是一个同步串行接口的数据总线,具有全双工、信号线少、协议简单、传输速度快等特点。介绍了SPI 总线的结构和工作原理,对4 种工作模式的异同进行了比较,并着重分析了SPI 总线的工作时序。利用Verilog 硬件描述语言编写出SPI 总线的主机模块,经ModelSim 仿真得出相应的仿真波形。根据仿真波形分析,所设计的SPI 主机模块的功能是正确的。最后在Xilinx ISE 中对该模块进行综合与实现,并在FPGA 上完成了下载与验证。

引言

SPI(串行外围接口)总线,是一个同步串行接口的数据总线,它具有全双工、信号线少、协议简单、传输速度快等优点。由于串行总线的信号线比并行总线更少、更简单,越来越多的系统放弃使用并行总线而采用串行总线。在众多串行总线中,SPI 总线与I2C 总线、CAN 总线、USB 等其他常用总线相比有很大优势,如SPI 总线的数据传输速度可达若干Mbps, 比I2C 总线快很多。SPI 总线最典型的应用就是主机与外围设备(如EEPROM、Flash RAM、A/D 转换器、LED 显示器、实时时钟等)之间的通信。

FPGA(现场可编程门阵列)是在PAL、GAL、PLD 等可编程器件的基础上进一步发展的产物,具有设计周期短、可重复编程、灵活性强等特点。用FPGA 设计的SPI 总线具有可扩展性强、便于修改等优点。只要对设计做简单的改动,即可对SPI 总线的数据位数、工作模式等进行扩展,充分发挥了FPGA 的优势。

1 SPI 总线的结构和工作原理

SPI 总线区分主机(Master)和从机(Slave)两部分,它的结构框图如图1 所示。

图1 SPI 总线结构框图
图1 SPI 总线结构框图

主机和从机之间通过4 根信号线连接,分别是SCK、MOSI、MI共模电感SO、CS,它们的定义如下。

SCK:同步时钟信号,用来同步主机和从机的数据传输,由主机控制输出,从机在SCK 的边沿接收和发送数据;MOSI:主机输出、从机输入信号,主机在上升沿(或下降沿)通过该信号线发送数据给从机,从机在下降沿(或上升沿)通过该信号线接收该数据;MISO:主机输入、从机输出信号,从机在上升沿(或下降沿)通过该信号线发送数据给主机,主机在下降沿(或上升沿)通过该信号线接收该数据;CS:从机片选信号,由主机控制输出。

其工作原理是: 当没有数据需要在主机和从机之间传输时,主机控制SCK 输出空闲电平,CS 输出无效电平,SPI 总线处于空闲状态;当有数据需要传输时,主机控制CS 输出有效电平,SCK输出时钟信号,SPI 总线处于工作状态;在某个时钟边沿,主机和从机同时发送数据差模电感器,将数据分别模压电感传输到MOSI 和MISO 上;在下一个时钟边沿,主机和从机同时接收数据,分别将MISO 和MOSI上的数据接收并存储;当数据全部传输完毕时,主机控制SCK 输出空闲电平,CS 输出无效电平,SPI 总线重新回到空闲状态。至此,一个完整的SPI 总线数据传输过程完成。

SPI 总线有两个控制位:CPOL 和CPHA.将SCK 的空闲电平用IDLE 表示,非空闲电平用ACTIVE 表示。CPOL 用来选择IDLE 的电平值。当CPOL=0 时,IDLE=0;当CPOL=1 时,IDLE=1.

CPHA 用来选择接收数据的时刻。当CPHA=0 时, 接收时刻是IDLE-ACTIVE 边沿;当CPHA=1 时,接收时刻是ACTIVE-IDLE边沿。根据CPOL 和CPHA 的取值情况,SPI 总线共有4 种不同的工作模式。图2 给出了SPI 总线在不同工作模式下的工作时序。

图2 SPI 总线的工作时序
图2 SPI 总线的工作时序

当CPHA=0 时,MOSI 和MISO 的时序有所不同,主要是第一个数据位MSB 的发送时刻不同。MOSI 的MSB 在SCK 的第一个IDLE-ACTIVE 边沿的前半个周期由主机发送到MOSI 上;而MISO 的MSB 则在CS 信号的下降沿由从机发送到MISO 上。当CPHA=1 时,MOSI 和MISO 的时序完全相同。

2 SPI 主机模块的设计

本文设计的SPI 主机模块主要完成以下工作:

(1) 将主机收到的8 位并行数据转换为串行数据,并发送给从机;(2) 接收来自从机的串行数据,将其转换为并行数据,通过并行端口输出;(3) 输出从机所需要的输入信号、时钟信号SCK 和片选信号CS。

在数据串并转换的过程中, 必须用到寄存器来存放临时数据。一般情况下,发送数据需要1 个发送寄 大功率电感厂家 |大电流电感工厂

  • 为什么贴片电感在电流下有延迟的作用?
    贴片电感和电流是把电能转化了而储存起来了,然后还能释放出来的,这就是为什么电容会放电的原因。而电阻是把电能消耗掉了,转化成了热能,而不能再释放出来。电容是把电能转化为电势能,贴片电感是把电能转化为磁
  • UPS电源的监控方式
    监控方式的选择决定了监控系统的维护途径和维护成本,因此在监控方式的选择上要以便利性和效用最大化为原则。 从监控方式上看,目前市场上常见的UPS监控系统主要有两种:  
  • 兼顾处理器效能与功耗 大小核设计架构突起
    4月08日 第三届·无线通信技术研讨会 立即报名 12月04日 2015•第二届中国IoT大会 精彩回顾 10月30日ETF•智能硬件开发技术培训会 精彩回顾 10月23日ETF•第三届 消费
  • 大功率电感