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