基于A(yíng)RM9 AT91RM9200T的嵌入式網(wǎng)絡(luò )接口
其中,socket 層由專(zhuān)門(mén)用來(lái)處理Socket 的通用套接字管理軟件處理。Socket 為基于IP 的協(xié)議TCP 和UDP 管理傳輸端點(diǎn)。UDP(用戶(hù)數據報協(xié)議)是一個(gè)無(wú)連接協(xié)議, 傳輸UDP 包的時(shí)候,不關(guān)心是否它們安全到達了目的。而TCP(傳輸控制協(xié)議)是一個(gè)可靠的端對端協(xié)議。本系統采用可靠性連接的TCP網(wǎng)絡(luò )協(xié)議。
網(wǎng)絡(luò )程序是由客戶(hù)端和服務(wù)器端兩部分組成。服務(wù)器端建立步驟為socket-->bind-->listen-->accept??蛻?hù)端socket-->connect。Linux通過(guò)套結字socket和其他函數的調用進(jìn)行網(wǎng)絡(luò )通訊。返回的文件描述符,可以看成普通文件的描述符。通過(guò)向描述符讀寫(xiě)操作實(shí)現網(wǎng)絡(luò )的數據通訊,體現了linux 的設備無(wú)關(guān)性。以下是網(wǎng)絡(luò )程序部分函數:
3.2 Linux中網(wǎng)絡(luò )通信編程的實(shí)現
在編寫(xiě)網(wǎng)絡(luò )應用程序時(shí),需注意計算機中的數據存儲有兩種字節優(yōu)先順序:高位字節優(yōu)先和低位字節優(yōu)先。在互聯(lián)網(wǎng)上,是以高位字節優(yōu)先順序傳輸數據的。所以,對于在內部以低位字節優(yōu)先方式存儲的數據想在互聯(lián)網(wǎng)上傳輸需要進(jìn)行轉換。
下面給出部分Linux下網(wǎng)絡(luò )通信應用程序的源代碼實(shí)例。
其中,使用庫函數inet_pton()將輸入的字符串IP轉換為connect函數可識別的整數uiip。 本設計已在ARM9開(kāi)發(fā)板上實(shí)現了基于嵌入式網(wǎng)關(guān)的嵌入式系統網(wǎng)絡(luò )通訊。它結合目前飛速發(fā)展的32位嵌入式技術(shù),采用嵌入式Linux操作系統,源代碼開(kāi)放,應用豐富,內嵌嵌入式Web服務(wù)器,用于遠程控制、設置、和監視設備的狀態(tài)。通過(guò)以太網(wǎng)實(shí)現嵌入式系統與網(wǎng)絡(luò )服務(wù)器的信息傳遞以及音頻、視頻等占用大量帶寬的數據的傳輸,將以前單片機時(shí)代的低速傳輸模式升級為使用100M帶寬的TCP/IP網(wǎng)絡(luò )進(jìn)行通信。開(kāi)發(fā)者只須根據實(shí)際情況編寫(xiě)上層應用軟件,即可解決大多數的工控設備和通訊設備的網(wǎng)絡(luò )通訊問(wèn)題,實(shí)現“嵌入式Internet”。 本文作者創(chuàng )新點(diǎn):設計提出了基于ARM9的嵌入式網(wǎng)絡(luò )技術(shù),采用嵌入式技術(shù)和Linux 實(shí)時(shí)多任務(wù)操作系統應用于遠程控制和監視等數據的網(wǎng)絡(luò )傳輸,能充分利用現有網(wǎng)絡(luò )硬件設施,節約了開(kāi)發(fā)成本,縮短了開(kāi)發(fā)周期。本設計模式是工業(yè)控制網(wǎng)絡(luò )通訊的一個(gè)發(fā)展趨勢。若現有煤礦監控系統采用本模式,項目經(jīng)濟效益至少在30萬(wàn)元以上。
4結束語(yǔ)
tcp/ip相關(guān)文章:tcp/ip是什么
評論