基于TCP/IP的浮標網絡通信系統(tǒng)設計
3.2 網絡傳輸控制
通過Wiznet公司為W3100A專門提供的Socket API函數,可使網絡通訊的軟件設計更加方便。首先初始化W3100A的網絡設置,即在相應的寄存器中設置默認網關、子網掩碼、本機物理地址和IP地址,然后建立Socket連接以實現通訊。整個過程與Windows Socket編程十分類似。
建立TCP連接的流程如圖 9所示。首先完成芯片的TCP/IP初始化,設置相應通道如0通道的協議選擇寄存器C0_SPOR為0X01;選擇TCP協議,執(zhí)行通道0命令寄存器C0_CR中的sock_init命令位, 同時將C0_TW_PR、C0_TR_PR及C0_TA_PR置成同一值;然后執(zhí)行C0_CR的connect和listen命令位,此時TCP連接就建立起來。
W3100A內部的16KB的雙口RAM作為數據發(fā)送和接收緩沖。其中0x4000~0x5FFF的地址空間是發(fā)送數據緩沖區(qū),0x6000~0x7FFF的地址空間是接收數據緩沖區(qū)。MCU程序將要發(fā)送的數據寫入發(fā)送緩沖區(qū),并從接收緩沖區(qū)讀出收到的數據。當成批的數據發(fā)送時,一定要先查詢1次發(fā)送數據指針,從而計算出可以利用的發(fā)送緩沖區(qū)的大小。圖 10示意了TCP數據發(fā)送的程序流程。數據接收的過程與發(fā)送過程類似,在此不再贅述。
4、測試及分析
功能測試的關鍵在于對系統(tǒng)的可用性及穩(wěn)定性進行實驗。為此,建立了一個簡化通訊網絡,采用PC機作為通訊網絡的一個終端,浮標作為另一終端。通過測試兩者間的通訊情況來實驗本系統(tǒng)功能。
首先,測試網絡連接情況。作為必要的IP實驗,由PC機將PING命令發(fā)送給浮標,PC機顯示結果如圖 11所示。
在局域網暢通的情況下,理論上0字節(jié)的PING請求平均響應時間為1ms,實驗結果驗證了網絡連接的正常。
通過大量轉發(fā)數據的方法測試系統(tǒng)穩(wěn)定性。由PC機發(fā)送數據至浮標,浮標將數據直接轉發(fā)回PC機,PC機比較發(fā)出數據與接收數據,以判斷誤碼情況。室溫條件下,通訊距離100米,進行三組各持續(xù)10小時的收發(fā)實驗,無丟包現象,誤碼率10-9,符合設計要求。要指出的是,由于海況及通訊距離的不同,系統(tǒng)的傳輸誤碼率將有所不同,但在多數情況下該系統(tǒng)作為指令收發(fā)的通道是完全可靠的。
5、結論
TCP/IP協議在浮標系統(tǒng)中的應用極大的增強了浮標網絡的穩(wěn)定性及可擴展性。本設計采用MSP430微控制器及網絡協議棧W3100A很好地實現了浮標系統(tǒng)的低功耗網絡通訊系統(tǒng),為水聲信道匹配基礎研究提供了理想的網絡通訊保障。同時本設計也可以嵌入到其它設備中,如野外測量儀器、車載系統(tǒng)等,為更多的嵌入式系統(tǒng)提供網絡化服務,具有非常廣闊的應有前景。
tcp/ip相關文章:tcp/ip是什么
通信相關文章:通信原理
鎖相環(huán)相關文章:鎖相環(huán)原理
評論