
上期分享了合宙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模组为例,展示了其引脚功能分配:

1.2 以下型号只支持1路SPI0
Air780EHV和Air780EGP/EGG/EGH只支持1路SPI0,具体原因如下:
-
Air780EHV(全能音频系列):因内置了Audio Codec芯片ES8311,其内部占用了PIN57/58的I2C0总线,导致这两个引脚无法再外部复用为SPI1_CLK/SPI1_MISO。

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

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

二、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/

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的供电电源,以避免在低功耗下产生漏电流。

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/

4.2 相关注意事项
1)挂载组合示例
以Air780EHV为例:
- CS0挂载CH390H,CS1挂载SPI Nor Flash
- CS0、CS1各挂载一路CH390H,CS2挂载SPI Nor Flash
注意:合理规划外设数量,以平衡性能需求。
2)电源管理
与前述外设类似,若Nor Flash的供电不可控,需将SPI0_CS2上拉至其供电电源,防止意外耗电。

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)进行查阅,也欢迎在云栈社区与广大开发者交流探讨。