当前位置:文档之家› 基于verilog的SPI设计

基于verilog的SPI设计

武汉理工大学本科学生毕业设计(论文)开题报告目录摘要 (I)Abstract (II)1 绪论 (3)1.1课题研究背景 (3)1.2 SPI研究目的及意义 (4)1.3 本章小结 (4)2 SPI原理分析 (5)2.1 SPI介绍 (5)2.2 SPI工作模式 (6)2.3 SPI传输模式 (6)2.4 SPI协议 (7)2.5 本章小结 (8)3 方案论证 (10)3.1在51系列单片机系统中实现 (10)3.2 用可编程逻辑器件设计SPI (11)3.3 本章小结 (11)4 SPI的电路设计 (12)4.1 SPI设计系统的功能 (12)4.2 SPI各部分具体实现 (12)4.2.2 SPI系统中所用的寄存器 (13)4.2.3 SPI速率控制 (14)4.2.4 SPI控制状态机 (14)4.2.5 SPI程序设计流程图 (15)4.3 SPI仿真及开发板上调试验证分析 (16)4.3.1 仿真分析 (16)4.3.2开发板上调试 (18)4.4 本章小结 (20)5 论文总结 (21)致谢 (22)参考文献 (23)附录1 (24)附录2 (28)摘要随着专用集成电路(ASIC)设计技术的进步以及超大规模集成电路(VLSI)工艺技术的飞速发展,以及其价格的日益降低,采用FPGA编程的硬件电路来实现诸如SPI接口也日益切实可行,相对软件实现具有更好的优点。

SPI接口是一种常用的标准接口,由于其使用简单方便且节省系统资源,很多芯片都支持该接口,SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间等等。

由于SPI接口是一种事实标准,并没有标准协议,大部分厂家都是参照Motorola的SPI接口定义来设计的,但正因为没有确切的版本协议,不同厂家产品的SPI接口在技术上存在一定的差别,容易引起歧义,有的甚至无法互联(需要用软件进行必要的修改)。

本文基于一种使用较为普遍的协议来进行设计,并参照Motorola公司的MC68HC11A8单片机中的SPI模块定义来设计的简化的SPI接口,用Verilog语言进行编写设计,并在ISE 软件上进行设计仿真,并在基于Xlinx公司的Spartan-3E芯片的Digilent公司出品的Nexys2开发板上用在线逻辑分析仪chipscope进行板上调试验证观察结果,并完成实现功能,并具有一些独创性的设计。

关键词:FPGA Verilog SPI协议 chipscope ISEAbstractWith the advances in design technology of ASIC and VLSI’s rapid development, and its price is lower, the hardware circuit based on FPGA programming interface to achieve such as SPI is feasible, and it realizes better than software. SPI interface is a common standard interface, due to its simple and convenient use and save system resource , a lot of chips support this interface. SPI interface is extensively applied in EEPROM, FLASH, real-time clock, AD converter, and digital signal processor and digital signals decoder, etc.Due to the interface is a fact SPI standard, and it has no standard protocol, most manufacturers design the SPI refer to the interface definition of Motorola's reference.Because of no definite agreement, there is a lot of different versions of the products in the technology exists on SPI interface, easy cause of ambiguity, some even cannot interconnect (need to do some m odification).Based on a common protocols for design, and the company MC68HC11A8 microcontroller of Motorola module definition to design the SPI simplified SPI interface, with Verilog language writing, and in the design of the software design ISE simulation, and based on the Xlinx company Digilent chip Spartan 3E - the Nexys2 development board with online logic analyzers chipscope on board, and debugging validation observations, and complete functionality has some distinctive design.Keywords:FPGA Verilog SPI protocol chipscope ISE1 绪论在研究SPI串行外围接口之前,我们首先要对其背景及其研究的目的要有所了解。

1.1课题研究背景数据传送有串行传送和并行传送两种方。

并行传送以其高速度占领了数据传送领域很长一段时间,采用并行传送的集成电路、外围设备可谓不计其数,从CPU、RAM/ROM到打印机。

从原理上讲,串行传输是按位传输方式,只利用一条信号线进行传输,例如:要传送一个字节(8位)数据,是按照该字节中从最高位逐位传输,直至最低位。

而并行传输是一次将所有一字节中8位信号一并传送出去。

自然最少需要8根信号线。

如果按每次传送的数据流量来看,并行传输要远快于串口,在电脑发展初期,由于数据传输速率不是很高,并行传输还是很快的。

但并行传输也有它的缺点:(1)干扰问题上面的人已经提到。

其根本原因是由于传输速率太快,一般达到100M以上,信号线上传递的频率将超过100MHz,想想看,调频收音机的频率也不过88~108MHz,也就是说,若用并行传输的话,是8根天线放在一起来传输信号,易发生干扰。

但如果加强屏蔽,减小信号线间的耦合电容,是可以继续增大传输速率的,不过这将变得不现实,因为这必然导致信号线将耗用更多金属,截面积更大。

但这并不是不能解决的问题。

(2)并行传输速率提升困难的最主要原因是同步问题并行传输时,发送器是同时将8位信号电平加在信号线上,电信号虽然是以光速传输的,但仍有延迟,因此8位信号不是严格同时到达接受端,速率小时,由于每一字节在信号线上的持续时间较长,这种到达时间上的不同步并不严重,随着传输速率的增加,与8位信号到达时间的差异相比,每一字节的持续时间显得越来越短,最终导致前一字节的某几位与后一字节的几位同时到达接受端,这就造成了传输失败,而且随着信号线的加长这种现象还会越发严重,直至无法使用。

——这是并口传输的致命缺点。

串行传输由于只有一位信号在信号线上,没有位同步问题,因此传送频率可以继续提高,当前传输速率已经达到1Gb/s(1000M)以上,而且还在提高,而并行传输在100Mb/s 左右就停滞不前了,可以预见,串行传输将会比并行传输越来越快。

为此,串行传输已经成为当今外设接口的主流传输方式,为此,摩托罗拉公司开发出了同步外设接口(SPI),并随着时间不断改进,由于其占用线的资源少,且稳定可靠,该总线大量用在与EEPROM、ADC、FLASH和显示驱动器之类的慢速外设器件通信,现在很多单片机等都有SPI模块来连接外围设备,从而使主机与外设传输数据更加方便。

1.2 SPI研究目的及意义SPI是一种同步串行通讯方式,是一种三线同步总线,它是一种常用的标准接口,由于其使用简单方便且节省系统资源,很多芯片都支持该接口,SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间等等。

当然,串口通信还有其他的接口方式,S PI接口和UART相比,多了一条同步时钟线,对通信双方的时序要求不严格不同设备之间可以很容易结合,而且通信速度非常快。

一般用在产品内部元件之间的高速数据通信上面,如大容量存储器等。

这就凸现SPI的好处。

为此,研究SPI接口,可以更容易了解并外围器件传输过程,并对其已定义的进行改进,并使之更加可靠,功能强化。

SPI接口的扩展有硬件和软件两种方法,软件模拟SPI接口方法虽然简单方便,但是速度受到限制,在高速且日益复杂的数字系统中,这种方法显然无法满足系统要求,所以采用硬件的方法实现最为切实可行。

这使得与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。

SPI接口是一种事实标准,并没有标准协议,大部分厂家都是参照Motorola的SPI接口定义来设计的,但正因为没有确切的版本协议,不同厂家产品的SPI接口在技术上存在一定的差别,容易引起歧义,有的甚至无法互联(需要用软件进行必要的额修改)。

当前,基于主从处理器结构的系统架构已经成为一种主流(如 DSP+FPGA,MCU+FPGA 等),FPGA是在ASIC的基础发展出来的,它克服了专用ASIC不够灵活的缺点。

与其他中小规模集成电路相比,其优点主要在于它有很强的灵活性,即其内部的具体逻辑功能可以根据需要配置,对电路的修改和维护很方便。

目前,FPGA的容量已经跨过了百万门级,使得FPGA成为解决系统级设计的重要选择方案之一。

在这种架构下,应用FPGA来构建SPI通信接口是切实可行的。

并FPGA是可编程并可重复擦写的,从而具有更大的灵活性,在协议不标准的情况下,可根据外围设备的不同而灵活的改动SPI设计,使设计周期大大降低,并与外围设备连接更加方便。

1.3 本章小结本章主要介绍了SPI的背景,及研究的目的与意义,进而可以知道SPI提出的目的以及其现阶段的发展状况,从而可以对SPI的这些理解达到举一反三的目的。

相关主题