欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 毕业论文 > 计算机毕业论文

基于FPGA的SPI接口时序模拟

时间:2015-09-02  作者:韦燕

摘要:本论文使用VHDL语言设计快速SPI核。在设计中介绍SPI的工作原理,并用VHDL语言来编写源代码,应用QuartusⅡ软件实现仿真,最后在硬件上实现和测试,实现主器件对从器件的控制,数据传送及从器件对主器件的数据反馈的全双工通信过程。在本次设计中,采用分块的设计方法,将设计分成三大块:并行数据串行移位,分频和模式选择。因此,只要分别对各个模块的功能进行设计,对各部分软件模块的调试采取分步调试,最后再将各模块组合进行综合和调试,最终完成设计。
论文关键词:SPI,VHDL,分频,模式选择

1.1设计简介

目前控制系统微型化的要求越来越高,为了使数字处理系统微型化,必须舍弃常用的并行总线接口方案,采用只需少量引脚线的串行总线接口方案。SPI接口的英文全称是Serial Peripheral Interface,可以翻译为串行外围设备接口。因为它是同步串行通讯的,通常称为同步串口。SPI总线是一种三线同步总线,因其硬件能力很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其它事务,因此得到广泛应用。SPI实际上是一种串行总线标准,它是一种真正的同步方式,两台设备在同一个时钟下工作,因此传输速率高达几十兆。现在与SPI总线兼容的芯片越来越多,因此,SPI为控制系统的设计带来了很大方便。例如,SPI接口提供了单片机和外围期间短距离高速通讯的接口,主模式下最高速度可以达到系统时钟的二分之一。很多器件是SPI接口的从设备比如一些EEPROM,比如AT25128;有些LCD,比如PG12864-N;有的FLASH芯片也是SPI接口的。SPI接口也可以作为CPU之间通讯的方式。该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOST和低电平有效的从机选择线SS。SPI有主、从两种工作模式,SPI的结构通过两类寄存器来体现:数据类寄存器和控制类寄存器。在使用SPI工作方式之前必须对含有SPI接口的模块做初始化的工作,主要是在SSPCON寄存器和SSPTAT寄存器中设置相关的标志位。

2 SPI原理简介

2.1 SPI的概述

SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOST和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。由于SPI系统总线一共只需3~4位数据线和控制即可实现与具有SPI总线接口功能的各种I/O器件进。行接口,而扩展并行总线则需要8根数据线、8~16位地址线、2~3位控制线,因此,采用SPI总线接口可以简化电路设计,节省很多常规电路中的接口器件和I/O口线,提高设计的可靠性。

2.2 SPI总线的组成

SDI引脚-—串行数据输入(Serial Data Input)

SDO引脚--串行数据输出(Serial Data Output)

SCK引脚――串行时钟(Serial Clock)

SS引脚――从动选择(Slave Select)

2.3 SPI主控方式

由于控制时钟SCK的输出,主控模式可以在任何时候开始数据的传输。主控模式通过软件协议控制从动模式数据输出。

在主控模式,一旦SSPBUF寄存器写入,数据就会发送或接收。如果SPI模式只考虑接收,可以禁止SDO工作(软件设置为输入)。在接收数据时,SSPSR寄存器按照时钟速率移位,一旦接收到一个字节,数据就传输到SSPBUF,同时中断标志位和状态标志位置位。

2.4 SPI从动模式

在SPI从动模式,数据的发送和接收依靠SCK引脚上输入的外时钟脉冲,当最后一位被锁存后,中断标志位SSPIF(PIPI的D3)置位。

在休眠模式,从动,模式仍可以发送和接收数据。一旦接收到数据,芯片就从休眠中唤醒。

如果采用SS控制的从动模式,当SS引脚接到时SPI模式复位。如果采用CKE=1

3应用程序

3.1 流程图

设计流程图如图1所示

3.2基本程序

SPI

图1 设计流程图

(1)复位设置

process(reset,write,e)

begin

c<=write;

ckp<= 1;

cke<='1';

if(reset='0')then

bit_cnt<='0000';

loadh<='1';

b<='0';

else

if (c='1')then

b<=e;

elsif(c='0')then

(2) 寄存器及时钟上升下降沿的设置

case ckp is

when 0 =>b<='0';

if(cke='1')then

a<='1' ;

else a<='0' ;

end if;

when 1 => b<='1';

if(cke='1')then

a<='0' ;

else a<='1' ;

end if;

end case;

end if;

if (a='1')then

if(e'event and e='1') then

if (bit_cnt='1011')then

bit_cnt<='0000';

loadh<=not loadh;

if(loadh='1')then

shift_reg<=dac_high;

else

shift_reg<=dac_low;

end if;

else

bit_cnt<=bit_cnt+1;

end if;

end if;

elsif(e'event and e='0') then

if (bit_cnt='1011')then

bit_cnt<='0000';

loadh<=not loadh;

if(loadh='1')then

shift_reg<=dac_high;

else

shift_reg<=dac_low;

end if;

3.3 软件仿真(运用SignalTap II嵌入逻辑分析仪)

嵌入式逻辑分析仪可以随设计文件一并下载于目标芯片中,用以捕捉目标芯片内部,设计者感兴趣的信号节点处的信号,而又不影响愿硬件系统的正常工作。

查看相关论文专题
加入收藏  打印本文
上一篇论文:基于人体切片的三维人体建模研究
下一篇论文:基于FPGA的VGA彩色图片的显示
毕业论文分类
行政管理毕业论文 工商管理毕业论文
护理毕业论文 会计毕业论文
会计专业毕业论文 英语专业毕业论文
大学毕业论文 硕士毕业论文
计算机毕业论文 市场营销毕业论文
物流管理毕业论文 法学毕业论文
相关计算机毕业论文
最新计算机毕业论文
读者推荐的计算机毕业论文