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