fpga实现spi总线设计文档

fpga实现spi总线设计文档

ID:27521889

大小:294.44 KB

页数:5页

时间:2018-12-03

fpga实现spi总线设计文档_第1页
fpga实现spi总线设计文档_第2页
fpga实现spi总线设计文档_第3页
fpga实现spi总线设计文档_第4页
fpga实现spi总线设计文档_第5页
资源描述:

《fpga实现spi总线设计文档》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、SPI接口SPI(SerialPeripheralInterface)是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。SPI接口由sdi(串行数据输入),sdo(串行数据输出),sclk(串行移位时钟),cs(从使能信号)四种信号构成,CS决定了唯一的与主设备通信的从设备,如没有CS信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。通讯吋,数据由sdo输出,sdi输入,数据在时钟的上升或下降沿由sdo输山,在紧接着的下降或上升沿由sdi

2、读入,这样经过8/16次时钟的改变,完成8/16位数据的传输。通过移位寄存器进行串行数据输入输出,从而实现数据交换。整体分为三个模块:控制寄存器(SPI_CTRL)、内部时钟(SPI_CLK)、数据移位寄存器(SPI_BUF)。注意:spi接口没有应答机结构,所以不能对数据的对错、丢失与否进行判断。一、设计主要功能:完成8bitCPU接口与SPI接口之间的通信;通过CPU接门对设计进行配置;SPI接口具有主从模式、多波特率机制;SPI接口工作模式、方式可控;SPI全双工通信;SPI接口之间实现lbit输入、输出;

3、二、设计端口列表表1总体电路没计接口NAMEI/ODESCRIPTIONelkin系统时钟dataP:0]inout8bit双向数据总线addr[11:0]in12bit地址总线wrin写信号,高电平有效rdin读信号,低电平有效intout屮断信号,高电平有效sclkinoutspi接口时钟,双向,主模式输出,从模式输入sdiin串行数据输入sdoout串行数据输出resetIn复位信号,低电平有效,全局有效三、设计寄存器列表表2设计的寄存器列表NAMEaddrDESCRIPTIONSCTRLW[7:010x0

4、44h写入控制字,包括模式选择、时钟配賈、中断信号、使能SBUFW[7:0]0x045hCPU提交SPI发送的数据SCTRLR[7:0]OxO44h供CPU査看控制字设置SBUFRP:0]0x045hSPI接收并提交CPU的数据设计总体结构框scIk图1设计总体结构图五、模块设计l.cpu接口模块CPU_IF主要完成CPU接口的功能,接收配罝信息;读取工作电路的状态信息;将发送数据写入SPI接口发送寄存器;读取SPI接收到的数据;控制电路的工作。主要功能如下:处理CPU接口双向数据总线;地址译码;CPU写操作时接

5、收配置与控制信息,存入相应寄存器;zCPU写操作吋锁存发送数据至发送寄存器;CPU读操作时根据地址将配置/状态信息或者来自SPI接收的数据送到CPU数据总线模块电路接口如下表。表3cpu接门模块CPUIF接门NAMEI/ODESCRIPTIONaddr[ll:O]in12bit地址总线data[7:01inout8bit双向数裾总线wrin写信号,高电平有效rdin读信号,低电平有效SPIPNDout开始发送数据,高电平有效PNDin接收数据完成,低电平有效SPIMSout主/从模式选择,0为主,1为从SPIFR

6、Q[1:O]out主时钟分频选择,00:64分频;01:61分频;10:4分频;11:2分频SPIEDGEout时钟边沿选择,0上升沿;1下降沿SPIIDSTout空闲时时钟状态,0:高电平;1:低电平SPUEout屮断使能,高电平有效SPIENoutSPI使能,髙电平有效SBUFW[7:0]outCPU提交SPI发送的数据SBUFRL7:0JinSPI接收并提交CPU的数据resetin复位信号,低电平有效模块电路如下图所示。SPIPIDSPINSr,SPIFR0[1:0]SPIEDGESPIIDSTSPIIE

7、SPIENSBUF_l[7:0]P1DSBUF.R[7:0]图2cpu接II模块CPUJF结构图2.时钟模块CLK_GEN主要完成SPI接n时钟产生的功能,根据配置信息产生不同的主时钟分频、不同的有效沿和空闲电平以及时钟方向。主要功能如下:根据配置寄存器SPIFRQfkOl的值对主时钟进行不同的分频:00:64分频;()1:16分频;10:4分频;11:2分频;根据配置寄存器SPIMS配置吋钟源:外部输入或者来自本地产生;根据配置寄存器SPIEDGE选择相应的时钟沿;根据配置寄存器SPIIDST设置空闲时钟状态;

8、根据配置寄存器SPIEN的伉决定是否关闭时钟;屮断信号INT为高电平时,将时钟罝为空闲状态;模块电路接口如下表。表3时钟模块SP1CLK接口NAMEI/ODESCRIPTIONelkin系统时钟SPIFRQ[1:O]in吋钟频率选择,64/16/4/2SPIEDGEin时钟边沿选择SPIIDSTin空闲时时钟状态SPIENin使能SPIMSin主/从模式选择,0为主,1为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。