AirLink-SPI通信
协议通信描述
整个协议主要分为2层:
- 物理层协议:以整体封包的形式,为上层包提供无错误的传输支持
- 应用层协议:以TLV形式,提供命令类型、命令长度、命令数据(若有)的数据封装
物理管脚说明
| 功能说明 |
从机(以Air8101为例) |
主机(以Air780EHM为例) |
备注 |
| GND |
GND |
GND |
接2根,确保稳定共地 |
| SPI_CLK |
GPIO14 |
SPI0_CLK/GPIO11 |
主从时钟,必须连接,杜邦线尽量保持相同长度 |
| SPI_CS |
GPIO15 |
SPI0_CS/GPIO8 |
从机片选,必须连接 |
| SPI_MOSI |
GPIO16 |
SPI0_MOSI/GPIO9 |
主发从收,必须连接 |
| SPI_MISO |
GPIO17 |
SPI0_MISO/GPIO10 |
主收从发,必须连接 |
| RDY |
GPIO48 |
GPIO22/WAKEUP5 |
从机就绪,必须连接,杜邦线尽量保持相同长度 |
| IRQ |
GPIO28 |
GPIO1 |
从机通知主机有新数据,可选,中间串0R电阻 |
通信时序介绍
- 主机初始化SPI相关参数,CS脚拉高
- 从机初始化SPI相关参数,RDY脚拉高,监听CS脚中断信息
- 主机拉低CS脚
- 从机就绪后,启动SPI从机通信,然后拉低RDY脚
- 主机等待RDY脚低电平后,开始传输1600字节的SPI数据
- 主机传输完毕后,拉高CS脚,分析SPI数据
- 从机监听到CS脚拉高的中断,分析SPI数据,若数据非法,立即重置SPI外设驱动,重新等待下一次传输
- 主机分析SPI数据后,若有其他待传输数据,从步骤3重新开始传输逻辑,否则等待传输事件唤醒
脚本介绍
- 功能角色:Air8101作为SPI主机,发送网络请求;Air780EHM作为SPI从机,开启dnsproxy、napt,做网关
1. SPI从机模式(Air780EHM)
- 初始化AirLink并注册网卡
- 启动AirLink从机模式,配置本地IP、网关等
- 等待网络就绪(IP_READY)
- 启用NAPT(网络地址端口转换)
2. SPI主机模式(如Air8101)
- 初始化AirLink并注册网卡
- 配置SPI CS和RDY引脚
- 启动AirLink主机模式,配置本地IP、网关
- 等待网络就绪(IP_READY)
- 循环打印设备信息和AirLink统计数据
- 定时发起HTTP请求,测试网络连通性