微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 一种基于FPGA的可配置SPI Master接口设计实现

一种基于FPGA的可配置SPI Master接口设计实现

时间:11-28 来源:电子技术应用 点击:

4.1 单次发送(正常时序)

SPI Master控制器检测到SPI_start信号有效,即控制Bram接口读取配置参数,经译码后若循环发送标识寄存器为低电平,则配合发送长度寄存器读取BRAM中数据,并进行发送。

4.2 单次发送(异常时序)

MOSI异常时序:正常情况下MOSI在SCK下降沿变化,此设计采用一带抽头的序列寄存器产生异常时序,如图4。

每增加一个触发器,延时增加一个系统时钟[6],多路开关依据MOSI时序寄存器中值选择相应触发器输出,产生异常时序,举例说明如图5。

图5中sys_clk为系统时钟频率100 MHz,NSS为使能信号;MOSI为串行输出信号;当SCK频率寄存器为10时,SPI串行时钟SCK周期=(SCK频率寄存器)×10 ns=100 ns,即SCK频率为10 MHz;当MOSI时序寄存器值为4时,MOSI在SCK下降沿后4个sys_clk开始变化。

4.3 循环发送(时序正常)

每完成一次SPI发送,发送次数计数器加1,当发送次数计数器中的值与循环发送次数寄存器中值相等时,完成循环发送。发送次数由循环发送次数寄存器值决定,循环发送间隔由发送间隔计数器决定。

4.4 循环发送(时序异常)

类似循环发送(正常时序),异常时序产生类似单次发送(异常时序)。

实现的目标器件是Xilinx的Virtex2 pro开发板。本文已应用于中国科学院光电研究院测试平台中,实现了SPI接口以及与其功能相关的的测试。

与同类SPI Master相比,发送间隔可变、精度高,最小间隔仅为1个SCK时钟周期;发送时序可变,精度高,为1个系统时钟周期;基本满足正常、异常以及强度等测试要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top