901-Air724UG模塊(4G全網通GPRS開發)-Air724UG(4G)使用SPI控制CH395Q(以太網模塊)實現TCP/IP通信


<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnAir724UG" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

說明

這節測試一下Air724UG(4G)使用SPI控制CH395Q(以太網模塊)實現TCP/IP通信

CH395Q模組鏈接: https://item.taobao.com/item.htm?ft=t&id=641683643515

CH395Q教程鏈接: https://www.cnblogs.com/yangfengwu/p/14583830.html

 

 

 

 

關於CH395Q以太網芯片

CH395芯片自帶10/100M 以太網介質傳輸層(MAC)和物理層(PHY),完全兼容IEEE802.3 10/100M 協議,

內置了IP、DHCP、ARP、ICMP、IGMP、UDP、TCP等以太網協議棧。單片機系統可以方便的通過CH395芯片進行網絡通訊。
CH395支持三種通訊接口:8 位並口、SPI接口或者異步串口,單片機/DSP/MCU/MPU等控制器可以通過上述任何一種通訊接口控制CH395芯片進行以太網通訊。
下圖為CH395的應用框圖:

 

 

    • 內部自帶以太網介質傳輸層(MAC)和物理層(PHY)。
    • 支持10/100M,全雙工/半雙工自適應,兼容802.3協議。
    • 支持多種模式的地址過濾。
    • 與 802.3x全雙工流控和半雙工背壓流控完全兼容。
    • 支持MDI/MDIX線路自動轉換。
    • 內置TCP/IP協議簇,支持IPv4、DHCP 、ARP、ICMP、IGMP、UDP、TCP協議。
    • 提供8個獨立的Socket對,可以同時進行數據收發。
    • 提供高速8位被動並行接口,支持連接到單片機的並行數據總線。
    • 提供最高30MHz速度的SPI設備接口,支持連接到單片機的SPI串行總線。
    • 提供最高3Mbps速度的異步串口,支持連接到單片機的串行口,支持通訊波特率動態調整。
    • 支持低功耗模式。
    • 內置24K RAM,可用於以太網數據收發,每個Socket收發緩沖區可以自由配置。
    • 內置4KB EEPROM。
    • 支持8路GPIO。
    • 提供LQFP64M和LQFP128無鉛封裝,兼容RoHS。

 

 

CH395Q模塊引腳說明

 

 

1.引腳說明

RSTI 引腳是復位模塊的引腳,低電平有效,默認內部10K上拉.

RDY 引腳在模組復位正常工作以后輸出低電平(復位模組以后檢查此引腳為低電平時即可和模組進行通信)

SEL 和 TXD 引腳控制模組以哪種通信口通訊,引腳默認高電平(默認使用串口通訊)

 

 

INT引腳是芯片的輸出引腳,當模組接收到數據時,該引腳產生一個下降沿.

單片機利用此引腳讓單片機產生中斷,然后讀取數據

這個引腳不是必須的,單片機可以采用輪訓的方式查詢數據

 

TXD 和 RXD 作為串口通信的引腳

SCS  引腳為模組SPI片選引腳

SCK  引腳為模組SPI時鍾引腳

SDI   引腳為模組SPI數據輸入引腳

SDO 引腳為模組SPI數據輸出引腳

 

2.通信連接(串口方式)

INT(數據中斷引腳) 根據自己的需求決定是否連接.

圖示其它未連接的引腳保持懸空即可.

初始化流程:

1.單片機上電以后保持其RX引腳為高電平(拉高模組的TX引腳)

2.單片機控制和模組RSTI相連接的IO輸出低電平,等待50ms及其以上.

3.單片機控制和模組RSTI相連接的IO輸出高電平,等到100ms及其以上

4.模組進入串口通訊模式.

 

3.通信連接(SPI方式)

INT(數據中斷引腳) 根據自己的需求決定是否連接.

圖示其它未連接的引腳保持懸空即可.

初始化流程:

1.單片機上電以后控制和模組TX相連接的IO輸出低電平

2.單片機控制和模組RSTI相連接的IO輸出低電平,等待50ms及其以上.

3.單片機控制和模組RSTI相連接的IO輸出高電平,等到100ms及其以上

4.模組進入SPI通訊模式.

 

 

提示

外掛以太網模塊其實就是4G模組作為單片機控制以太網模塊實現網絡通信.

其實就相當於外接了個傳感器一樣的道理哈......

 

測試准備工作

1.接線

CH395Q模組可以使用Air724模組的VBAT供電

CH395Q模組的TXD引腳直接接到GND上, 默認就是SPI通信方式了(圖示黑線)

連接上SPI引腳:

Air724模組的GPIO9引腳 <----> CH395Q模組的SCK引腳

Air724模組的GPIO10引腳 <----> CH395Q模組的SCS引腳

Air724模組的GPIO11引腳 <----> CH395Q模組的SDI引腳

Air724模組的GPIO12引腳 <----> CH395Q模組的SDO引腳

連接中斷和復位引腳:

Air724模組的GPIO2引腳 <----> CH395Q模組的INT引腳

Air724模組的GPIO3引腳 <----> CH395Q模組的RST引腳

 

 

 

 

 

 

2.保證電腦連接路由器或者交換機; 同時也使用網線把CH395連接上該路由器或者交換機

 

 

3.在電腦上運行網絡調試助手,開啟TCP服務器(自己隨意找個就可以)

 

 

我設置監聽的端口為8888

 

5.查看自己電腦的IP地址

我的為 192.168.1.93

所以我的TCP服務器地址為 192.168.1.93,端口號為8888

 

 

 

下載測試

說明, 用戶先直接根據我的步驟, 燒寫我提供的例程測試哈.

后面會有詳細的從官網下載源碼並測試的過程.

1,打開源碼里面的socketTask.lua 文件

 

 

2,更改為自己的TCP服務器的ip地址和端口號

 

 

3,把這節的代碼下載到模組里面

注意哈,一定要使用這節里面的lib庫函數, 把所有的文件都添加進去就可以

 

 

 

 

 

 

 

 

 

 

4,調試助手會顯示連接, 服務器給客戶端發送消息, 客戶端會返回接收的消息

 

 

 

5,上面就實現了Air724控制控制CH395Q實現TCP客戶端和服務器進行通信

程序呢也很簡單, 官方都封裝好了, 咱就是直接用

 

 

 

 

 

 

 

 

現在看正常的獲取程序的步驟, 下載例程

1.要實現此功能需要下載最新的lib庫和demo

https://gitee.com/openLuat/Luat_Lua_Air724U/tree/beta/script_LuaTask

 

 

 

2.注意哈,下載的資料的lib和demo是全新的

 

 

3.例程路徑如下

其它功能大家伙自己去測試就可以了

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM