当前位置: 首页 > news >正文

SPI通信

SPI通信:
四根通信线:SCK,MOSI,MISO,SS(从机选择线)
同步时钟,全双工
支持总线挂载多个设备,一主多从
SPI相对IIC传输更快,最简单,最快速
SPI没有接收和应答机制,发送就发送,接收就接收,主打一个财大气粗,简单粗暴

硬件电路
所有SPI设备的SCK,MOSI,MISO分别连在一起
主机另外引出多条SS控制线,分别接到各个从机的SS引脚
输出引脚配置为推挽输出,输入引脚配置为浮空或者上拉输入
需要和谁通信就把谁置为低电平,同时只能置一个为低电平
SPI是高位先行

SPI时序基本单元
起始条件:SS从高电平切换到低电平
终止条件:SS从低电平切换到高电平

高电平没有在通信,低电平表示在通信

交换一个字节(模式1)
CPOL:空闲状态,SCK为低电平
CPHA=1:SCK第一个边沿移出数据,第二个边沿移入数据

差不多就是SPI主机通过移位寄存器移动一位,通过mosi传输到从机的移位寄存器 ,然后从机的移位寄存器在从高位移出一位到主机中,循环往复。

交换一个字节(模式0)
CPOL:空闲状态,SCK为低电平
CPHA=0:SCK第一个边沿移出数据,第二个边沿移入数据 CPHA就是时钟相位

模式0用的更多,相当于提前了半个相位

SPI和IIC一样,每读写一个字节,地址指针自动加1,实现连续读写多个字节

W25QXX系列是一种低成本,小型化,使用简单的非易失性存储器。常应用与数据存储,字库存储,固件程序存储等场景。

一般掉电不丢失的存储器都需要一个比较高的电压去刺激它 ,一般需要一个高压源

FLASH操作注意事项:
写入操作时:
写入操作前,必须先进行写使能
每个数据位只能由1改写为0,不能由0改写为1
写入数据前必须先擦除,擦除后,所有数据位变为1
擦除必须按最小擦除单元进行(最小单元就是扇区,一个扇区四KB)
连续写入多字节时候,最多写入一页数据,超过页尾位置的数据,会回到页首覆盖写入
写入操作结束后,芯片进入忙状态,不响应新的读写操作
读取操作时:
直接调用读取时序,无需使能,无需额外操作,没有页的限制,读取操作结束后不会进入忙状态,但不能在忙状态时读取。

http://www.lryc.cn/news/313178.html

相关文章:

  • 【动态规划】【数论】【区间合并】3041. 修改数组后最大化数组中的连续元素数目
  • 字节后端实习 一面凉经
  • 倒计时37天
  • 【计算机考研】考408,还是不考408性价比高?
  • 测试入门篇
  • b站小土堆pytorch学习记录—— P25-P26 网络模型的使用和修改、保存和读取
  • [数据结构]OJ用队列实现栈
  • 「优选算法刷题」:最长回文子串
  • Java项目:41 springboot大学生入学审核系统的设计与实现010
  • 【数据结构与算法】常见排序算法(Sorting Algorithm)
  • Unity3D学习之XLua实践——背包系统
  • 前端技术研究越深入,越觉得技术不是决定录用唯一条件。
  • vue组件的重新渲染的问题
  • opengl 学习(二)-----你好,三角形
  • mongodb4.2升级到5.0版本,升级到6.0版本, 升级到7.0版本案例
  • CPU处理器模式与异常
  • Day 53 |● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和
  • ant-desgin charts双轴图DualAxes,柱状图无法立即显示,并且只有在调整页面大小(放大或缩小)后才开始显示
  • 获取别人店铺的所有商品API接口
  • 成都正信:亲戚借了钱一直不还怎么委婉的说
  • Truenas入门级教程
  • 窗口函数dense() over(条件)
  • 蓝牙APP开发实现汽车遥控钥匙解锁汽车智能时代
  • 第三天 Kubernetes进阶实践
  • redis小结
  • PHP伪协议详解
  • 进程:守护进程
  • 千里马平台项目管理理念
  • GB 2312字符集:中文编码的基石
  • 我的创作周年纪念日