<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于OMAP平臺的TCP/IP開(kāi)發(fā)及實(shí)現

基于OMAP平臺的TCP/IP開(kāi)發(fā)及實(shí)現

作者: 時(shí)間:2014-05-20 來(lái)源:網(wǎng)絡(luò ) 收藏

隨著(zhù)人們對智能化產(chǎn)品需求的增加,未來(lái)的嵌入式產(chǎn)品,包括各種家電、通信、PDA、儀器儀表等設備正逐漸走向網(wǎng)絡(luò )化,以共享互聯(lián)網(wǎng)中龐大的信息資源,因此使嵌入式設備的網(wǎng)絡(luò )化開(kāi)發(fā)有廣闊市場(chǎng)前景,由于嵌入式硬件資源有限,而傳統的等網(wǎng)絡(luò )通信協(xié)議對計算機存儲器、運算速度的要求較高,所以不能直接應用,為此,必須開(kāi)發(fā)一套適合嵌入式系統的、高度優(yōu)化的、最為精簡(jiǎn)的協(xié)議棧。

本文引用地址:http://dyxdggzs.com/article/247106.htm

開(kāi)放式多媒體應用平臺(Open Multimedia Application Platform)是美國德州儀器公司推出的高度集成的軟硬件平臺。具有獨特的雙芯結構,結合了DSP與RISC內核,可為無(wú)線(xiàn)多媒體設備提供獨一無(wú)二的性能和功耗優(yōu)勢,可連接十分豐富的外圍設備,包括USB、攝像頭、聲音設備、視頻設備、網(wǎng)絡(luò )設備等,OMAP擁有開(kāi)放式體系結構,其應用環(huán)境完全可編程。

軟件協(xié)議的設計與實(shí)現在很大深度上決定了通信終端的質(zhì)量,基于OMAP的3G移動(dòng)終端軟件協(xié)議結構由信令協(xié)議棧和應用業(yè)務(wù)協(xié)議棧組成,如圖1所示,協(xié)議棧位于應用業(yè)務(wù)協(xié)議棧的底層,為上層的H.323協(xié)議棧提供基礎與服務(wù),其性能質(zhì)量將直接決定整個(gè)通信終端軟件系統的運行質(zhì)量。因此,針對嵌入式系統聯(lián)網(wǎng)的發(fā)展方向,為OMAP系統其設計一套高效、簡(jiǎn)潔的TCP/IP協(xié)議,對其應用具有十分重要的意義。

 

 

1 開(kāi)發(fā)方案

PC上有功能強大的VC平臺和網(wǎng)絡(luò )分析工具(如Sniffer)便于調試,其設計不針對任何一個(gè)嵌入式芯片,具有較好的通用性和可移植性,在PC機上實(shí)現的TCP/IP協(xié)議,除了以太網(wǎng)層要結合OMAP平臺的網(wǎng)卡硬件重寫(xiě)外,基本上可以直接移植到OMAP平臺上,不需要再做大的改動(dòng),作為一個(gè)通信程序,必須需要兩端程序同時(shí)調試,在PC機上編好的程序能度OMAP平臺上程序的調試提供可靠的幫助,因此,協(xié)議開(kāi)發(fā)采用先模擬再移植、先整體再部分的設計思路,而協(xié)議各層實(shí)現的順序為自下而上。具體步驟是:

(1)在PC機上的Windows操作系統及VC6.0開(kāi)發(fā)平臺上,實(shí)現嵌入式系統TCP/IP協(xié)議族的模擬器,該模擬器應該能實(shí)現TCP/IP協(xié)議的基本功能,包括以太網(wǎng)驅動(dòng)程序、ARP、IP、UDP、TCP等,并且實(shí)現的ARP、IP、UDP、TCP層的程序應該通用于各嵌入式系統并可移植。

(2)將該模擬器移植到OMAP開(kāi)發(fā)平臺,用其以太網(wǎng)卡的驅動(dòng)程序替換原模擬器的鏈路層程序,在TI提供的CCS平臺上最終實(shí)現基于OMAP的TCP/IP協(xié)議。

2 開(kāi)發(fā)平臺

OMAP的多媒體開(kāi)發(fā)平臺Innovator主要由4個(gè)模塊組成:PM(處理器模塊)、IM(接口模塊)、M(擴展模塊)、BOB(主連接板)。OMAP處理器在PM上,以太網(wǎng)卡在BOB上,可以通過(guò)Innovator上的OMAP1510芯片的ARM微處理器對單片以太網(wǎng)控制器LAN91C96的工作進(jìn)行控制,實(shí)現以太網(wǎng)幀的收發(fā),并通過(guò)CCS對程序調試,圖2為OMAP平臺調試環(huán)境。

 

 

3 在PC上實(shí)現協(xié)議的基本模塊

3.1 主要模塊介紹

(1)主流程:首先對TCP/IP協(xié)議族的各層初始化,成功則進(jìn)入主循環(huán),主循環(huán)采用"中斷+循環(huán))"結構,簡(jiǎn)單且分層清晰,中斷作為應用層發(fā)出命令,調用下層的入口。對于接收到的以太網(wǎng)幀,則由下到上分別進(jìn)入各層進(jìn)行處理。協(xié)議實(shí)現主流程如圖3所示。

 

 

(2)PC上的以太網(wǎng)層:在內存中開(kāi)辟接收和發(fā)送兩個(gè)相同的循環(huán)緩沖區,用于存放接收和發(fā)送的以太網(wǎng)幀。 Winpcap軟件是基于Windows平臺的一個(gè)網(wǎng)絡(luò )包工具,它提供一個(gè)系統內核級的動(dòng)態(tài)鏈接庫Packet.dll作為標準的API,具有獨立于操作系統的編程接口。利用其提供的API可直接聯(lián)系網(wǎng)卡驅動(dòng)與已定義的循環(huán)緩沖區,將緩沖區中的數據發(fā)出,并將網(wǎng)卡接收的數據存入緩沖區。

(3)ARP層,在內存中開(kāi)辟一塊循環(huán)存儲區域用于存放已知的IP-MAC對應表,該表可以由上層添加,在接收到ARP應答時(shí)會(huì )自動(dòng)添加,也可以上層清空。處理ARP層函數的過(guò)程中:根據以太網(wǎng)首部協(xié)議字段過(guò)濾出ARP包,針對ARP請求與ARP應答進(jìn)行不同的處理,應答對方的請求,記錄對方的應答。

(4)IP層:根據以太網(wǎng)首部的幀類(lèi)型標注判斷接收到的是不是IP包來(lái)處理IP層函數,如果是:則調用IP包的接收函數,對給收到的IP包用各種條件進(jìn)行過(guò)濾,對于滿(mǎn)足條件的包獲取其長(cháng)度與指針信息供上層使用。本層另一個(gè)主要函數是IP包發(fā)送函數,由上層調用進(jìn)行IP封裝。

IP的檢驗和僅包括IP首部,長(cháng)度一般為20字節(如果沒(méi)有選項)。在接收端,丟棄檢驗和不為OxFFFF的包,在發(fā)送端,將計算所得值的反碼填入檢驗和字節,由于主機和網(wǎng)絡(luò )對數據中高低字節默認的順序不同,在讀寫(xiě)包中的16、32數據時(shí),應該先進(jìn)行高低字節的交換。

(5)UDP 層,處理UDP層函數應根據IP首部的協(xié)議字段判斷是否UDP包。如果是:則調用UDP包接收函數,用各種條件對其進(jìn)行過(guò)濾,提出UDP數據及各種有用信息,根據端口號提交給應用進(jìn)程處理,本層的另一個(gè)主要函數是UDP發(fā)送函數,實(shí)現封裝UDP包(包括載入UDP數據,計算并填入UDP首部信息),最后調用IP發(fā)送函數,較由IP層處理。

(6)TCP層:與UDP不同,TCP主機要進(jìn)行數據通信之前,必須與對方建立連。與幾個(gè)主機通信,就要建立幾個(gè)連接。然而,若要知道接收到的TCP包屬于哪個(gè)連接且使得幾個(gè)不同的連接之間獨立工作、互不干擾,則需要定義TCP的控制模塊,這里用一個(gè)結構體數組實(shí)現,存放所有關(guān)于連接的信息。

 

 

tcp/ip相關(guān)文章:tcp/ip是什么



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: OMAP TCP/IP

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>