下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页SPI总线的原理与Verilog设计实现一、软件平台与(硬件)平台
软件平台:
1、(操作系统):Windows-8.1
2、开发套件:ISE14.7
3、(仿真)工具:Model(Sim)-10.4-SE
硬件平台:
1、(FPGA)型号:Xilinx公司的XC6SLX45-2CSG324
2、Flash型号:WinBond公司的W25Q128BV
QualSPIFlash存储器
二、原理介绍
SPI(SerialPeripheralInterface,串行外围设备(接口)),是Motorola公司提出的一种同步串行(接口技术),是一种高速、全双工、同步(通信)总线,在(芯片)中只占用四根管脚用来控制及数据传输,广泛用于EEP(ROM)、Flash、RTC((实时时钟))、(ADC)((数模转换器))、(DSP)((数字信号)(处理器))以及数字信号解码器上。SPI通信的速度很容易达到好几兆bps,所以可以用SPI总线传输一些未压缩的(音频)以及压缩的(视频)。
下图是只有2个chip利用SPI总线进行通信的结构图
时序图如下所示:
从上面的时序图可以很清楚的看出,当ROM的地址加1以后,ROM的数据是滞后了一个时钟才输出的,而ROM数据输出的时刻(这个时候ROM的输出数据并没有稳定)刚好是spi_module模块发送下个数据最高位的时刻,那么这就有可能导致数据发送错误,从以上时序图就可以看出8’h33和8’h24两个数据正确发送了,但是8’h98这个数据就发送错误了。
为了解决这个问题,其实只需要把spi_module模块的发送状态机在加一个冗余状态就行了,spi_module模块的发送状态机一共有0~15总共16个状态,那么我在加一个冗余状态,这个状态执行的操作和最后那个状态执行的操作完全相同,这样就预留了一个时钟的时间用来预先设置好要发送的数据,这样的效果是发送数据的最后一个bit实际上占用了3个时钟周期,其中第一个时钟周期把O_tx_done拉高,后两个时钟周期把O_tx_done拉低。修改后的spi_module模块的代码如下:
modulespi_module(inputI_clk,//全局时钟50MHzinputI_rst_n,//复位信号,低电平有效inputI_rx_en,//读使能信号inputI_tx_en,//发送使能信号input[7:0]I_data_in,//要发送的数据outputreg[7:0]O_data_out,//接收到的数据outputregO_tx_done,//发送一个字节完毕标志位outputregO_rx_done,//接收一个字节完毕标志位//四线标准SPI信号定义inputI_spi_miso,//SPI串行输入,用来接收从机的数据outputregO_spi_sck,//SPI时钟outputregO_spi_cs,//SPI片选信号outputregO_spi_mosi//SPI输出,用来给从机发送数据);reg[4:0]R_tx_state;reg[3:0]R_rx_state;always@(posedgeI_clkornegedgeI_rst_n)beginif(!I_rst_n)beginR_tx_state
时序图如下所示:
观察上面的时序图可以发现,增加冗余状态以后,ROM里面的10个数据全部发送正确了。最后把代码综合生成bit文件,下载到开发板里面用ChipScope抓出时序图如下所示
可以看出,时序和用ModelSim得到的一模一样。至此,整个用SPI总线传输ROM里面数据的实验全部结束。
五、进一步思考
5.1、如果外设芯片的数据位宽是16-bit或者32-bit怎么办?
上文已经完成了8-bit数据从ROM里面通过SPI发送出去的例子,16-bit和32-bit可以照着葫芦画瓢,无非就是多增加几个状态而已。
5.2、发送数据的状态机和接收数据的状态机可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁省抚顺市新宾满族自治县2025-2026学年七年级下学期期末教学质量检测语文试卷(有答案)
- 湖北随州市2025-2026学年高一下学期期末考试数学试题(含答案)
- 黑龙江佳木斯市第八中学2025-2026学年高二下学期7月期末考试数学试题(含答案)
- 交易行为模式挖掘-第14篇
- 体感驱动下的投资决策模型
- 人工智能在监管中的伦理框架
- 2026浙江嘉兴市嘉善县教育局嘉善县招聘教师42人考试备考题库及答案详解
- 2026年哈密地区哈密市住房和城乡建设局人员招聘笔试参考试题及答案详解
- 2026年福建晋江鞋纺城有限责任公司权属子公司招聘1人考试备考题库及答案详解
- 2026年金华市婺城区住房和城乡建设局人员招聘笔试备考试题及答案详解
- 产品经理的跨部门协作与项目管理技巧详述
- 贸易公司管理制度范本
- 湖南省2026年电梯安全管理员考试报名试题及真题
- 2026年叉车工比赛理论考试题库及参考答案1套
- 民办学校“三重一大”决策制度实施办法
- 机房屏蔽施工方案(3篇)
- 2026年湘西民族职业技术学院高职单招职业适应性测试备考题库带答案解析
- 2026华舰体育控股集团招聘面试题及答案
- 2025年中国电影市场及观众变化趋势报告
- 5年(2021-2025)重庆高考生物真题分类汇编:专题02 细胞的能量供应和利用(原卷版)
- 公司管理规章制度模板
评论
0/150
提交评论