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

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

3天内不再提示

SPI与4G模组的集成:技术要领篇

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-11-20 23:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天咋们要讲的是SPI与4G模组的技术要领,以低功耗模组Air724UG为例,展示给大家学习。

一、简介

SPI 是串行外设接口(Serial Peripheral Interface)的缩写。

SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,SDI(数据输入),SDO(数据输出),SCLK(时钟),CS(片选),就可以完成一个主设备和一个或多个从设备之间的通信,事实上 3 根也可以(单向传输时)。在嵌入式系统中,主要应用于 EEPROM、FLASH、实时时钟AD转换器数字信号处理器和数字信号解码器之间的通信,在全双工模式下,传输速率可达上Mbps的水平。

Air724模块对外提供的硬件SPI接口数量有两路,即 SPI1、SPI2,其他SPI通道以复用封装作为 LCD 或 MMC 功能管脚使用。

wKgZoWc9_VqASO2JAAIShJIyBko153.pngwKgZoWc9_W6AWr6yAAHeF07GrgE879.png

二、演示功能概述

本教程教你如何使用开发板的SPI总线读写 FLASH。

三、准备硬件环境

3.1 开发板准备

使用 EVB_Air724 开发板,如下图所示:

wKgZoWc9_YKASm6lABJHiF8IO9Q676.png

此开发板的详细使用说明参考:
https://docs.openluat.com/air724ug/product/

Air724UG 产品手册中的《EVB_Air724UG_AXX 开发板使用说明》,写这篇文章时最新版本的使用说明为:《EVB_Air724UG_A14 开发板使用说明》;开发板使用过程中遇到任何问题,可以直接参考这份使用说明文档。

api文档:
https://doc.openluat.com/wiki/21?wiki_page_id=2068

3.2 数据通信线

USB 数据线一根(micro USB)。

3.3 PC 电脑

WIN7 以及以上版本的 WINDOWS 系统。

3.4 SPI FLASH 模块

25Q64JVSIQ 注意电平是 3.3V

wKgaoWc9_Y-APDVCAApx_4hOW08908.png

3.5 电平转换模块

双向电平转换模块(3.3V、1.8V)

wKgZoWc9_ZqARWCUAAnu52S_ycQ762.png

3.6 组装硬件环境

USB数据线插入 USB 口,另一端与电脑相连,拨码开关全部拨到 ON,串口切换开关选择 UART1,USB 供电的 4V 对应开关拨至 ON 档,SIM 卡放到 SIM 卡槽中锁紧,如下图所示。

wKgaoWc9_aeAEgZpAAoXC0j6xK0146.png

由于 SPI FLASH 模块只支持 3.3v 电平,开发板 SPI 接口只支持 1.8V 电平,所以 SPI FLASH 模块和开发板之间需要用电平转换模块将相互的 IO 电平转换,具体连接图如下图所示。

开发板与电平转换模块连接:

wKgaoWc9_bKADdVwAAGJc4NuvXU669.png

SPI FLASH 与电平转换模块连接:

wKgZoWc9_b6AA2-1AAFxjFTHDIc729.png

四、准备软件环境

4.1 下载调试工具

使用说明参考:
Luatools下载和详细使用
https://docs.openluat.com/Luatools/

4.2 源码及固件

4.2.1 底层 core 下载

下载底层固件,并解压

链接:
https://docs.openluat.com/air724ug/luatos/firmware/

如下图所示,红框的是我们要使用到的

wKgaoWc9_cyANBXBAAUS9xeGtxk179.png

4.2.2 本教程使用的 demo 见附件:

https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/spiFlash

4.3 下载固件和脚本到开发板中

打开 Luatools,开发板上电开机,如开机成功 Luatools 会打印如下信息。

wKgZoWc9_daAIs-bAAPXLTVX_cQ979.png

点击项目管理测试选项。

wKgZoWc9_eqAchcKAAELGYVzFZk372.png

进入管理界面,如下图所示。

wKgaoWc9_fiAbkPUAAN7tOldb00877.png

点击选择文件,选择底层固件,我的文件放在 D:luatOSAir724 路径中

wKgZoWc9_gOASa2eAACG7i510uw303.png

点击增加脚本或资源文件,选择之前下载的程序源码,如下图所示。

wKgaoWc9_gyAVjwvAAI7-a2bpKk037.png

点击下载底层和脚本,下载完成如下图所示。

wKgaoWc9_hSAVucbAAFK8uuRFtI364.png

五、代码示例介绍

5.1 API 说明

5.1.1 spi 开启接口

spi.setup(id,chpa,cpol,dataBits,clock,duplex)

(点开放大)

wKgZoWc9_h2AcK54AACtP1SkkkY325.png

返回值

wKgZoWc9_iaAY-YjAAChhAAfX88305.png

5.1.2 spi 写数据

spi.send(id,data[,cscontrol])

(点开放大)

wKgaoWc9_i-ACtiWAACCEeg1MuE831.png

返回值

wKgZoWc9_jiAcUWhAAB0duka2X0860.png

5.1.3 读数据

spi.recv(id,length[,cscontrol])

(点开放大)

wKgZoWc9_kGAK1gDAACKe_eR8IM197.png

返回值

wKgaoWc9_kqAFQsmAAB3h0k5pKY248.png

5.1.4 读写数据

spi.send_recv(id,data[,cscontrol])

参数 类型 释义 取值
id number SPI 的 ID spi.SPI_1 表示 SPI1,Air720U 系列只有 SPI1 作为普通 SPI 接口使用,固定传 spi.SPI_1 即可通道选择 0:普通 spi 1:lcdspi
data
string 要发送的数据
cscontrol number cs 是否自动控制,可选参数默认 0,1 代表 CS 随数据自动变化,0 代表 cs 先拉低数据结束再恢复 0/1

返回值

wKgaoWc9_leAW8lhAAB2OzcZQTM060.png

5.1.5 关闭 SPI

spi.close(id)

参数 类型 释义 取值
id number SPI 的 ID,spi.SPI_1 表示 SPI1,Air720U 系列只有 SPI1 作为普通 SPI 接口使用,固定传 spi.SPI_1 即可 0:普通 spi 1:lcdspi 复用为普通 spi

返回值

wKgZoWc9_mGASMCaAACcFJoMnqg091.png

5.2 test_SPIFlash.lua 代码

test_SPIFlash 程序流程。

wKgZoWc9_nCAbb0IAAKUJrmxhG4799.pngwKgaoWc9_n2ADbwQAAAswkP4DMY473.png

wKgZoWc9_pSAWUdRAAS0-8sUO4s064.png

5.3 main.lua 代码

本代码为主程序脚本,系统启动后首先会对 4G 网络进行配置,然后加载 test_SPIFlash 测试模块。

5.4 spiFlash.lua

spiFlash.lua 为 W25Q32/BH25Q32 驱动代码。

wKgZoWc9_qKAAQ0KAAOXZyKLatE690.pngwKgaoWc9_rGAbuZYAANJmR9z8rI646.pngwKgaoWc9_sOAIgQaAAQwsvFctzo836.pngwKgZoWc9_tKACxXiAAOCC1h5P9w465.pngwKgaoWc9_uKAI-7ZAAR3WY7K-K8239.pngwKgZoWc9_vWAWKGsAAXb4qDCNBg340.pngwKgaoWc9_waAPzloAAT2nROUexw439.pngwKgZoWc9_xGAOqw0AADR-q7z-a4927.png

六、开机调试

6.1 开发板开机

连接好硬件并下载固件后,启动 Luatools 软件,系统运行信息将显示在界面中。红框中为开发板连接到 PC 机后正常打印的信息,如下图所示。

wKgZoWc9_xyAWFX_AAKjevH7KTA511.png

6.2 SPI FLASH 调试

读出 SPI FLASH ID, 并显示 SPI FLASH 的型号,并且读写测试。

wKgaoWc9_yaAUVhDAAXFaKoNU0Q076.png

七、常见问题

7.1 为什么 SPI 通信中会出现一些乱码或数据丢失

答:SPI 通信的接口电平不匹配。可用示波器观测 SPI 接口在通信过程中的电平状态和电平质量,确认用户所使用的通信设备中接口电平是否与 Air724 模块 SPI1 接口电平一致,Air724 开发板上的 Air724 模块的 SPI1 接口电平均为 1.8V,如不匹配,请确保一致。不能过高或过低,过低有可能会导致电平电压不能被识别,过高有可能会损坏 SPI 通信接口,另外,建议使用一些高速器件作为电平转换器件,可提高接口电平的信号质量。

7.2 标准 spi 可以驱动的目标芯片电压是多少?

1.8V,这个电压是写死的,无法设置,如果目标芯片工作电压不在此范围内需要用电平转换芯片。

分享完毕

审核编辑 黄宇

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

    关注

    5186

    文章

    20155

    浏览量

    328966
  • 物联网
    +关注

    关注

    2939

    文章

    47330

    浏览量

    408033
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1866

    浏览量

    99841
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    物流车4G车载监控系统的核心功能与应用场景解析

    物流车 4G 车载监控系统通过 4G 网络实现对运输车辆的实时定位、状态监控、数据传输,并与供应链管理体系深度集成,为供应链全链路优化提供了关键技术支撑。
    的头像 发表于 08-30 11:33 746次阅读

    工业物联网平台可以支持5G/4G通信吗

    工业物联网平台可以支持5G/4G通信 ,且5G/4G通信是工业物联网中实现远程监控与分布式设备连接的关键技术手段,其应用场景、
    的头像 发表于 07-25 15:28 450次阅读
    工业物联网平台可以支持5<b class='flag-5'>G</b>/<b class='flag-5'>4G</b>通信吗

    CE31-TD系列4G遥控开关模组核心板方案推荐

    CE31-TD系列4G遥控开关模组核心板凭借其高性能、低延迟、多种控制方式和广泛的应用领域,成为市场上备受瞩目的产品。无论是智能家居、工业自动化还是医疗保健等领域,CE31-TD系列都能为用户提供可靠的解决方案。
    的头像 发表于 07-10 13:50 404次阅读

    SkyOne® 汽车多模多频段前端模块,用于 4G LTE 和 4G LTE-A(下行链路载波聚合 (CA) 应用) skyworksinc

    电子发烧友网为你提供()SkyOne® 汽车多模多频段前端模块,用于 4G LTE 和 4G LTE-A(下行链路载波聚合 (CA) 应用)相关产品参数、数据手册,更有SkyOne® 汽车多模多频段
    发表于 07-01 18:31
    SkyOne® 汽车多模多频段前端模块,用于 <b class='flag-5'>4G</b> LTE 和 <b class='flag-5'>4G</b> LTE-A(下行链路载波聚合 (CA) 应用) skyworksinc

    4G全网通网关是什么?有什么功能?

    4G全网通网关是一种能够接入4G网络,并将4G网络信号转换为其他网络信号(如WiFi、以太网等),实现多设备联网的通信设备。它支持国内三大运营商(中国移动、中国联通、中国电信)的4G
    的头像 发表于 06-17 15:43 880次阅读
    <b class='flag-5'>4G</b>全网通网关是什么?有什么功能?

    4G DTU 无线数传模块:RS232/485转4G,稳定不宕机

    4G DTU(Data Transfer Unit)是一种工业级物联网数据传输设备,主要用于将串口(如RS232/RS485)数据通过4G网络无线传输到远程服务器或云平台。它是工业自动化、远程监控
    的头像 发表于 05-29 14:58 830次阅读

    大公开!用Air780EPM重构水质COD监测,替代STM32+4G模组技术路径

    本方案采用Air780EPM单芯片替代STM32+4G模组集成COD传感器驱动、数据加密与4G通信功能。 水质COD(化学需氧量)监控是评估水体有机污染程度的核心手段,涉及多种
    的头像 发表于 05-16 15:34 453次阅读
    大公开!用Air780EPM重构水质COD监测,替代STM32+<b class='flag-5'>4G</b><b class='flag-5'>模组</b>的<b class='flag-5'>技术</b>路径

    基于EPCM3568B-LI的无线模块应用 — 4G

    产品采用硬件兼容性设计,将通信模块接口统一化设计,通过接口预留M.2座子可接入5G/RedCap模组,也可通过转接板兼容MiniPCIE接口的4G模块。EPCM3
    的头像 发表于 05-07 11:33 1075次阅读
    基于EPCM3568B-LI的无线模块应用 — <b class='flag-5'>4G</b><b class='flag-5'>篇</b>

    4G DTU未来发展趋势与展望

    ,在众多领域发挥着不可替代的作用。展望未来,4G DTU 将在技术创新、应用拓展和市场竞争等多方面迎来新的发展机遇与挑战。 技术创新驱动发展 通信技术融合升级 随着通信
    的头像 发表于 04-22 18:44 490次阅读

    三格电子CAN转4G模组在充电桩的应用

    1、方案背景 充电桩作为电动汽车的基础设施,现在越来越普及,而智能化和远程管理成为趋势。CAN总线在充电桩内部设备通信中的广泛应用,而4G模组则提供了远程连接的能力。结合这两者,CAN转4G
    的头像 发表于 03-05 09:31 714次阅读

    4G核心板_4G智能模组_联发科MTK|高通|紫光展锐4G模块开发

    4G核心板是一种集成了处理器、内存与存储、射频模块、接口等主要组件的小型电路板。它采用开放式的智能Android操作系统,并内置4G通信功能,专为嵌入式系统的核心功能实现而设计。由于核心板本身需要通过底板提供支持,无法单独运行,
    的头像 发表于 03-04 20:15 998次阅读
    <b class='flag-5'>4G</b>核心板_<b class='flag-5'>4G</b>智能<b class='flag-5'>模组</b>_联发科MTK|高通|紫光展锐<b class='flag-5'>4G</b>模块开发

    掌握4G模组PWM|技术精要

    今天要讲的是4G模组PWM的技术精要,以常用的合宙Air724UG为例做出示例分享给大家。
    的头像 发表于 12-14 09:40 1721次阅读
    掌握<b class='flag-5'>4G</b><b class='flag-5'>模组</b>PWM|<b class='flag-5'>技术</b>精要

    掌握4G模组SPI|技术指南

    本次我要分享的是4G模组SPI技术指南,以合宙Air724UG为例,学完本章帮你实现技术提升。
    的头像 发表于 12-14 09:38 1947次阅读
    掌握<b class='flag-5'>4G</b><b class='flag-5'>模组</b><b class='flag-5'>SPI</b>|<b class='flag-5'>技术</b>指南

    4G模组SD卡使用技巧|专家指南

    今天我们学习的是4G模组SD卡使用技巧,以Air724UG为例做出指南供大家参考。
    的头像 发表于 12-14 09:37 1164次阅读
    <b class='flag-5'>4G</b><b class='flag-5'>模组</b>SD卡使用技巧|专家指南

    4G模组GPIO接口实操|精选教程

    今天我将把我熟悉的4G模组GPIO接口实操整理成文,以Air724UG做出精选教程分享给大家。
    的头像 发表于 12-14 09:36 1902次阅读
    <b class='flag-5'>4G</b><b class='flag-5'>模组</b>GPIO接口实操|精选教程