一、SPI概述
SPI(SerialPeripheralInterface)是一种同步串行通信协议,广泛应用于微控制器和外围设备之间的数据传输。它由摩托罗拉公司开发,具有全双工通信能力,即可以同时进行数据的发送和接收。
SPI通信通常涉及四条信号线:
(1)MOSI(MasterOutSlaveIn):主设备发送数据,外设接收数据。
(2)MISO(MasterInSlaveOut):外设发送数据,主设备接收数据。
(3)SCLK(SerialClock):由主设备生成的时钟信号,用于同步数据传输。
(4)SS(SlaveSelect):选择特定的从设备进行通信。
SPI的优点包括简单的硬件连接、高速数据传输和全双工通信。其缺点是通常需要更多的引脚,尤其是在多个从设备的情况下,每个从设备需要一个独立的SS引脚。此外,SPI没有标准化的协议层,因此设备间的兼容性需要仔细管理。
二、演示功能
本文使用Air780E核心板的SPI总线读写FLASH。
三、硬件环境
3.1 Air780E开发板
3.2 TYPE-C线快充线
3.3 杜邦线
购买链接(数量:6)
3.4 USB延长线
购买链接(数量:1)
3.5 FLASH模块
购买链接(数量:1,注意,一定要选W25Q64型号)
3.6 16针2.54MM间距排针
购买链接(数量:2)
四、软件环境
注:以下软件下载链接,请复制后,粘贴到浏览器URL地址栏进行下载;
4.1 Luatools
Luatools日志打印与程序烧录软件下载
4.2 core固件和源码脚本
注:core固件,是基础环境,该固件由合宙官方提供,用户不可修改;源码脚本,为应用程序,可由客户自行修改;
五、软硬件资料
1、Air780E开发板原理图,打开Air780E产品手册,访问页面中的《EVB_Air780X_V1.6.zip》
2、Air780E开发板使用说明,打开Air780E产品手册,访问页面中的《开发板Core_Air780E使用说明V1.0.5.pdf》
3、API使用介绍说明
5.1 开发板按钮与指示灯图示与说明
BOOT按钮:启动引导,主要用于进入程序下载模式;
复位按钮:系统复位;
开机按钮:冷起动,用于给4G模块开机;
电源指示:供电后常亮,红色;
网络行指示:入网后常亮,翠绿色;
5.2 硬件安装与连接
5.2.1 SIM卡安装
5.2.2 实物连接图
5.2.2.1 线序定义与颜色对应
5.2.2.2 FLASH端
5.2.2.3 开发板端
六、代码示例介绍
6.1 程序流程图
6.2 完整程序清单
注:完整复制后保存为main.lua,可直接使用。
七、功能验证
7.1 开机
按图1进行连接无误后,开发板电源指示红灯常亮,网络指示灯灭,此时按下开机键,约2秒后释放,等待几秒网络指示绿灯常亮,即开机成功,如下图:
7.2 打开Luatool软件工具并进入项目管理测试页面
7.3 按序号步骤,创建项目
7.4 按如下步骤进行程序烧录
7.5 确认烧录结果
7.6 关闭下载页面,并回到查看日志页面
八、总结
至此,我们已使用Air780E开发板的SPI接口完成了对W25Q64读写操作。