1. 标准spi

主从都在自己的数据线上发送/接收数据,主机如果需要接收数据,则需要单独发一段数据才能触发从机应答,从而接收从机数据

  1. CPOL 时钟极性
CPOL =0 表示时钟空闲为低电平,下降沿采样CPOL = 1表示时钟空闲为高电平 ,上升沿采样
  1. CPHA时钟相位

    CPHA = 0 表示从第一个跳变沿开始采样

    CPHA = 1 表示从第二个跳变沿开始采样

根据CPOL和CPHA可以组合成四种spi模式。这个一般需要根据从机适配

2. DUAL SPI 双线串行spi

数据线相比标准spi也是两根线,区别标准spi就是再发数据时,无论主从都可以同时使用两个线发送数据,速度比标准spi快一倍。但是由于这种发送数据模式,只能做半双工通讯。

DIO 方式:

在falsh数据操作时一般第一个字节是单线传输,后面的数据和地址都是双线传输

DOUT 方式:

只有在数据传输时采用双线传输,地址传输阶段用的标准spi传输。

3. Quad SPI 四线SPI

跟DUAL SPI相比数据线扩展到4根,意味着比DUAL SPI通讯速度快一倍,也只能用于半双工通讯

QOUT方式:

数据传输阶段采用四线传输,地址和指令传输阶段采用标准spi传输。

QIO方式:

指令阶段采用标准spi传输,数据和地址阶段采用四线传输。

QPI方式:

所有阶段,即指令地址数据阶段都采用四线传输。

4. esp32s3 外部flash和外部spram配置

  1. 首先明确自己的模块上硬件挂载的flash和ram是多大

    比如N8R2 表示8MBflash 2MB psram

  2. 去官网对应模块查询flash和spram是几线spi通讯

    https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitc-1.html

  查询出来N8R2对应的flash为4线spi spram为4线spi
  1. 去官网查询flash和ram对应的最高时钟
[https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32s3/api-guides/flash_psram_config.html?highlight=ram](https://)

以我的模组为例,flash和spram都是四线spi,则查看下图表格

     当flash配置为A类型时,flash配置120MHZ时钟频率,此时psram只能配置A/C/D类型,即120MHZ或者40MHZ或者关闭当flash配置为B类型时,flash时钟配置80MHZ,此时psram只能配置B/C/D类型,即80MHZ或者40MHZ或者关闭

总结就是,flash配置完时钟之后psram的时钟只能跟flash时钟一样或者更低。

esp32 s3 外部flash和外部psram配置相关推荐

  1. STM32H743+CubeMX-QSPI读写外部FLASH(W25Q128JVSQ)

    文章目录 一.前言 二.硬件电路 三.CubeMX 3.1.Clock Configuration 3.2.QUADSPI Parameter Settings 3.3.QSPI GPIO Setti ...

  2. ESP32S3系列--FLASH及PSRAM配置

    一.目的 最近从源地工作室购买了一块ESP32S3开发板(源地的便宜啊),如下图. 使用过ESP32模组的同学肯定见过下面的menuconfig菜单配置窗口用于配置Flash的相关参数 上图是ESP3 ...

  3. 【单片机笔记】基于STM32F103C8的 USB 外部flash虚拟U盘

    学习stm32已经很长时间了,但是一直没有过多的学习stm32的USB部分,因为实际工作还是用的比较少.说起USB那就有的说了,因为USB的功能很强大,这里主要重点记录一下STM32的USB部分,这个 ...

  4. 【FlashDB】第二步 FlashDB 移植 STM32L475 使用QSPI驱动外部 flash W25Q64之 SFUD 移植

    第一步写好了FAL移植,那么进行第二步 SFUD 移植 [FlashDB]第一步 FlashDB 移植到 STM32L475 使用QSPI驱动外部 flash W25Q64之FAL移植 准备工作 1. ...

  5. H750移植rt_thread操作系统完整工程分享,包括外部FLASH分散加载文件

    一.移植注意事项 1.在运行外部FLASH存储的代码之前首先要初始化QSPI进入内存映射模式,参考代码: //QSPI进入内存映射模式(执行QSPI代码必备前提,为了减少引入的文件, //除了GPIO ...

  6. STM32CubeMX学习笔记(48)——USB接口使用(MSC基于外部Flash模拟U盘)

    一.USB简介 USB(Universal Serial BUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯.是应用在 PC 领域的接口技术.USB 接口支持设备的即插即用和 ...

  7. 手把手系列--编写Keil MDK 外部FLASH下载算法

    声明:博文中涉及到的版权软件只用于教学使用 一.目的         完整工程下载地址:         链接:https://pan.baidu.com/s/1xtr8m_KGsyx64wN6rcn ...

  8. STM32外部Flash移植FATFS笔记

    FatFs是面向小型嵌入式系统的一种通用的FAT文件系统.它完全是由AISI C语言编写并且完全独立于底层的I/O介质.因此它可以很容易地不加修改地移植到其他的处理器当中,如8051. PIC. AV ...

  9. STM32H7使用外部flash运行程序

    STM32H7使用外部flash运行程序 在淘宝上买了一块核心板,使用的STM32H7B0VBT6. 客服很尽责,帮助了我很多. H7系列的功能很强大,但是H7B0他有个问题,只有128k的内部fla ...

最新文章

  1. android用户界面设计:基本按钮,Android用戶界面設計:基本按鈕
  2. JUC 常用 4 大并发工具类
  3. 文本挖掘技术在CIC的应用--转载
  4. [XML-Jsoup]Jsoup_解析_快速入门
  5. AI如何驱动软件开发?华为云DevCloud 权威专家邀你探讨
  6. 安卓案例:利用相对布局实现注册页面
  7. XBOX Series X规格如此强悍,如果被破解安装了win10,将对PC行业带来什么影响?
  8. 如何在矩池云GPU云中安装MATLAB R2017b软件
  9. HTML5游戏开发(三):使用webpack构建TypeScript应用
  10. Rxjs初体验:制作语音测试工具
  11. hbase 2.0.5的下载及安装
  12. Android NDK开发(一)环境搭建及运行示例
  13. 就算是一件小事也要做好——买土豆的故事
  14. “远香烟·近健康”乡风文明之禁烟活动
  15. 微信公众号所有文章下载链接获取
  16. 人工智能-搜索----启发式搜索
  17. 用指针写出strcmp函数
  18. 课题:修改ssh的访问端口
  19. 计算机开机屏幕英语,电脑开机进不了系统,屏幕一堆英文数字怎么办?别急有方法...
  20. VBA小模板:一个奖励放回的普通抽奖用VBA怎么写?

热门文章

  1. 【工控老马】ABB AC500 系列PLC与WEST 8100+系列仪表的ASCII通讯指南
  2. LeetCode: 183. Customers Who Never Order
  3. 计算机u盘驱动坏了如何的修复,u盘损坏怎么修复 u盘损坏再次使用
  4. 日知录(16):CAD基础工具
  5. php 领红包程序,用PHP实现的抢红包小程序
  6. 彩色照片转化为黑白照片
  7. AHRS和IMU的区别
  8. 还在原地踏步,提高软件测试能力的方法你知道吗?
  9. C语言将一个数插入到已排好序的数组中
  10. 计算机搜索不到网络打印机怎么处理,局域网内搜索不到打印机怎么办