基于FPGA的SPI Master Interface设计.doc
《基于FPGA的SPI Master Interface设计.doc》由会员分享,可在线阅读,更多相关《基于FPGA的SPI Master Interface设计.doc(4页珍藏版)》请在三一文库上搜索。
1、基于FPGA的SPI Master Interface设计随着现场可编程门阵列(FPGA)芯片在商业、军事、航空航天等领域的广泛应用,其可靠性和可测试性显得尤为重要。对设计人员来说,FPGA的使用相当灵活。然而,正是这种应用的不确定性和重复可编程性,增加了芯片的测试难度。其核心问题是建立什么样的测试模型才能使故障激活。根据需求,FPGA的测试大体可分为面向制造的测试过程(MTP)和面向应用的测试过程(ATP)两类。MTP主要是从制造商的角度来测试,ATP是在应用级上的测试,也就是把FPGA配置为特定的功能进行测试,具有很强的针对性1。本文介绍ATP测试中SPI Master 模型的建立。在测试
2、FPGA设计的集成电路时,对设计电路的性能进行实时测试是必不可少的环节2。这就需要设计一种接口电路,将测试数据送入设计电路。1 SPI总线协议介绍SPI(Serion Perpheral Interface)3是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用4根线,节约了芯片的管脚,同时为PCB的布局节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议。SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。也是所有基于SPI的设备共有,分别是MISO(
3、数据输入),MOSI(数据输出),SCK(时钟),NSS(片选),如图1所示。(1)MOSI:主设备数据输出,从设备数据输入。(2)MISO:主设备数据输入,从设备数据输出。(3)SCK:时钟信号,由主设备产生。(4)NSS:从设备使能信号,由主设备控制。 使能信号低电平有效,当使能信号为低电平时,输出数据(MOSI)在串行时钟(SCK)下降沿变化,输入数据(MISO)在(SCK)上升沿变化。2 SPI Master原理 本文介绍的基于FPGA的、可配置的SPI Master接口设计,能满足测试的各种正常、异常以及强度测试要求。此SPI接口模块可设置为单次发送、循环发送(发送间隔可设);发送数
4、据长度可变;串行时钟线(SCK)与输出数据线(MOSI)时序关系可变;串行时钟线(SCK)与使能信号(NSS)时序关系可变。 一般情况下,为了SPI数据发送的灵活性,SPI发送次数及发送间隔是由软件实现的,当需要循环发送且发送间隔达到微秒甚至纳秒数量级时,软件很难实现。本文将SPI发送次数以及发送间隔集成到SPI Master模块中,使SPI发送间隔可变且最小为一个SCK周期。按照SPI总线协议设计的SPI Master输出数据(MOSI)在串行时钟(SCK)下降沿变化,不能进行异常时序测试,而异常时序在FPGA4,5的接口测试中又最为重要,故本文利用触发器特性设计电路,使SPI发送数据时序可
5、变,精度为1个系统时钟周期。3 SPI Master 模块结构图SPI Master模块由Bram接口、配置寄存器、控制器三部分组成,如图2所示。此模块系统时钟为100 MHz。BRAM接口:控制配置参数以及SPI数据的读写配置参数及SPI数据在BRAM中存储结构如表1所示。控制器:解析配置寄存器,产生发送时序,控制BRAM接口进行数据读写。 对配置寄存器说明如下。(1)循环发送标识寄存器:1 bit,高电平标识循环发送,低电平标识单次发送。(2)循环发送次数寄存器:15 bit,若循环发送标识为高电平时,此寄存器值为要发送的数据长度,单位:B;发送模块中包含一发送次数计数器,NSS从高电平变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于FPGA的SPI Master Interface设计 基于 FPGA SPI Interface 设计
链接地址:https://www.31doc.com/p-3410320.html