找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2990

积分

0

好友

398

主题
发表于 3 小时前 | 查看: 3| 回复: 0

SPI技术概念图

上期分享了合宙Air780Exx系列低功耗模组专用SPI LCD接口相关内容。社群工程师朋友的新问题随之而来:SPI通用总线究竟能接哪些设备?Air780系列不同型号的SPI有什么差异?应用设计又有哪些核心要点?

作为扩展性极强的通信接口,SPI总线能够支持丰富的外设生态。无论是以太网控制器、各类大容量存储芯片,还是合宙自研的AirLink高速通信协议,均可基于SPI实现可靠的数据交互。今天我们就围绕这些实际应用场景,一起来深入探讨。

一、SPI总线硬件配置

Air780Exx系列模组的SPI总线配置因型号而异,在硬件设计前务必仔细核对引脚资源差异。

1.1 常规型号支持2路通用SPI总线

  • SPI0:默认引脚为PIN83、PIN84、PIN85、PIN86。
  • SPI1:可复用引脚为PIN28、PIN29、PIN57、PIN58(其中PIN28/29默认功能为UART2,PIN57/58默认功能为UART3)。

下图以Air780EPM模组为例,展示了其引脚功能分配:
Air780EPM模块引脚功能分配图

1.2 以下型号只支持1路SPI0

Air780EHV和Air780EGP/EGG/EGH只支持1路SPI0,具体原因如下:

  1. Air780EHV(全能音频系列):因内置了Audio Codec芯片ES8311,其内部占用了PIN57/58的I2C0总线,导致这两个引脚无法再外部复用为SPI1_CLK/SPI1_MISO。
    Air780EHV模块宣传图

  2. Air780EGP/EGG/EGH(定位+通信系列):因内置了GNSS定位芯片,其内部占用了PIN28/29的UART2串口,导致这两个引脚无法再外部复用为SPI1_CS/SPI1_MOSI。
    Air780E系列模块

1.3 相关注意事项

  • 多外设挂载:理论上,SPI总线可以通过不同的片选(CS)信号外挂多个外设。但请注意,挂载在同一SPI总线下的所有外设,其通信速率必须相同,不能将低速和高速设备混合挂载。
  • GPIO模拟SPI:除了硬件SPI总线,LuatOS也支持使用GPIO模拟SPI时序。但这仅适用于通信速率超低(通常低于100Kbps)的外设。在设计投板前,务必使用开发板进行充分的测试评估。
  • 引脚初始化:在使用任何SPI功能之前,都需要先用LuatIO工具生成引脚配置的json文件,完成对IO的功能初始化。

LuatIO可视化配置工具详情请见:https://docs.openluat.com/air780epm/common/luatio/
合宙管理工具iAutoIO界面截图

二、SPI以太网应用(CH390H)

无论是Air780系列还是Air8000系列模组,目前合宙LuatOS仅适配过CH390H这款以太网控制器。

2.1 硬件原理图

可从合宙资料中心下载对应型号的最新参考设计原理图,地址:https://docs.openluat.com/
以太网控制器与模组连接原理图

2.2 相关注意事项

1)挂载组合示例

以只具备SPI0的Air780EHV为例,可进行如下挂载组合:

  • CS0挂载CH390H,CS1挂载SPI TF卡
  • CS0挂载CH390H,CS1挂载SPI Nor Flash
  • CS0挂载CH390H,CS1挂载SPI NAND Flash
  • CS0、CS1各挂载一路CH390H,CS2挂载SPI TF卡
  • CS0、CS1各挂载一路CH390H,CS2挂载SPI Nor Flash
  • CS0、CS1各挂载一路CH390H,CS2挂载SPI NAND Flash

注意:SPI总线上挂载的外设越多,每个外设的响应速度就可能越低。

2)电源管理

当CH390H的供电电源无法通过GPIO控制其使能管脚(EN)来开关时,需要特别注意。应将SPI0_CS0信号线上拉到CH390H的供电电源上。这样可以防止在低功耗状态、软件尚未初始化时,SPI0_CS0引脚意外为低电平,从而导致芯片耗电。
以太网控制器电源与时钟电路原理图

3)相关资源

三、SPI TF卡应用

Air780Exx系列模组当前仅支持SPI接口的T-Flash(MicroSD卡),不支持SDIO模式。

3.1 硬件原理图

原理图资料下载地址:https://docs.openluat.com/
SPI T-Flash硬件连接参考电路

3.2 相关注意事项

1)挂载组合示例

以Air780EHV为例,SPI0挂载组合可参考:

  • CS0挂载CH390H,CS1挂载SPI TF卡
  • CS0、CS1各挂载一路CH390H,CS2挂载SPI TF卡

注意:外设挂载数量会影响总线效率。

2)电源管理

不同品牌或型号的T-Flash卡所需的驱动电流可能不同,在实际调试时,可以根据需要调整SPI信号线上拉电阻的阻值。

同样,若T-Flash的供电LDO无法通过GPIO控制,需将SPI0_CS1上拉到T-Flash的供电电源,以避免在低功耗下产生漏电流。
TF卡接口详细参考电路

3)相关资源

四、SPI Nor Flash应用

LuatOS已适配过的SPI Nor Flash型号包括W25Q64、W25Q128、W25Q256等。原则上,所有支持SFDP(Serial Flash Discoverable Parameters)协议的SPI Nor Flash均可支持。

4.1 硬件原理图

原理图资料下载地址:https://docs.openluat.com/
SPI Nor Flash硬件连接示意图

4.2 相关注意事项

1)挂载组合示例

以Air780EHV为例:

  • CS0挂载CH390H,CS1挂载SPI Nor Flash
  • CS0、CS1各挂载一路CH390H,CS2挂载SPI Nor Flash

注意:合理规划外设数量,以平衡性能需求。

2)电源管理

与前述外设类似,若Nor Flash的供电不可控,需将SPI0_CS2上拉至其供电电源,防止意外耗电。
SPI Nor Flash详细电路设计

3)相关资源

五、SPI NAND Flash应用

SPI NAND Flash的硬件原理图与SPI Nor Flash基本相同,可以直接参考上述设计。

关于Little_flash和Sfud核心库的选择:

  • Little_flash 库同时支持挂载SPI Nor Flash和SPI NAND Flash。
  • Sfud 库只能挂载SPI Nor Flash。

因此,无论是使用SPI Nor Flash还是SPI NAND Flash,都推荐优先使用 Little_flash 方式进行挂载。

LuatOS当前已适配过的SPI NAND Flash型号有:

  • W25N01GVZEIG
  • W25N01KVZEIR
  • W25N02KVZEIR
  • W25N04KVZEIR

更多型号正在陆续适配中,请关注合宙资料中心的最新动态。

六、SPI AirLink应用

AirLink协议最初诞生于Air8000系列模组中,用于“4G主控芯片和Wi-Fi协处理芯片”之间的高速通信。它相比UART速率更高,相比USB功耗更低,非常适合对速率有较高要求、对功耗有较低要求,且系统中没有支持USB HOST功能芯片的嵌入式系统产品。

AirLink核心库支持以下产品组合:

  • Air8000系列模组
  • Air8101 + Air780Exx 组合

AirLink协议介绍: https://docs.openluat.com/protocols/airlink/
AirLink核心库: https://docs.openluat.com/osapi/core/airlink/
合宙产品全家福

总结

合宙LuatOS为物联网应用提供了一站式高效解决方案,集成了高速通信、丰富外设驱动、UI交互等功能,能助力开发者快速实现产品落地。其低功耗特性尤其突出,相较于传统的“串口屏+DTU”方案或安卓方案,可实现功耗减半,同时成本大幅降低。

通过本文对SPI总线在Air780系列模组上各种应用的梳理,希望能为您的硬件设计与软件开发提供清晰的指引。更多详细的技术资料和开发文档,欢迎访问合宙官方资料中心(docs.openluat.com)进行查阅,也欢迎在云栈社区与广大开发者交流探讨。




上一篇:LuatOS内存分配机制详解:从8MB Air780EHM看嵌入式内存管理策略
下一篇:Anthropic发布Claude Managed Agents,详解Harness工程如何重塑AI Agent基础设施
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-10 07:49 , Processed in 0.806376 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表