0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SPI接口,如何对W25Q64进行读写操作?深度解析

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-11-04 15:28 次阅读

​# 一、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读写操作。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8650

    浏览量

    151437
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1711

    浏览量

    91790
  • 开发板
    +关注

    关注

    25

    文章

    5084

    浏览量

    97742
收藏 人收藏

    评论

    相关推荐

    Air780E开发板SPI接口:实现W25Q64读写不是事儿!

    一直有人向我咨询开发板的SPI接口,对W25Q64进行读写操作很难,今天我便做一个详细
    的头像 发表于 11-02 11:56 426次阅读
    Air780E开发板<b class='flag-5'>SPI</b><b class='flag-5'>接口</b>:实现<b class='flag-5'>W25Q64</b><b class='flag-5'>读写</b>不是事儿!

    SPI协议解析

    的。 示例 使用之前的文章作为案例:STM32CUBEMX(13)--SPIW25Q128外部Flash移植。 https://editor.csdn.net/md/?articleId
    发表于 09-30 15:08

    STM32CUBEMX(13)--SPIW25Q128外部Flash移植

    上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如 EEPROM,FLASH,实时时钟,AD转换器。 W25Q128 是一款SPI接口的Flash芯片,其存储空间
    发表于 09-30 14:41

    FLASH芯片从W25Q80BL换为W25Q80DV后,系统运行经常崩溃怎么解决?

    之前我们用的W25Q80BL,工作在40Mhz QIO ,系统运行正常 本次生产时,供应商反馈W25Q80BL要停产了,后续供货是W25Q80DV,测试时我们发现,在频繁地FLASH读写
    发表于 07-10 06:11

    使用W25Q64JVSIQ芯片时提示报错如何解决?

    系统使用W25Q64JVSIQ芯片时提示 Read SFDP parameter header information failed. The W25Q64 is not support JEDEC SFDP。 请问有没有办法解决,谢谢
    发表于 07-09 06:32

    【GD32H757Z海棠派开发板使用手册】第十一讲 SPI-SPI NOR FLASH读写实验

    通过本实验主要学习以下内容: •SPI简介 •GD32H7 SPI简介 •SPI NOR FLASH——GD25Q128ESIGR简介 •使用GD32H7
    的头像 发表于 06-04 11:42 1082次阅读
    【GD32H757Z海棠派开发板使用手册】第十一讲 <b class='flag-5'>SPI-SPI</b> NOR FLASH<b class='flag-5'>读写</b>实验

    【GD32F470紫藤派开发板使用手册】第十一讲 SPI-SPI NOR FLASH读写实验

    通过本实验主要学习以下内容: •SPI简介 •GD32F470 SPI简介 •SPI NOR FLASH——GD25Q32ESIGR简介 •使用GD32F470
    的头像 发表于 05-17 09:57 1873次阅读
    【GD32F470紫藤派开发板使用手册】第十一讲 <b class='flag-5'>SPI-SPI</b> NOR FLASH<b class='flag-5'>读写</b>实验

    具有双/四SPI和QPI的串行闪存W25Q128FV数据手册

    电子发烧友网站提供《具有双/四SPI和QPI的串行闪存W25Q128FV数据手册.pdf》资料免费下载
    发表于 04-25 17:11 0次下载

    W25M02G NAND FLASH做U盘,请问有没有nand flash的U盘驱动?

    最近在用W25M02G这款NAND FLASH做U盘,之前用的W25Q64,不需要坏块管理,读写也是以页的,NAND FLASH多了坏块,多了扇区重入的交换区管理,请问有没有比较好的驱动参考一下?
    发表于 04-25 06:44

    如何使用SPI的DMA模式读写FLASH?

    环境:HAL库 + USB + W25Q64 + Fatfs 硬件:stm32f103c8t6 + MX25L64 我使用普通模式,完成在W25Q64中写入文件,通过USB可以再PC中读取
    发表于 04-16 07:59

    STM32H7 SPI使用DMA模式,W25Q256数据读写不正确的原因?

    主芯片是 STM32H743X,SPI-FLASH是 W25Q256,使用HAL库(V1.8)。 如果SPI不使用DMA模式,则 W25Q256 数据
    发表于 04-11 06:34

    STM32H743IIT6的SPI+DMA为什么无法通信?

    为什么我看起来没什么问题的配置,连最基本的中断也不进入?读取W25Q64的ID始终为0 有配置过的大佬给解答下吗。调用HAL_SPI_TRANSMIT_DMA也不会进入错误。
    发表于 04-02 06:48

    使用STM32H750 QSPI W25Q64作为外部FLASH,映射后读0X90010000地址的数据读到的是0XFF的原因?

    我使用STM32H750QSPIW25Q64 作为外部FLASH,使用非映射方式读写FLASH 正常,映射后,读0X90000000地址的数据也正常,但是读0X90010000 地址的数据读到
    发表于 04-01 06:24

    关于STM32F103从外设到存储器DMA通道数据格式的问题

    SPI驱动的W25Q64是8位读写,而FSMC驱动的LCD屏是16位发送,直接通过SPI接收那里将数据将数据通过传输至FSMC进而刷新屏幕的显示并能正确显示能做到吗?
    发表于 03-07 07:11

    CYUSB3014通过SPI接口固化USBBulkLoopAutoEnum.img到W25Q80DVUXIE,重启失败的原因?

    CYUSB3014通过SPI接口固化USBBulkLoopAutoEnum.img到W25Q80DVUXIE,重启失败. 启动模式PMODE=0F1. 下载完USBBulkLoopAutoEnum.img后,显示下载成功。 但
    发表于 02-27 08:08