0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

掌握4G模組SPI|技術(shù)指南

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-12-14 09:38 ? 次閱讀

本次我要分享的是4G模組SPI的技術(shù)指南,以合宙Air724UG為例,學(xué)完本章幫你實現(xiàn)技術(shù)提升。

一、簡介

SPI 是串行外設(shè)接口(Serial Peripheral Interface)的縮寫。

SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCLK(時鐘),CS(片選),就可以完成一個主設(shè)備和一個或多個從設(shè)備之間的通信,事實上 3 根也可以(單向傳輸時)。在嵌入式系統(tǒng)中,主要應(yīng)用于 EEPROM、FLASH、實時時鐘、AD轉(zhuǎn)換器數(shù)字信號處理器和數(shù)字信號解碼器之間的通信,在全雙工模式下,傳輸速率可達(dá)上Mbps的水平。

Air724模塊對外提供的硬件SPI接口數(shù)量有兩路,即 SPI1、SPI2,其他SPI通道以復(fù)用封裝作為 LCD 或 MMC 功能管腳使用。

wKgaomc7TqKACZUtAARdr4DE7yA288.png

二、演示功能概述

教程教你如何使用開發(fā)板的SPI總線讀寫 FLASH。

三、準(zhǔn)備硬件環(huán)境

3.1 開發(fā)板準(zhǔn)備

使用 EVB_Air724 開發(fā)板,如下圖所示:

wKgaomc7TrGAPI0jABJCcykPpKM499.png

此開發(fā)板的詳細(xì)使用說明參考:
https://docs.openluat.com/air724ug/product/

Air724UG 產(chǎn)品手冊中的《EVB_Air724UG_AXX 開發(fā)板使用說明》,寫這篇文章時最新版本的使用說明為:《EVB_Air724UG_A14 開發(fā)板使用說明》;開發(fā)板使用過程中遇到任何問題,可以直接參考這份使用說明文檔。

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

3.2 數(shù)據(jù)通信線

USB 數(shù)據(jù)線一根(micro USB)。

3.3 PC 電腦

WIN7 以及以上版本的 WINDOWS 系統(tǒng)。

3.4 SPI FLASH 模塊

25Q64JVSIQ 注意電平是 3.3V

wKgZomc7Tr6AfW64AApreaQBkzU514.png

3.5 電平轉(zhuǎn)換模塊

雙向電平轉(zhuǎn)換模塊(3.3V、1.8V)

wKgZomc7TsqAB4C4AAocgILUxPY651.png

3.6 組裝硬件環(huán)境

USB數(shù)據(jù)線插入 USB 口,另一端與電腦相連,撥碼開關(guān)全部撥到 ON,串口切換開關(guān)選擇 UART1,USB 供電的 4V 對應(yīng)開關(guān)撥至 ON 檔,SIM 卡放到 SIM 卡槽中鎖緊,如下圖所示。

wKgZoWc7TtSAXtnsAAoI2TQmlpI424.png

由于 SPI FLASH 模塊只支持 3.3v 電平,開發(fā)板 SPI 接口只支持 1.8V 電平,所以 SPI FLASH 模塊和開發(fā)板之間需要用電平轉(zhuǎn)換模塊將相互的 IO 電平轉(zhuǎn)換,具體連接圖如下圖所示。

開發(fā)板與電平轉(zhuǎn)換模塊連接:

wKgaomc7TuCAbCyTAAGLQTqdEUc306.png

SPI FLASH 與電平轉(zhuǎn)換模塊連接:

wKgZomc7TvCAQkqOAAF4HX8l_n8034.png

四、準(zhǔn)備軟件環(huán)境

4.1 下載調(diào)試工具

使用說明參考:
Luatools下載和詳細(xì)使用
https://docs.openluat.com/Luatools/

4.2 源碼及固件

4.2.1 底層 core 下載

下載底層固件,并解壓

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

如下圖所示,紅框的是我們要使用到的

wKgaomc7Tv-AO_ooAAUWb_ZGoCs029.png

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

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

4.3 下載固件和腳本到開發(fā)板中

打開 Luatools,開發(fā)板上電開機(jī),如開機(jī)成功 Luatools 會打印如下信息。

wKgZomc7TwmAMembAAPXkswI61M095.png

點(diǎn)擊項目管理測試選項。

wKgaoWc7TxOAULk2AAENL2XSBeA193.png

進(jìn)入管理界面,如下圖所示。

wKgaoWc7TzKAH3YiAAOC_6ovbAI085.png

點(diǎn)擊選擇文件,選擇底層固件,我的文件放在 D:luatOSAir724 路徑中

wKgaoWc7TzyAeyRjAACEagYFoC0637.png

點(diǎn)擊增加腳本或資源文件,選擇之前下載的程序源碼,如下圖所示。

wKgZoWc7T0aAE3mPAAI7fJJp8_s267.png

點(diǎn)擊下載底層和腳本,下載完成如下圖所示。

wKgZoWc7T1CAaGoxAAFNwjZcGWk665.png

五、代碼示例介紹

5.1 API 說明

5.1.1 spi 開啟接口

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

(點(diǎn)開放大)

wKgaoWc7T1yAIdEOAACurXoqDo4082.png

返回值

wKgaomc7T2SAVdErAACkBLD_s34169.png

5.1.2 spi 寫數(shù)據(jù)

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

(點(diǎn)開放大)

wKgaomc7T26AQIJkAACGt87AARs514.png

返回值

wKgZomc7T3iAXbOrAABt0d8EbiU022.png

5.1.3 讀數(shù)據(jù)

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

(點(diǎn)開放大)

wKgaomc7T4KAFIaSAACLL6I1X8g112.png

返回值

wKgaomc7T4uAXyz4AAB0H8E6-CY598.png

5.1.4 讀寫數(shù)據(jù)

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

參數(shù) 類型 釋義 取值
id number SPI 的 ID spi.SPI_1 表示 SPI1,Air720U 系列只有 SPI1 作為普通 SPI 接口使用,固定傳 spi.SPI_1 即可通道選擇 0:普通 spi 1:lcdspi
data
string 要發(fā)送的數(shù)據(jù)
cscontrol number cs 是否自動控制,可選參數(shù)默認(rèn) 0,1 代表 CS 隨數(shù)據(jù)自動變化,0 代表 cs 先拉低數(shù)據(jù)結(jié)束再恢復(fù) 0/1

返回值

wKgZomc7T5-ANKAXAAB1k3kAfOo311.png

5.1.5 關(guān)閉 SPI

spi.close(id)

參數(shù) 類型 釋義 取值
id number SPI 的 ID,spi.SPI_1 表示 SPI1,Air720U 系列只有 SPI1 作為普通 SPI 接口使用,固定傳 spi.SPI_1 即可 0:普通 spi 1:lcdspi 復(fù)用為普通 spi

返回值

wKgaomc7T7GAJ7RYAAChxAmBJLQ041.png

5.2 test_SPIFlash.lua 代碼

test_SPIFlash 程序流程。

wKgZomc7T8KALnLTAAJEmPLHmNg459.pngwKgaomc7T9SAAVcTAAIKBDg641U139.pngwKgZomc7T-CALnKCAANfcZIYKGU991.png

5.3 main.lua 代碼

本代碼為主程序腳本,系統(tǒng)啟動后首先會對 4G 網(wǎng)絡(luò)進(jìn)行配置,然后加載 test_SPIFlash 測試模塊。

5.4 spiFlash.lua

spiFlash.lua 為 W25Q32/BH25Q32 驅(qū)動代碼。

wKgZomc7T_KACstzAAPXq3xBSpU766.pngwKgaomc7UAKAGfcRAAM4T4Xhqac719.pngwKgZomc7UBCAFvX7AAQlcLBFlds842.pngwKgaomc7UB2AFIXpAANr_NZQbF4368.pngwKgZomc7UCuAScDGAARW2XbQoPY109.pngwKgaomc7UDyAdgBxAAVLBv2TvkI324.pngwKgZomc7UFGAC-IMAATTMCIm4oE634.pngwKgaomc7UGCAXhCvAAGtjELM0Hg144.png

六、開機(jī)調(diào)試

6.1 開發(fā)板開機(jī)

連接好硬件并下載固件后,啟動 Luatools 軟件,系統(tǒng)運(yùn)行信息將顯示在界面中。紅框中為開發(fā)板連接到 PC 機(jī)后正常打印的信息,如下圖所示。

wKgaomc7UHCACUtrAAKiMnEkjy4550.png

6.2 SPI FLASH 調(diào)試

讀出 SPI FLASH ID, 并顯示 SPI FLASH 的型號,并且讀寫測試。

wKgaomc7UHuAGVTZAAXFR5R7HmM449.png

七、常見問題

7.1 為什么 SPI 通信中會出現(xiàn)一些亂碼或數(shù)據(jù)丟失

答:SPI 通信的接口電平不匹配??捎?a href="http://wenjunhu.com/v/tag/577/" target="_blank">示波器觀測 SPI 接口在通信過程中的電平狀態(tài)和電平質(zhì)量,確認(rèn)用戶所使用的通信設(shè)備中接口電平是否與 Air724 模塊 SPI1 接口電平一致,Air724 開發(fā)板上的 Air724 模塊的 SPI1 接口電平均為 1.8V,如不匹配,請確保一致。不能過高或過低,過低有可能會導(dǎo)致電平電壓不能被識別,過高有可能會損壞 SPI 通信接口,另外,建議使用一些高速器件作為電平轉(zhuǎn)換器件,可提高接口電平的信號質(zhì)量。

7.2 標(biāo)準(zhǔn) spi 可以驅(qū)動的目標(biāo)芯片電壓是多少?

1.8V,這個電壓是寫死的,無法設(shè)置,如果目標(biāo)芯片工作電壓不在此范圍內(nèi)需要用電平轉(zhuǎn)換芯片。

分享完畢。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19286

    瀏覽量

    229811
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50812

    瀏覽量

    423574
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1706

    瀏覽量

    91578
  • 模組
    +關(guān)注

    關(guān)注

    6

    文章

    1492

    瀏覽量

    30383
收藏 人收藏

    評論

    相關(guān)推薦

    掌握4G模組PWM|技術(shù)精要

    今天要講的是4G模組PWM的技術(shù)精要,以常用的合宙Air724UG為例做出示例分享給大家。
    的頭像 發(fā)表于 12-14 09:40 ?620次閱讀
    <b class='flag-5'>掌握</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>PWM|<b class='flag-5'>技術(shù)</b>精要

    ESP32S2 WROVER在使用AT指令獲取4G模組時,dte會報超時怎么解決?

    模組:ESP32 S2 WROVER 4G模組:合宙Air724UG 在使用AT指令獲取4G模組時,dte會報超時。 代碼和log如下圖所示
    發(fā)表于 06-27 06:54

    4G技術(shù)

    4G技術(shù){:4_95:}。。。。。。。。。。。。。。。。。。。
    發(fā)表于 06-14 15:39

    MiniPCIE 封裝4G模組價值仍在

    類使用使用場景需要,奇跡物聯(lián)推出一款基于eSIM技術(shù)的PCIExpress Mini Card 1.2 標(biāo)準(zhǔn)接口的4G模組—AM400P?;贏SR平臺 ,工作溫度可達(dá)-40℃到+85℃,靜電能力達(dá)到
    發(fā)表于 02-21 11:57

    怎樣去使用4G模塊的spi接口呢

    1.引言最近在使用4G模塊的spi接口,但4g模塊引腳電平是1.8v的,但目標(biāo)從機(jī)的電平是3.3v的,所以兩個spi設(shè)備直接不能直接對接,需要電平轉(zhuǎn)換。之前有用過相關(guān)的電平轉(zhuǎn)換電路,讓
    發(fā)表于 02-14 06:39

    4G模組

    4G模組:CR100IP-AHD-TF1-1F
    發(fā)表于 03-21 20:02 ?0次下載

    4G模組, 4G模塊是什么?4G模組,4G模塊的平臺?4G模組,4G模塊怎么選?ASR RDA 高通

    開始正文前,如需進(jìn)一步交流,歡迎大家添加朱胖子微信交流: 4G模塊是什么 4G模塊是什么?4G模塊是指第四代通訊技術(shù)模塊, 4G模塊是支持T
    的頭像 發(fā)表于 06-07 19:50 ?1.5w次閱讀

    4G Cat

    [開源項目]基于機(jī)智云GOKIT+Cat.14G模組轉(zhuǎn)接板ML302-GC211的4G開發(fā)指南https://club.gizwits.com/forum.php?mod=viewth
    發(fā)表于 12-23 12:24 ?16次下載

    4G模組之UDP應(yīng)用的最佳實踐!

    今天說的是4G模組之UDP應(yīng)用,展示最佳實踐,送你參考。
    的頭像 發(fā)表于 11-08 09:24 ?354次閱讀
    <b class='flag-5'>4G</b><b class='flag-5'>模組</b>之UDP應(yīng)用的最佳實踐!

    字符串處理:4G模組軟件指南精要!

    最近一直有朋友咨詢我關(guān)于4G模組的字符串處理,今天我便把相關(guān)指南展示給大家。
    的頭像 發(fā)表于 11-17 09:57 ?218次閱讀
    字符串處理:<b class='flag-5'>4G</b><b class='flag-5'>模組</b>軟件<b class='flag-5'>指南</b>精要!

    UART通信入門:4G模組軟件的實踐指南

    本文將對4G模組Air724UG軟件的UART做出相關(guān)示例,希望想了解此模組的朋友們收藏好仔細(xì)看。
    的頭像 發(fā)表于 11-17 00:07 ?432次閱讀
    UART通信入門:<b class='flag-5'>4G</b><b class='flag-5'>模組</b>軟件的實踐<b class='flag-5'>指南</b>

    4G模組SD卡使用技巧|專家指南

    今天我們學(xué)習(xí)的是4G模組SD卡使用技巧,以Air724UG為例做出指南供大家參考。
    的頭像 發(fā)表于 12-14 09:37 ?178次閱讀
    <b class='flag-5'>4G</b><b class='flag-5'>模組</b>SD卡使用技巧|專家<b class='flag-5'>指南</b>

    SPI4G模組的集成:技術(shù)要領(lǐng)篇

    今天咋們要講的是SPI4G模組技術(shù)要領(lǐng),以低功耗模組Air724UG為例,展示給大家學(xué)習(xí)。
    的頭像 發(fā)表于 11-20 23:25 ?223次閱讀
    <b class='flag-5'>SPI</b>與<b class='flag-5'>4G</b><b class='flag-5'>模組</b>的集成:<b class='flag-5'>技術(shù)</b>要領(lǐng)篇

    4G模組PWM接口:技術(shù)實操要點(diǎn)

    今天我們講解的是4G模組PWM接口的技術(shù)實操要點(diǎn),以我常用的模組Air724UG為例分享出來。
    的頭像 發(fā)表于 11-20 23:29 ?261次閱讀
    <b class='flag-5'>4G</b><b class='flag-5'>模組</b>PWM接口:<b class='flag-5'>技術(shù)</b>實操要點(diǎn)

    LuatOS開發(fā)之4G模組隨機(jī)數(shù)(random)|實戰(zhàn)指南

    本次學(xué)習(xí)的實戰(zhàn)是關(guān)于4G模組LuatOS開發(fā)的隨機(jī)數(shù)示例指南,希望大家有所收獲。
    的頭像 發(fā)表于 11-30 09:51 ?201次閱讀
    LuatOS開發(fā)之<b class='flag-5'>4G</b><b class='flag-5'>模組</b>隨機(jī)數(shù)(random)|實戰(zhàn)<b class='flag-5'>指南</b>