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

这篇具有很好参考价值的文章主要介绍了合宙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挂载成功,操作文件失败
    合宙Air724UG Cat.1模块硬件设计指南--外部SPI Flash
    先格式化一下,第一次需要格式化一下,之后就不用了
    合宙Air724UG Cat.1模块硬件设计指南--外部SPI Flash文章来源地址https://www.toymoban.com/news/detail-513122.html

到了这里,关于合宙Air724UG Cat.1模块硬件设计指南--外部SPI Flash的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 合宙Air724UG LuatOS-Air LVGL API--对象

    合宙Air724UG LuatOS-Air LVGL API--对象

    对象 概念 在 LVGL 中,用户界面的基本构建块是对象。例如,按钮,标签,图像,列表,图表或文本区域。 属性 基本属性 所有对象类型都共享一些基本属性: Position (位置) Size (尺寸) Parent (父母) Click enable (单击启用) 我们可以使用 lvgl.obj_set_… 和 lvgl.obj_get_… 等前缀的函数设

    2024年02月12日
    浏览(22)
  • 合宙Air724UG LuatOS-Air LVGL API-概念

    概念 在 LVGL 中,用户界面的基本构建块是对象。例如,按钮,标签,图像,列表,图表或文本区域。 属性 基本属性 所有对象类型都共享一些基本属性: Position (位置) Size (尺寸) Parent (父母) Click enable (单击启用) 我们可以使用 lvgl.obj_set_… 和 lvgl.obj_get_… 等前缀的函数设置或

    2024年02月11日
    浏览(10)
  • 合宙Air724UG LuatOS-Air core API--qrencode

    qrencode Table of Contents qrencode qrencode.encode(data [,version,level]) qrencode 二维码生成 qrencode.encode(data [,version,level]) 二维码编码 参数 参数 类型 释义 取值 data string 需要编码的数据 string类型 version number 二维码版本 可选参数0-40 level number 二维码纠错等级 0-3 返回值 返回值 类型 释义 取值

    2024年02月12日
    浏览(14)
  • 合宙Air724UG LuatOS-Air LVGL API控件--曲线 (Arc)

    合宙Air724UG LuatOS-Air LVGL API控件--曲线 (Arc)

    曲线 (Arc) 曲线控件,也可以称为弧。因为 Arc 本身就是弧,弧形的意思。根据控件的样子也能推测出它的使用场景,一般用在加载器(就是等待界面转的圈圈)或者数值显示,数值调节这些场景。曲线控件分了两个部分,前景和背景,都可以分别进行设置。 示例代码 – 创建曲

    2024年02月11日
    浏览(14)
  • 合宙Air724UG LuatOS-Air script lib API--ftp

    Table of Contents ftp ftp.command(command, timeout) ftp.pasv_connect(timeout) (local函数 无法被外部调用) ftp.login(ftp_mode, host, port, username, password, timeout, ssl, cert) ftp.upload(remote_file, local_file, timeout) ftp.download(remote_file, local_file, timeout) ftp.checktype(mode, timeout) ftp.pwd(timeout) ftp.cwd(path, timeout) ftp.cdup(time

    2024年02月15日
    浏览(8)
  • 合宙Air724UG LuatOS-Air script lib API--utils

    utils Table of Contents utils string.toHex(str, separator) string.fromHex(hex) string.utf8Len(str) string.utf8ToTable(str) string.rawurlEncode(str) string.urlEncode(str) table.gsort(t, f) table.rconcat(l) string.formatNumberThousands(num) string.split(str, delimiter) io.exists(path) io.readFile(path) io.writeFile(path, content, mode) io.pathInfo(path) io.fil

    2024年02月12日
    浏览(5)
  • 合宙Air724UG LuatOS-Air script lib API--socket

    Table of Contents socket socket.isReady() socket.tcp(ssl, cert, tCoreExtPara) socket.udp() socket.setTcpResendPara(retryCnt, retryMaxTimeout) socket.setDnsParsePara(retryCnt, retryTimeoutMulti) socket.printStatus() socket.setLowPower™ socket 模块功能:数据链路激活、SOCKET管理(创建、连接、数据收发、状态维护) socket.isReady() SOC

    2024年02月13日
    浏览(4)
  • 合宙Air724UG LuatOS-Air script lib API--websocket

    websocket Table of Contents websocket websocket.new(url, cert) ws:on(event, callback) ws:connect(timeout) ws:sendFrame(fin, opcode, data) ws:recv() ws:close(code, reason) websocket.exit(ws) ws:state() ws:online() ws:start(keepAlive, proc, reconnTime) websocket 模块功能:websocket客户端 websocket.new(url, cert) 创建 websocket 对象 参数 名称 传入

    2024年02月12日
    浏览(6)
  • 合宙Air724UG LuatOS-Air script lib API--wifiRil

    wifiRil Table of Contents wifiRil wifiRil.regRsp(head, fnc, typ, formt) wifiRil.regUrc(prefix, handler) wifiRil.deRegUrc(prefix) wifiRil.request(cmd, arg, onrsp, delay, param) wifiRil 模块功能:esp8266 wifi模块AT命令交互管理 wifiRil.regRsp(head, fnc, typ, formt) 注册某个AT命令应答的处理函数 参数 名称 传入值类型 释义 head

    2024年02月12日
    浏览(8)
  • 合宙Air724UG LuatOS-Air script lib API--patch

    patch Table of Contents patch patch.safeJsonDecode(s) (local函数 无法被外部调用) patch 模块功能:Lua补丁 patch.safeJsonDecode(s) (local函数 无法被外部调用) 封装自定义的json.decode接口 参数 名称 传入值类型 释义 s string json格式的字符串 返回值 table,第一个返回值为解析json字符串后的table boole,第

    2024年02月14日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包