串口數(shù)據(jù)通信,當通信速率較快時可能會出現(xiàn)丟包現(xiàn)象,如計算機和單片機之間,當MCU接收端的數(shù)據(jù)緩沖區(qū)已滿,此時仍然有新的數(shù)據(jù)傳輸過來,接收端已沒有時間進行處理,就會導致丟包(數(shù)據(jù)丟失)。實際應用中經(jīng)常會遇到該類問題,本質(zhì)原因是設備的通信速率與處理能力不匹配,導致數(shù)據(jù)傳輸時丟包。
利爾達Cat.1模組具有硬件流控的功能,用戶可通過該功能來解決通信速率與MCU處理能力匹配失衡造成的丟包問題。硬件流控的原理非常簡單,當接收端接收到的數(shù)據(jù)處理不過來時,就向發(fā)送端發(fā)送不再接收的信號,發(fā)送端接收到這個信號之后會停止發(fā)送,直到收到可以發(fā)送的信號再繼續(xù)發(fā)送。因此硬件流控可以通過是否接收到指示信號防止數(shù)據(jù)丟失。
本文主要針對具有硬件流控功能的利爾達Cat.1模組,給出了對應的時序邏輯和測試方法,用戶可根據(jù)本文對MCU程序進行開發(fā),從而實現(xiàn)硬件流控串口通信。
環(huán)境搭建
01
軟件環(huán)境
通過AT指令AT+IFC=2,2開啟硬件流控。
注1:NT35E開啟硬件流控后會自動保存,復位后硬件流控仍保持開啟狀態(tài);
注2:NT26U和NT90則需要通過AT指令AT&W進行保存。
02
硬件環(huán)境
本次測試使用串口助手SSCOM模擬MCU對模組進行控制,USB轉(zhuǎn)串口工具如圖1所示。

圖1 USB轉(zhuǎn)串口工具
模組引腳連接示意圖如圖2所示。

圖2 引腳連接示意圖
硬件流控測試
CTS引腳是模組的輸入端,用于主機(MCU)通知模組是否準備好,模組是否可向主機(MCU)發(fā)送信息,低電平有效。
RTS引腳是模組的輸出端,用于模組通知主機(MCU)是否準備好,主機(MCU)是否可向模組發(fā)送信息,低電平有效。
01
模組CTS引腳測試
注:模組CTS引腳硬件流控測試,模組開啟流控功能,sscom未開啟流控功能。
硬件流控使能測試步驟如下:
1)懸空模組CTS、RTS引腳;
2)發(fā)送指令AT+IFC=2,2,開啟模組硬件流控;
3)進行正常的AT交互;
通過上述流程開啟硬件流控功能后,SSCOM將無法收到模組返回的消息。此時,使用萬用表測量模組的CTS和RTS引腳:
1)CTS引腳為高電平,即模組不會發(fā)送消息;
2)RTS引腳為低電平,即允許主機(MCU)發(fā)送信息;
未連接模組CTS、RTS引腳時,模組會接收到AT指令并正常執(zhí)行,但是由于模組認為主機沒有做好接收的準備,AT指令的執(zhí)行結果將暫存于模組的內(nèi)部緩存中,不會進行數(shù)據(jù)發(fā)送,所以SSCOM無法接收模組返回的消息。
拉低模組CTS引腳后,模組會一次性把緩存的數(shù)據(jù)輸出到SSCOM中,此時通過SSCOM進行AT指令通信(模組的CTS引腳接地),能夠立即接收到來自模組返回的消息。
根據(jù)以上的測試過程和結果可以得出,模組開啟硬件流控功能后CTS引腳功能正常。
02
模組RTS引腳測試
1)連接主機、模組CTS、RTS引腳;
2)發(fā)送指令AT+IFC=2,2,開啟模組硬件流控;
3)配置SSCOM,模擬主機開啟硬件流控;
4)進行正常的AT交互;

圖3 勾選SSCOM左下角的RST選項

圖4 使能sscom硬件流控
SSCOM按照配置完成后,確認模組AT通信正常,然后通過大數(shù)據(jù)交互觸發(fā)模組硬件流控功能。如圖5所示,創(chuàng)建一個txt文檔,內(nèi)部填入大量AT指令。

圖5 創(chuàng)建一個填入大量AT指令的txt文檔
通過SSCOM發(fā)送文件的功能,可快速向模組發(fā)送AT指令。在發(fā)送文件時把串口波特率修改為460800bps(AT+IPR=460800)以便觸發(fā)高速率通信下的硬件流控指示。

圖6 打開文件-發(fā)送文件
通過邏輯分析儀抓取模組TX、RX、RTS、CTS引腳波形,模組引腳與邏輯分析儀通道匹配如表1所示:

表1 模組引腳與邏輯分析儀通道匹配表
如圖7所示為發(fā)送文件時模組引腳波形圖,根據(jù)圖示可知當模組的緩存已滿,RTS引腳輸出高電平,模組RX引腳保持高電平,此時SSCOM不會向模組發(fā)送AT指令;由于SSCOM運行在電腦上,速度、緩存遠高于模組(不會發(fā)生阻塞),因此模組的CTS引腳始終保持低電平。
根據(jù)以上的測試過程和結果可以得出,模組開啟硬件流控功能后RTS引腳功能正常。

圖7 發(fā)送文件波形
-
硬件
+關注
關注
11文章
3594瀏覽量
69011 -
uart
+關注
關注
22文章
1314瀏覽量
106634 -
串口通信
+關注
關注
34文章
1662瀏覽量
57965 -
利爾達
+關注
關注
1文章
294瀏覽量
10574
發(fā)布評論請先 登錄
Cat.1網(wǎng)絡會取代NB-IoT技術嗎?
廣和通LTE Cat.1模組L610通過OpenHarmony兼容性測評
后疫情時代,利爾達Cat.1的智慧之路
基于Cat.1模組的共享家電解決方案優(yōu)勢分析
什么是Cat.1 Cat.1如何推動IoT發(fā)展
美格智能Cat.1模組順利通過多項國際認證
利爾達全球首發(fā)基于移芯EC618平臺的Cat1模組
基于移芯EC618平臺的利爾達模組—Cat.1的新選擇
Cat.1熱度居高不下?利爾達 NT26E系列模組帶來更多新選擇
Cat.1模組再添新選擇,利爾達推出NT26U提供多元應用思路
Cat.1熱度居高不下?利爾達 NT26E系列模組帶來更多新選擇!
Cat.1模組再添新選擇,利爾達推出NT26U提供多元應用思路
付款秒入賬?全靠利爾達這款Cat.1模組掃碼神器
利爾達NB-IoT &Cat.1 產(chǎn)測應用指導
蜂窩行業(yè)復蘇,利爾達Cat.1模組出貨量穩(wěn)步增長
利爾達Cat.1模組UART硬件流控說明
評論