西安跳跳通的T3W、T3S、T3M系列自組網(wǎng)電臺都具有串口透明傳輸功能,用于電臺外接的串口設(shè)備與串口設(shè)備、串口設(shè)備與網(wǎng)絡(luò)設(shè)備之間的數(shù)據(jù)進(jìn)行透明傳輸。其中,T3W系列電臺具有1~2個(gè)串口,串口電平為TTL或者RS232;T3S、T3M系列電臺具有1~3個(gè)串口,串口電平為TTL、RS232、RS422、RS485。具體串口數(shù)量和串口電平類型詳見產(chǎn)品規(guī)格說明書。這里描述操作使用由于圖片太多,只是摘取部分主要內(nèi)容呈現(xiàn)出來,完整詳細(xì)操作使用說明請聯(lián)系我
1. 串口功能和基本原理介紹
1.1. 使用方式
自組網(wǎng)電臺串口功能使用方式通常有兩種:
(1)串口和網(wǎng)口之間互相通信。
(2)串口和串口之間互相通信。
使用方式的選用要根據(jù)實(shí)際應(yīng)用來定,一般來說,方式1適合點(diǎn)對點(diǎn)、點(diǎn)對多點(diǎn)通信組網(wǎng)應(yīng)用,方式2僅適合點(diǎn)對點(diǎn)組網(wǎng)應(yīng)用。
原因:網(wǎng)口數(shù)據(jù)為TCP/IP數(shù)據(jù),以數(shù)據(jù)包的形式發(fā)送和接收,有完整的數(shù)據(jù)幀結(jié)構(gòu),包含源IP地址、目的IP地址、源端口號、目的端口號等,而串口數(shù)據(jù)與網(wǎng)口數(shù)據(jù)不同,為純數(shù)據(jù)流,以字節(jié)流的形式發(fā)送和接收,無電臺ID標(biāo)識,當(dāng)多點(diǎn)對一點(diǎn)匯聚時(shí),如果采取串口對串口的方式,接收端接收到的串口數(shù)據(jù)會發(fā)生錯亂,無法區(qū)分?jǐn)?shù)據(jù)來源于哪個(gè)節(jié)點(diǎn)。
1.2. 網(wǎng)絡(luò)協(xié)議
串口透明傳輸采用SOCKET代理技術(shù)實(shí)現(xiàn),代理使用的傳輸控制協(xié)議有兩種:分別是UDP和TCP。
UDP是一種面向無連接的不可靠的網(wǎng)絡(luò)傳輸協(xié)議,通常用于對可靠性要求不高、對傳輸延時(shí)要求高、數(shù)據(jù)包小且發(fā)送頻率較快的業(yè)務(wù)。 UDP 提供單播、多播、廣播功能,支持一對一、一對多、多對多、多對一的傳輸方式。
TCP是一種面向連接的可靠的網(wǎng)絡(luò)傳輸協(xié)議,通常適用于對可靠性要求高,對傳輸延時(shí)要求不高的業(yè)務(wù)。TCP相對于UDP傳輸?shù)亩喾N方式,只能支持一對一的傳輸方式,具有一定的局限性。
1.3. 基本原理
自組網(wǎng)電臺采用SOCKET代理的方式來實(shí)現(xiàn)串口數(shù)據(jù)的透明傳輸,即將串口和電臺的IP地址和端口號進(jìn)行綁定。
接下來詳細(xì)描述一下使用方式1,即電臺1的串口0和電臺2的串口0之間相互通信。
串口數(shù)據(jù)的發(fā)送過程:當(dāng)電臺該串口接收到數(shù)據(jù),就將數(shù)據(jù)交由SOCKET代理,根據(jù)用戶設(shè)置的網(wǎng)絡(luò)協(xié)議、目標(biāo)IP地址和端口號來進(jìn)行發(fā)送。
串口數(shù)據(jù)的接收過程:當(dāng)電臺在SOCKET代理的綁定的端口號上接收到數(shù)據(jù),就將該數(shù)據(jù)交給該串口進(jìn)行輸出。
具體設(shè)置如下:
電臺1的IP地址為192.168.1.201,串口0與端口號44320綁定;
電臺2的IP地址為192.168.1.202,串口0與端口號44320綁定;
電臺1和電臺2都設(shè)置為UDP傳輸協(xié)議。
電臺1的目標(biāo)IP和端口號指定為電臺2串口0綁定192.168.1.202和44320。
電臺2的目標(biāo)IP和端口號指定為電臺1串口0綁定192.168.1.201和44320。
此時(shí),電臺1的串口0收到外設(shè)的串口數(shù)據(jù),會自動交給通過SOCKET代理,通過UDP方式進(jìn)行傳輸,通過無線信道轉(zhuǎn)發(fā)至指定的目標(biāo)IP和端口號,即電臺2的端口號44320。電臺2會一直監(jiān)聽端口號44320,一旦接收到數(shù)據(jù),就將該數(shù)據(jù)交給串口0輸出,實(shí)現(xiàn)了電臺1的串口0數(shù)據(jù)發(fā)送至電臺2的串口0,同理,電臺2的串口0數(shù)據(jù)發(fā)送至電臺1的串口0。這樣就實(shí)現(xiàn)了電臺1的串口0和電臺2的串口0之間的雙向通信。
接下來描述使用方式2,即電臺1的串口0和電臺2的網(wǎng)口之間相互通信。
首先描述電臺1的串口0發(fā)送至電臺2網(wǎng)口經(jīng)由網(wǎng)線所連接的終端的發(fā)送過程,電臺1的串口0到收到外設(shè)數(shù)據(jù)之后,自動交給通過SOCKET代理,按照設(shè)定的傳輸協(xié)議(UDP或TCP)和指定的目標(biāo)IP和端口號,通過無線信道發(fā)送至相應(yīng)的連接至電臺2的應(yīng)用終端,該應(yīng)用終端APP使用了目標(biāo)IP和端口號。
其次描述電臺2網(wǎng)線連接終端發(fā)送數(shù)據(jù)至電臺1串口0的過程。電臺2網(wǎng)線連接終端APP,使用UDP或TCP傳輸協(xié)議,將數(shù)據(jù)發(fā)送給電臺1串口0綁定的IP地址192.168.1.201和端口號44320,電臺1的SOCKET代理收到目標(biāo)IP為自己并且端口號為44320的數(shù)據(jù)后,直接將其交給串口0輸出。
2. 串口通信故障排查
在實(shí)際應(yīng)用過程中,用戶偶爾遇到串口通信不正常的問題。要求大家在知道簡單原理的基礎(chǔ)上,首先確認(rèn)電臺是否已經(jīng)組網(wǎng)連接,然后學(xué)會檢查連接線序是否正確,確認(rèn)串口軟硬件是否正常,確認(rèn)串口電平類型是否一致,仔細(xì)檢查串口配置是否正確,合理使用調(diào)試輔助軟件,用好回環(huán)測試方法,分步逐段測試來定位問題。
2.1. 查看PC串口驅(qū)動是否正常
選擇計(jì)算機(jī)->右鍵->屬性->設(shè)備管理器->端口(COM和LPT)查看驅(qū)動是否安裝成功。注意:如果有多個(gè)串口設(shè)備,在不確定是否有正在測試的串口設(shè)備,通過拔插串口連接的方式,查看串口設(shè)備端口號是否會消失和重新恢復(fù)顯示,確定對應(yīng)的串口以及驅(qū)動是否正常。如果沒有消失然后顯示的現(xiàn)象,則可能串口驅(qū)動有故障,請正確安裝串口驅(qū)動。
2.2. 查看PC串口參數(shù)配置是否正確
查看PC端的串口參數(shù),主要有以下參數(shù):
波特率:與電臺對應(yīng)串口必須一致;
數(shù)據(jù)位:8bit;
校驗(yàn)位:NONE;
停止位:1bit;
2.3. 確認(rèn)串口電平類型是否匹配
串口電平類型有TTL,RS232、RS422、RS485等,串口通信的兩端必須使用相同的電平類型,否則不能正常通信。也就是說:TTL與TTL連接,RS232與RS232連接, RS422與RS422連接,RS485與RS485連接。如果一端是TTL,另一端是RS232,由于表述0和1采用的電平不同,肯定不能正常通信,會呈現(xiàn)亂碼。大家在排查過程中,一定要注意。
在這里要強(qiáng)調(diào)和建議的是,TTL抗干擾性能差,誤碼率高,不建議使用,原因很簡單,這與TTL表示0和1的電平機(jī)理有關(guān)。
TTL電平物理定義
輸出:邏輯1:高電平>=2.4V,邏輯0:低電平<=0.4V;
輸入:邏輯1:高電平>=2.0V,邏輯0:低電平<=0.8V。
RS232電平物理定義
邏輯1:-3~-15V的電壓
邏輯0:+3~+15V的電壓
關(guān)于不同串口電平類型的具體含義請百度學(xué)習(xí)了解。
2.4. 查看電臺串口參數(shù)配置是否正確
查看電臺的串口參數(shù)是否一致,主要有以下參數(shù):
串口類型要正確,選擇所使用的串口;
數(shù)據(jù)模式要一致,指參與通信的電臺的串口;
波特率必須要一致,包括電臺和外設(shè);
IP地址需要正確配置,詳見第3節(jié);
端口號需要正確配置,詳見第3節(jié);
2.5. 查看串口連接線序是否正確
線序是否匹配,通常有如下兩種測試方法:
1) 萬用表測量。檢查串口針腳定義,線序以及線纜連接是否正常。
2) 更換線序。有時(shí)候不確定串口針腳與TXD和RXD的對應(yīng)關(guān)系,可以嘗試更換線序進(jìn)行測試。
2.6. 電臺串口單獨(dú)回環(huán)測試
電臺單獨(dú)回環(huán)測試指將本電臺串口的發(fā)(TXD)和收(RXD)短接進(jìn)行測試,此時(shí),電臺串口自發(fā)自收,用于排查本電臺硬件接口是否正常;下面以電臺1舉例,PC IP地址為192.168.1.10,PC網(wǎng)線連接電臺的網(wǎng)口,具體設(shè)置如下:
1)網(wǎng)絡(luò)調(diào)試助手設(shè)置如圖12所示
協(xié)議類型選擇UDP;
本地IP地址設(shè)置為192.168.1.10;
端口號設(shè)置為44320;
目標(biāo)主機(jī)設(shè)置為192.168.1.201;
目標(biāo)端口設(shè)置為44320;
2)電臺1串口設(shè)置如圖13所示
串口類型選擇UART0(實(shí)際使用的串口)
波特率選擇115200;
IP地址設(shè)置為PC的IP地址192.168.1.10;
端口號設(shè)置為44320;
3)短接。用鑷子或者其他工具連接電臺串口0的針腳2和針腳3。
通過上述操作,如果網(wǎng)絡(luò)調(diào)試助手能夠收到自己發(fā)送的數(shù)據(jù),則證明電臺串口功能正常;如果收不到,請聯(lián)系公司的相關(guān)人員。
2.7. 使用串口調(diào)試助手輔助測試
在系統(tǒng)集成并且使用串口到串口數(shù)據(jù)透傳方式時(shí),如果出現(xiàn)串口通信不正常,在不確定連接電臺的外設(shè)(如無人機(jī)、無人車等)的串口功能是否正常的情況下,首先用PC模擬外設(shè),運(yùn)行串口調(diào)試助手來發(fā)送或接收數(shù)據(jù),排查電臺的串口功能是否正常。然后用同樣的方法,可以排查各種外設(shè)是否正常。
2.8. 使用網(wǎng)絡(luò)調(diào)試助手輔助測試
在系統(tǒng)集成并且使用串口到網(wǎng)口數(shù)據(jù)透傳方式時(shí),,如果出現(xiàn)通信不正常,,在不確定連接電臺的外設(shè)(如無人機(jī)、無人車等)的串口或網(wǎng)口功能是否正常的情況下,首先用PC模擬外設(shè),對于串口外設(shè),則使用調(diào)試助手,對于網(wǎng)絡(luò)外設(shè),則使用網(wǎng)絡(luò)調(diào)試助手來進(jìn)行排查測試。
2.9. 分段分步測試定位問題
系統(tǒng)集成通常是多種設(shè)備互相連接完成特定的系統(tǒng)功能,電臺和各種終端設(shè)置物理連接多采用網(wǎng)口和串口兩種方式,排查問題的時(shí)候,分段分步測試是一種很好的方式,先逐個(gè)設(shè)備檢查,確認(rèn)都正常后,再逐個(gè)增加設(shè)備組合測試,待正常后,再增加一個(gè)設(shè)備測試,直至整系統(tǒng),這樣便于定位問題,有可能是單個(gè)設(shè)備的問題,也有可能是兩個(gè)設(shè)備之間硬件連接的問題,也有可能是軟件設(shè)置的問題,總而言之,采用科學(xué)的方法和步驟,用好相應(yīng)的軟硬件輔助工具,良好的心態(tài)(靜心、細(xì)心),有助于快速定位并解決問題。
審核編輯:符乾江
評論
查看更多