基于FPGA的可配置SPI Master接口设计方案
电子元件,电子元器件深圳市创唯电子有限公司
您现在的位置: 首页 > 电子技术
基于FPGA的可配置SPI Master接口设计方案  2012/3/1
摘要:介绍一种基于FPGA的SPIMasterInterface设计。依据SPI同步串行接口的通信协议,设计一个可配置的、高度灵活的SPIMaster模块,以满足正常、异常及强度测试要求。利用Verilog语言实现SPI接口的设计原理和编程思想。随着现场可编程门阵列(FPGA)芯片在商业、军事、航空航天等领域的广泛应用,其可靠性和可测试性显得尤为重要。对设计人员来说,FPGA的使用相当灵活。然而,正是这种应用的不确定性和重复可编程性,增加了芯片的测

      摘要:介绍一种基于FPGA的SPIMaster Interface设计。依据SPI同步串行接口的通信协议,设计一个可配置的、高度灵活的SPI Master模块,以满足正常、异常及强度测试要求。利用Verilog语言实现SPI接口的设计原理和编程思想。

随着现场可编程门阵列(FPGA)芯片在商业、军事、航空航天等领域的广泛应用,其可靠性和可测试性显得尤为重要。对设计人员来说,FPGA的使用相当灵活。然而,正是这种应用的不确定性和重复可编程性,增加了芯片的测试难度。其核心问题是建立什么样的测试模型才能使故障激活。根据需求,FPGA的测试大体可分为面向制造的测试过程(MTP)和面向应用的测试过程(ATP)两类。MTP主要是从制造商的角度来测试,ATP是在应用级上的测试,也就是把FPCA配置为特定的功能进行测试,具有很强的针对性。本文介绍ATP测试中SPI Master模型的建立。在测试FPGA设计的集成电路时,对设计电路的性能进行实时测试是必不可少的环节。这就需要设计一种接口电路,将测试数据送人设计电路。

1 SPI总线协议介绍

SPI(Seri。n Perpheral Interface)是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用4根线,节约了芯片的管脚,同时为PCB的布局节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议。SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设各和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。也是所有基于SPI的设各共有,分别是MIS0(数据输人),M0SI(数据输出),SCK(时钟),NSS(片选),如图1所示。

(1)M0SI:主设备数据输出,从设备数据输人。

(2)MISO:主设各数据输人,从设备数据输出。

(3)SCK:时钟信号,由主设各产生。

(4)NSS:从设各使能信号,由主设各控制。

使能信号低电平有效,当使能信号为低电平时,输出数据(M0SI)在串行时钟(SCK)下降沿变化,输人数据(MIS0)在(SCK)上升沿变化。

2 SPI Master原理

本文介绍的基于FPGA的、可配置的SPI Master接口设计,能满足测试的各种正常、异常以及强度测试要求。此SPI接口模块可设置为单次发送、循环发送(发送间隔可设);发送数据长度可变;串行时钟线(SCK)与输出数据线(MOSI)时序关系可变;串行时钟线(SCK)与使能信号(NSS)时序关系可变。

一般情况下,为了SPI数据发送的灵活性,SPI发送次数及发送间隔是由软件实现的,当需要循环发送且发送间隔达到微秒甚至纳秒数量级时,软件很难实现。本文将SPI发送次数以及发送间隔集成到SΠ Master模块中,使SPI发送间隔可变且最小为一个SCK周期。按照SPI总线协议设计的SPI Master输出数据(M0SI)在串行时钟(SCK)下降沿变化,不能进行异常时序测试,而异常时序在FPGAH的接口测试中又最为重要,故本文利用触发器特性设计电路,使SPI发送数据时序可变,精度为1个系统时钟周期。

3 SP丨Master模块结构图

SPI Master模块由Bram接口、配置寄存器、控制器三部分组成,如图2所示。此模块系统时钟为100 MHz。

BRAY接口:控制配置参数以及SPI数据的读写配置参数及SPI数据在BRAM中存储结构如表1所示。

控制器:解析配置寄存器,产生发送时序,控制BRAM接口进行数据读写。

对配置寄存器说明如下。

(1)循环发送标识寄存器:1 bit,高电平标识循环发送,低电平标识单次发送。

与《基于FPGA的可配置SPI Master接口设计方案》相关列表
电话:400-900-3095
QQ:800152669
库存查询
Copyright(C) 2011-2021 Szcwdz.com 创唯电子 版权所有 备案号:粤ICP备11103613号
专注电子元件代理销售  QQ:800152669  电子邮件:sales@szcwdz.com  电话:400-900-3095