SPI控制FLASH——SPI协议

简介

特点:串行,全双工,同步

SPI(Serial Peripheral Interface,串行外设接口)协议是由Motorola公司发明的同步全双工串行接口协议,SPI协议主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。在芯片中只占用四根管脚用来控制及数据传输。

优点:是支持全双工通信,通讯方式较为简单,且相对数据传输速率较快

缺点:没有指定的流控制,没有应答机制确认数据是否接收,与IIC总线通讯协议相比,在数据可靠性上有一定缺陷,而且只支持单主机。

物理层

SPI协议总共由四个串行总线构成。

  1. SCK (serial clock):时钟信号线,用于数据传输同步。由通讯主机产生,决定了数据传输速率。当相互通讯设备支持的最大传输速率不同时,受限于速率最低的设备。
  2. MOSI(master output slave input):主机输出从机输入线, 将主机数据传输至从机。
  3. MISO(master input slave output):主机输入从机输出线, 将从机数据传输至主机。
  4. CS_N(chip select):片选线,有多少个从机,主机上就有多少根片选线,空闲时为高电平。在SPI协议中从设备没有唯一的设备地址,而是通过拉低CS_N来选择从机。

协议层

SPI协议层通讯主要有四种模式,为模式0、模式1、模式2以及模式3。

分别由时钟极性(CPOL,clock prority)和时钟相位(CPHA,clock phase)来决定。其中CPOL参数规定了空闲状态(CS_N为高电平,设备未被选中)时SCK时钟信号的电平状态,CPHA规定了数据采样是在SCK时钟的奇数边沿还是偶数边沿。

模式0:CPOL= 0,CPHA=0。空闲状态时SCK串行时钟为低电平;数据采样在SCK时钟的奇数边沿,本模式中,奇数边沿为上升沿;数据更新在SCK时钟的偶数边沿,本模式中,偶数边沿为下降沿。

模式1:CPOL= 0,CPHA=1。空闲状态时SCK串行时钟为低电平;数据采样在SCK时钟的偶数边沿,本模式中,偶数边沿为下降沿;数据更新在SCK时钟的奇数边沿,本模式中,偶数边沿为上升沿。

模式2:CPOL= 1,CPHA=0。空闲状态时SCK串行时钟为高电平;数据采样在SCK时钟的奇数边沿,本模式中,奇数边沿为下降沿;数据更新在SCK时钟的偶数边沿,本模式中,偶数边沿为上升沿。

模式3:CPOL= 1,CPHA=1。空闲状态时SCK串行时钟为高电平;数据采样在SCK时钟的偶数边沿,本模式中,偶数边沿为上升沿;数据更新在SCK时钟的奇数边沿,本模式中,偶数边沿为下降沿。

起始信号和停止信号

当CS_N信号拉低时,代表主机发送起始信号,选中某一个从机。

当CS_N信号拉高时,代表主机发送停止信号。

SPI每次数据传输可以8位或16位为单位,每次传输的单位数不受限制。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SPI NAND Flash是一种使用SPI串行接口的NAND Flash芯片。与传统的NAND Flash相比,SPI NAND Flash具有更小的封装尺寸和更低的成本。SPI NAND Flash的操作以块为基本单位,每个块通常为8KB,并且每个块又分为多个页,每页大小一般为512字节。与Nor Flash相比,SPI NAND Flash在硬件上更容易兼容不同容量的芯片,并且占用更小的PCB板位置。但是,要修改SPI NAND Flash芯片中的一个字节,需要重写整个数据块,读写操作都是按照扇区进行的。因此,SPI NAND Flash在一些特定的应用场景下具有一定的优势。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [常见flash讲解——NAND、SPI、EMMC](https://blog.csdn.net/qq_28258885/article/details/118382450)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SPI Flash/Nor Flash/Nand Flash](https://blog.csdn.net/u012294613/article/details/121180888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [搞清楚nand flash和 nor flash 以及 spi flash 和cfi flash 的区别](https://blog.csdn.net/qq_41483419/article/details/129835986)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值