RM新时代网站-首页

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

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

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

SPI與4G模組的集成:技術(shù)要領(lǐng)篇

青山老竹農(nóng) ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-11-20 23:25 ? 次閱讀

今天咋們要講的是SPI與4G模組的技術(shù)要領(lǐng),以低功耗模組Air724UG為例,展示給大家學(xué)習(xí)。

一、簡介

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 功能管腳使用。

wKgZoWc9_VqASO2JAAIShJIyBko153.pngwKgZoWc9_W6AWr6yAAHeF07GrgE879.png

二、演示功能概述

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

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

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

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

wKgZoWc9_YKASm6lABJHiF8IO9Q676.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

wKgaoWc9_Y-APDVCAApx_4hOW08908.png

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

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

wKgZoWc9_ZqARWCUAAnu52S_ycQ762.png

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

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

wKgaoWc9_aeAEgZpAAoXC0j6xK0146.png

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

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

wKgaoWc9_bKADdVwAAGJc4NuvXU669.png

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

wKgZoWc9_b6AA2-1AAFxjFTHDIc729.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/

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

wKgaoWc9_cyANBXBAAUS9xeGtxk179.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 會打印如下信息。

wKgZoWc9_daAIs-bAAPXLTVX_cQ979.png

點擊項目管理測試選項。

wKgZoWc9_eqAchcKAAELGYVzFZk372.png

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

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 寫數(shù)據(jù)

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

(點開放大)

wKgaoWc9_i-ACtiWAACCEeg1MuE831.png

返回值

wKgZoWc9_jiAcUWhAAB0duka2X0860.png

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

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

(點開放大)

wKgZoWc9_kGAK1gDAACKe_eR8IM197.png

返回值

wKgaoWc9_kqAFQsmAAB3h0k5pKY248.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

返回值

wKgaoWc9_leAW8lhAAB2OzcZQTM060.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

返回值

wKgZoWc9_mGASMCaAACcFJoMnqg091.png

5.2 test_SPIFlash.lua 代碼

test_SPIFlash 程序流程。

wKgZoWc9_nCAbb0IAAKUJrmxhG4799.pngwKgaoWc9_n2ADbwQAAAswkP4DMY473.png

wKgZoWc9_pSAWUdRAAS0-8sUO4s064.png

5.3 main.lua 代碼

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

5.4 spiFlash.lua

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

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

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

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

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

wKgZoWc9_xyAWFX_AAKjevH7KTA511.png

6.2 SPI FLASH 調(diào)試

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

wKgaoWc9_yaAUVhDAAXFaKoNU0Q076.png

七、常見問題

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

答:SPI 通信的接口電平不匹配??捎?a 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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304791
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2909

    文章

    44557

    瀏覽量

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

    關(guān)注

    17

    文章

    1706

    瀏覽量

    91501
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

    本次我要分享的是4G模組SPI技術(shù)指南,以合宙Air724UG為例,學(xué)完本章幫你實現(xiàn)技術(shù)提升。
    的頭像 發(fā)表于 12-14 09:38 ?561次閱讀
    掌握<b class='flag-5'>4G</b><b class='flag-5'>模組</b><b class='flag-5'>SPI</b>|<b class='flag-5'>技術(shù)</b>指南

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

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

    4G模組LuatOS開發(fā)|iconv字符集轉(zhuǎn)換技術(shù)

    本次我要講的是4G模組LuatOS開發(fā)的iconv字符集轉(zhuǎn)換,已整理成文,今天便分享供大家。
    的頭像 發(fā)表于 11-30 09:53 ?184次閱讀
    <b class='flag-5'>4G</b><b class='flag-5'>模組</b>LuatOS開發(fā)|iconv字符集轉(zhuǎn)換<b class='flag-5'>技術(shù)</b><b class='flag-5'>篇</b>

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

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

    4G模組SD卡接口編程:深度學(xué)習(xí)

    今天我們需要深度學(xué)習(xí)的是4G模組SD卡接口編程,以我常用的模組Air724UG為例,分享給大家。
    的頭像 發(fā)表于 11-20 23:14 ?198次閱讀
    <b class='flag-5'>4G</b><b class='flag-5'>模組</b>SD卡接口編程:深度學(xué)習(xí)

    深度解析 4G模組GPIO編程技巧

    本文將解析4G模組GPIO編程技巧,從概述、軟硬件環(huán)境準(zhǔn)備、示例等詳細(xì)道來:
    的頭像 發(fā)表于 11-20 23:08 ?165次閱讀
    深度解析  <b class='flag-5'>4G</b><b class='flag-5'>模組</b>GPIO編程技巧<b class='flag-5'>篇</b>

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

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

    實例 4G模組軟件之json數(shù)據(jù)處理!

    今天我會把4G模組軟件的json數(shù)據(jù)處理整理成文,以低功耗模組Air780E為例,一一展示出來:
    的頭像 發(fā)表于 11-12 12:17 ?189次閱讀

    示例 關(guān)于4G模組的模塊信息!

    今天我會把4G模組的模塊信息做出詳細(xì)介紹,做出示例,展示給大家,如果覺得有用的話請點贊收藏。
    的頭像 發(fā)表于 11-12 12:07 ?275次閱讀
    示例<b class='flag-5'>篇</b>  關(guān)于<b class='flag-5'>4G</b><b class='flag-5'>模組</b>的模塊信息!

    示例4G模組AT指令之MQTT應(yīng)用!

    針對4G模組AT指令的MQTT應(yīng)用,我收集資料,做出示例,整理成文分享給大家,喜歡的可以收藏。
    的頭像 發(fā)表于 11-12 11:56 ?326次閱讀
    示例<b class='flag-5'>篇</b>:<b class='flag-5'>4G</b><b class='flag-5'>模組</b>AT指令之MQTT應(yīng)用!

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

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

    ML307A 4G模組硬件設(shè)計手冊

    基于ML307A ?4G模組的硬件設(shè)計指導(dǎo)手冊
    發(fā)表于 10-24 16:50 ?6次下載

    干貨:低功耗4G模組Air780E的串口通信

    ? 今天我們來講解低功耗4G模組Air780E的串口通信的基本用法,小伙伴們,學(xué)起來吧!
    的頭像 發(fā)表于 10-05 14:38 ?544次閱讀
    干貨<b class='flag-5'>篇</b>:低功耗<b class='flag-5'>4G</b><b class='flag-5'>模組</b>Air780E的串口通信

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

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