IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 【FPGA】:Axi quad spi -> 正文阅读

[嵌入式]【FPGA】:Axi quad spi

一、概述

? ? ? ?SPI是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,短距离的、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议
在这里插入图片描述
如下图所示,SPI接口一般使用4条线通信:
在这里插入图片描述
MISO 主设备数据输入,从设备数据输出。
MOSI 主设备数据输出,从设备数据输入。
SCLK/SCK时钟信号,由主设备产生。
CS从设备片选信号,由主设备控制(CS,有时候又称为NSS),低电平有效
起始信号:CS/NSS/SS由高电平变为低电平
终止信号:CS/NSS/SS由低电平变为高电平
SPI主要由主机进行控制,开始或者结束都由主机控制。Spi协议通常情况下先传输高位,然后再传输低位。
SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。
SPI与多个设备通信情况如下图所示:通信时通过cs信号进行拉低,从而选择与那个设备进行通信。
在这里插入图片描述

二、时序说明

? ? ? ? SPI总线四种工作方式:SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设备时钟相位和极性应该一致。
在这里插入图片描述
在这里插入图片描述
不同时钟相位下的总线数据传输时序如下图所示:
在这里插入图片描述主机和丛机工作模式需要匹配,否则会出错误,具体对应关系如下表所示:
在这里插入图片描述
SPI一帧可以传输8位或者16位,主要由SPI_CR1决定。
SPI在fpga中实现时,可以采用线性序列机(一个always计数器,一个always进行数据的发送)/状态机(通常采用一段式或者三段式)实现。

三、SPI的优势和缺点

(1)SPI通讯的优势
? 全双工串行通信;
? 高速数据传输速率。
? 简单的软件配置;
? 极其灵活的数据传输,不限于8位,它可以是任意大小的字;可以不用报头和报尾,只要cs拉低就开始信号的传输。
? 非常简单的硬件结构。从站不需要唯一地址(与I2C不同)。从机使用主机时钟,不需要精密时钟振荡器/晶振(与UART不同)。不需要收发器(与CAN不同)。
? 最先发送的为数据的高位
? 靠cs信号拉低对应器件来区分是给那个器件传输信号。
? 全双工同步传输,速度约有50Mbps,即约5.9MB/s
(2)SPI的缺点
? 没有硬件从机应答信号(主机可能在不知情的情况下无处发送);
? 通常仅支持一个主设备(通过将片选信号拉低,从而确定要通信的是那个元器件);
? 需要更多的引脚(与I2C不同);
? 没有定义硬件级别的错误检查协议;
? 与RS-232和CAN总线相比,只能支持非常短的距离;
? Spi的可靠传输距离只有1~3m。

四、参考资料

在这里插入图片描述
Enable XIP Mode: XIP使能AXI4 和 AXI4-Lite(理解为AXI4的简化版本)接口,地址模式可以选择24bit和32bit;
Enable Performance Mode: 使能AXI4接口;使用AXI4接口可以在核的发送和接收FIFO地址处启用突发功能。当不使能performance模式时,AXI4-Lite将被使用。
Mode: standard(三线SPI,CS、CLK、SIO)/dual(四根线:CS、CLK、SIO1、SIO2)/quad(六根线:CS、CLK、SIO1、SIO2、SIO3、SIO3)
Transacton Width: 8/16/32。在双SPI和四SPI模式中,传输宽度被限制为8位。在XIP模式中,传输宽度在标准模式、双模式和四模式中被限制为8。
频率比率:2~2048, 代表了SPI的sck = ext_spi_clk/ratio ;
NO. of Slave: 代表了slave的个数;1~32;
Enable Master Mode: 主从模式选择,在标准模式下可以选择,其他模式只支持主模式
Enable FIFO: 使能fifo
Enable STARTUPEn Primitive: 勾选时在设计中包含STARTUP原语,未勾选时省略原语。7系列fpga采用STARTUPE2原语,UltraScale设备采用STARTUPE3原语。它在与外部SPI从设备共享SPI时钟时很有用。这个原语在设备的从属模式下总是被禁用的。
Enable Async Clock Mode: 只有当核心处于独立模式,且axis接口和外部SPI时钟在相位/极性和频率方面不同时,才启用此选项。该选项在IP集成商中被禁用。此参数根据连接到核心的时钟自动传播。如果AXI时钟和ext_spi_clk是同步的,该参数设置为0;如果是异步的,该参数设置为1。

五、参考资料

说明;DI输入,DO输出

  1. 嵌入式–Flash操作中的标准SPI,Dual SPI,Quad SPI
  2. 理解SPI/Dual SPI/Quad SPI/QPI之间的区别
  3. 在外部DDR3内存中运行的MicroBlaze程序的固化方法
  4. 弄懂SPI接口
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 11:01:01  更:2022-07-03 11:01:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 11:48:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码