合宙Air724UG Cat.1模块硬件设计指南--外部SPI Flash

概述
我们可以通过标准的SPI接口和QSPI接口来外挂flash。区别如下

使用标准SPI接口外挂flash,需要自己实现flash驱动,和自己移植文件系统
使用QSPI接口外挂flash,不需要自己实现flash驱动,也不需要移植文件系统 。通过mount接口挂载文件系统后,可以直接通过文件系统接口访问外部flash
标准SPI外挂flash
标准SPI有2个,SPI1和SPI2

SPI管脚定义
接口 名称 复用 管脚 作用
SPI1 SPI1_CLK spi_1_clk 52 SPI1的时钟信号
SPI1 SPI1_DIN spi_1_di_1 53 SPI1的数据信号
SPI1 SPI1_CS spi_1_cs_0 54 SPI1的片选型号
SPI1 SPI1_DOUT spi_1_dio_0 55 SPI1的数据信号
SPI2管脚定义
接口 PIN NO Ball Name 复用 作用
SPI2 R19 GPIO_0 spi_2_clk SPI1的时钟信号
SPI2 R20 GPIO_1 spi_2_cs_0 SPI1的片选型号
SPI2 P21 GPIO_2 spi_2_dio_0 SPI1的数据信号
SPI2 P22 GPIO_3 spi_2_di_1 SPI1的数据信号
QSPI外挂flash
QSPI有2种管脚定义, 电压不同,选择flash型号需要考虑供电电压

通过LCD复用的QSPI (电压域VLCD, 默认关闭,电压范围1.6125V~3.2V)
通过GPIO复用的QSPI (V_GLOBAL_1V8) (仅722UG支持)
支持的FLASH型号

GD PUYA WINBOND XMCA XMCC XMCB

XT25W32B XT25W64B
XM25QU64A XM25QU64B XM25QU32C XM25QU16C
GD25LE64E GD25LQ128C GD25Q127C
W25Q64JV
MD25Q64CS16
ZB25VQ64

客户已经验证过的flash型号有
XT25Q128DWOIGT

LCD复用QSPI FLASH1管脚定义(724模块)

接口 名称PIN NO 复用Ball Name 管脚复用 作用
FLASH1 LCD_DATA spi_flash1_clk 41 FLASH1的时钟信号
FLASH1 LCD_DC spi_flash1_cs 58 FLASH1的片选信号
FLASH1 LCD_CLK spi_flash1_sio_0 40 FLASH1的数据信号
FLASH1 LCD_CS spi_flash1_sio_1 39 FLASH1的数据信号
FLASH1 LCD_SEL spi_flash1_sio_2 57 FLASH1的数据信号
FLASH1 LCD_FMARK spi_flash1_sio_3 42 FLASH1的数据信号
LCD复用QSPI FLASH1管脚定义(722UG模块)
管脚名 类型 序号 电压域 描述
FLASH_CS DO 85 VCC_LCD QSPI 接口片选信号
FLASH_CLK DO 84 VCC_LCD QSPI 接口时钟信号
FLASH_S0 DO 43 VCC_LCD QSPI 接口数据信号 0
FLASH_S1 DO 42 VCC_LCD QSPI 接口数据信号 1
FLASH_S2 DO 81 VCC_LCD QSPI 接口数据信号 2
FLASH_S3 DO 82 VCC_LCD QSPI 接口数据信号 3
VCC_LCD DO 83 V_GLOBAL_1V8 输出 1.6-3.3V, 默认电压是 1.8V, IOmax=200mA,可用于给 LCD 供电可以根据选用的 QSPI Flash 的型号来配置输出电压。
GPIO复用QSPI FLASH1管脚定义(仅722UG支持)
管脚名 类型 序号 电压域 描述
FLASH_CS DO 35 V_GLOBAL_1V8 QSPI 接口片选信号
FLASH_CLK DO 34 V_GLOBAL_1V8 QSPI 接口时钟信号
FLASH_S0 DO 77 V_GLOBAL_1V8 QSPI 接口数据信号 0
FLASH_S1 DO 78 V_GLOBAL_1V8 QSPI 接口数据信号 1
FLASH_S2 DO 79 V_GLOBAL_1V8 QSPI 接口数据信号 2
FLASH_S3 DO 80 V_GLOBAL_1V8 QSPI 接口数据信号 3
V_GLOBAL_1V8 DO 10 V_GLOBAL_1V8 LDO 输出,固定输出 1.8V,IOmax=50mA 开机后默认打开,不能关闭
上述管脚是和 MIPI DSI 管脚复用的,在用到 MIPI DSI 接口的情况下,如果要外接 QSPI Flash,可以通过SPI LCD 的相关管脚映射出来,管脚映射关系如上
请注意722UG模块这两路 QSPI 无法同时使用

LUA 接口
mount
挂载文件系统分区

语法

io.mount(flashType[,path][,size][,offset][,clock])

参数

参数 取值 释义
flashType io.SDCARD SD卡
io.INTERNAL 内部flash
io.EXTERN_PINLCD 外挂flash, LCD复用管脚,V_LCD供电
io.EXTERN_PINGPIO 外挂flash, 使用GPIO pin脚复用,V_PAD_1V8供电
path 字符串长度>=5,第一个字节为’/‘ mount的文件系统根目录
size 要考虑字节对齐 分区的大小
offset flash 地址偏移量
clock clock=166M/clkDiv,2<clkDiv<255 时钟
返回值

1:成功
0:失败
unmount
挂载文件系统分区

语法

io.unmount(flashType[,path][,size][,offset][,clock])

参数

返回值

1:成功
0:失败
format
格式化文件系统分区

语法

io.format(flashType[,path][,size][,offset][,clock])

参数

返回值

1:成功
0:失败
常见问题
http://doc.openluat.com/article/638/0

  1. SPI外置FLASH有demo吗 最大支持多少?
    qspi外挂flash参考:demo/qspi 目前有测试过最大的是 16MByte 的 qspi,超过16M不支持,是硬件限制的(QSPI地址只有24位)
    标准spi外挂flash参考:demo/spiFlash,对flash容量没限制,需要自己实现驱动

  2. 外挂flash支持nand还是nor flash?
    qspi仅支持nor flash
    标准spi支持nand和nor flash,完全由自己在脚本中写驱动来控制

  3. 用demo测试qspi挂载成功,操作文件失败
    在这里插入图片描述
    先格式化一下,第一次需要格式化一下,之后就不用了
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/7755.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ThreadLocal使用与原理

一、ThreadLocal简介 ThreadLocal叫做线程变量&#xff0c;意思是ThreadLocal中填充的变量属于当前线程&#xff0c;该变量对其他线程而言是隔离的&#xff0c;也就是说该变量是当前线程独有的变量。ThreadLocal为变量在每个线程中都创建了一个副本&#xff0c;那么每个线程可以…

css基础知识十五:如果要做优化,CSS提高性能的方法有哪些?

一、前言 每一个网页都离不开css&#xff0c;但是很多人又认为&#xff0c;css主要是用来完成页面布局的&#xff0c;像一些细节或者优化&#xff0c;就不需要怎么考虑&#xff0c;实际上这种想法是不正确的 作为页面渲染和内容展现的重要环节&#xff0c;css影响着用户对整个…

flutter手写一个底部导航栏

使用了一下flutter提供的导航栏&#xff0c;NavigationBar&#xff0c;不过感觉使用起来不是很方便。 譬如说&#xff1a; 不能直接使用图片资源&#xff0c;需要中间加几层转换把图片转化成icon文本大小及颜色不太好控制状态栏的上边来一个横线也没有相应的样式&#xff0c;等…

【云原生 | 53】Docker三剑客之Docker Compose应用案例一:Web负载均衡

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 &#x1f3c5;阿里云ACE认证高级工程师 &#x1f3c5;阿里云开发者社区专…

Django纪录操作之增删改查

一、单表 1、 添加记录 准备表 from django.db import modelsclass Book(models.Model):title models.CharField(max_length20)price models.DecimalField(max_digits65,decimal_places5)publish models.CharField(max_length30)pub_date models.DateTimeField(auto_now…

Python财经股票数据获取, 保存表格文件

目录标题 前言环境使用:模块使用]:代码展示尾语 前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 环境使用: Python 3.8 解释器 Pycharm 编辑器 模块使用]: import requests —> 数据请求模块 pip install requests import csv 第三方模块安装: win R 输入cmd 输…

大数据Doris(五十):Export导出原理

文章目录 Export导出原理 一、原理 二、查询计划拆分 三、查询计划执行 Export导出原理 Doris Export、Select Into Outfile、MySQL dump三种方式数据导出。用户可以根据自己的需求导出数据。此外数据还可以以文件形式通过Borker备份到远端存储系统中&#xff0c;之后可以…

【Linux】Linux项目自动化构建工具-make/makefile

Linux项目自动化构建工具-make/makefile 什么是make/makefile&#xff1f;make/makefile的使用依赖关系依赖方法makefile是如何工作的&#xff1f;为什么要使用makefile呢&#xff1f;makefile是怎么做到的呢&#xff1f;make和make clean.PHONY&#xff1a;伪目标 特殊符号&am…

1 Prometheus-监控简介

目录 1 什么是监控 1.1 技术作为客户 1.2 业务作为客户 2. 监控基础知识 2.1 事后监控 2.2 机械式/模板式/无脑式监控 2.3 不够准确的监控 2.4 静态监控 2.5 不频繁的监控 2.6 缺少自动化或操作繁琐/不便 2.7 监控模式总结 3.监控机制 3.1 探针和内省 3.2 拉取和推…

LangChain大型语言模型(LLM)应用开发(二):Conversation Memory

LangChain是一个基于大语言模型&#xff08;如ChatGPT&#xff09;用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口&#xff0c;可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互&#x…

Unity协程

unity提供了一种类似“多段代码并行执行”的功能&#xff0c;即协程。 我们在定义一个协程的时候&#xff0c;需要遵循类似这样的语法 IEnumerator&#xff08;枚举器接口&#xff09; namespace System.Collections {public interface IEnumerator{object Current { get; }/…

MySql基础知识及数据查询

目录 第一章 数据库概述 1.为什么要学习数据库&#xff1f; 2.数据库的相关概念 3.ORM(Object Relational Mapping)思想 4.表与表的记录之间存在哪些关联关系 第二章 基本的SELECT语句 1.SQL的分类 2. SQL基本规则 3.导入现有的数据表、表的数据 4.最基本的…