SPI接口的Verilog语言实现 - 图文

2019-08-30 18:56

电子与电气工程系

课程设计、专题(综合)实验报告

课题名称__串行接口IP核的设计与验证(spi)_

专 业____ 电子信息工程________ 班 级_____ 08电子1班__________ 学 号__0806012103_ 0806012104_ 姓 名___ 高江柯____吴冠雄__ ______ 成 绩________________________ 指导教师_______袁江南____________

2011年 6 月 15 日

串行接口IP核的设计与验证(SPI)

(FPGA作为主机) 一、 实验目的:

通过本实验的学习,使学生掌握使用VHDL 设计一个实用数字系统的能力,以及单片机串行接口编程等知识,训练 VHDL以及单片机的编程与综合使用能力,培养工程设计的基本技能,为今后毕业设计以及实际工作奠定基础。

二、 实验原理

SPI 接口是在 CPU 和外围低速器件之间进行同步串行数据传输,在主器件

的移位脉冲下,数据按位传输,高位在前,地位在后,为全双工通信,数据传输速度总体来说比I2C 总线要快,速度可达到几Mbps。

SPI 接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从 器件,其接口包括以下四种信号:

(1)MOSI –主器件数据输出,从器件数据输入 (2)MISO –主器件数据输入,从器件数据输出 (3)SCLK – 时钟信号,由主器件产生

(4)/CS –从器件使能信号,由主器件控制

在点对点的通信中,SPI 接口不需要进行寻址操作,且为全双工通信,显得简单高效。

SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。下图所示,在 SCLK 的下降沿上数据改变,同时一位数据被存入移位寄存器。

三、 实验步骤:

1、

2、 3、 4、 5、 6、

查找关于SPI的资料,认识理解SPI。

根据SPI传输数据的时序图构建出SPI的框图。

利用自顶向下的方法根据框图分模块进行程序的编写。 把各模块连接构成完整的SPI传输系统。 进行仿真验证。

在康芯开发板上验证此SPI系统收发及中断功能是否正常。(由于时间原因其步未能完成)

四、 设计过程:

模块1:

输入说明:

data7[7..0] : FPGA写数据到RAM的输入口。 enable : 为输入使能。 reset : 复位。 clk : 输入时钟。

contr_addr[5..0]: FPGA写数据到RAM的地址的最大值,即写入RAM

中数据的个数。

feedback : SPI系统发送完数据的反馈,提示FPGA又可以重

新写数据到RAM,然后发送。

输出说明:

wr_en : 控制RAM写使能。

wr_addr : 写数据到RAM的地址控制,写一数据地址加一。 wr_clock : RAM写数据时钟,上升沿有效。 fullflag : RAM写满的标志。 data_out[7..0] : RAM中写入的数据。

模块说明:

FPGA通过SPI发送数据,数据必须要有个缓存阶段。此设计中是利用RAM作为缓存。该模块就是数据写入RAM的控制器,并提示FPGA开始发送数据及发送多少个数据。SPI发送完数据后提示FPGA重新写数据到RAM继续发送。

仿真时序图:

模块2:


SPI接口的Verilog语言实现 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高等数学A1教学要求

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: