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