一种基于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个系统时钟周期;基本满足正常、异常以及强度等测试要求。
- 一种基于FPGA的接口电路设计(11-18)
- 利用Virtex-5 FPGA实现更高性能的方法(03-08)
- 设计性能:物理综合与优化(04-28)
- 使用 PlanAhead Design 工具提高设计性能(04-28)
- 采用灵活的汽车FPGA 提高片上系统级集成和降低物料成本(04-28)
- 面向 FPGA 的 ESL 工具(04-29)