www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]隨著人們對智能化產(chǎn)品需求的增加,未來的嵌入式產(chǎn)品,包括各種家電、通信、PDA、儀器儀表等設(shè)備正逐漸走向網(wǎng)絡(luò)化,以共享互聯(lián)網(wǎng)中龐大的信息資源,因此使嵌入式設(shè)備的網(wǎng)絡(luò)化

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

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

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

 

1 開發(fā)方案

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

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

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

2 開發(fā)平臺

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

 

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

3.1 主要模塊介紹

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

 

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

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

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

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

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

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

 

 

[!--empirenews.page--]

?

處理TCP層函數(shù),判斷接收包的類型,如果是TCP包,則調(diào)用TCP接收函數(shù),TCP接收函數(shù)用指定條件進(jìn)行過濾,找到該包所屬的連接或完成一個新連接的被動打開,根據(jù)TCP的狀態(tài)轉(zhuǎn)換則完成11種狀態(tài)的轉(zhuǎn)移,并且實(shí)現(xiàn)了多路數(shù)據(jù)同時(shí)、雙向的傳輸。

TCP的發(fā)送函數(shù)包括主動打開、主動關(guān)閉(由上層調(diào)用完成新連接的主動打開,或主動關(guān)閉一個已建立的連接)和發(fā)送控制包(用于TCP連接的建立與終止,會在TCP接收函數(shù)中調(diào)用,從而實(shí)現(xiàn)TCP的轉(zhuǎn)換)三個函數(shù)。

TCP層還實(shí)現(xiàn)了兩個定時(shí)器,TCP重傳定時(shí)器函數(shù)可提供服務(wù)可靠性的有效保障;TCP保活定時(shí)器能夠避免資源的浪費(fèi)。

3.2 程序特點(diǎn)分析

(1)簡單性:4.4BSD-Lite版的完整TCP/IP內(nèi)核實(shí)現(xiàn)大約有15 000行,而本程序源代碼約有1 400行,更適合嵌入式系統(tǒng)的應(yīng)用。

(2)可重用性:本程序分層清晰。對于不同的嵌入式系統(tǒng),可能使用的CPU和以太網(wǎng)卡不同,這就需要針對其特點(diǎn)的以太網(wǎng)層設(shè)計(jì),而ARP、IP、UDP、TCP則不需要改動。

(3)可拓展性:TCP/IP協(xié)議是底層網(wǎng)絡(luò)協(xié)議,本程序留有很好的接口,可在其上構(gòu)件更高層的網(wǎng)絡(luò)協(xié)議,包括H.323協(xié)議、ftp、telnet。

4 在OMAP平臺上的移植

4.1 單片以太網(wǎng)控制器LAN91C96

LAN91C96是SMSC公司生產(chǎn)的專門用于嵌入式產(chǎn)品的10Mbps以太網(wǎng)控制器,具有性能優(yōu)良,功耗低及尺寸小的特點(diǎn),如圖4所示。

 

6KB的RAM:用來存放數(shù)據(jù)包。

MMU:對RAM進(jìn)行有效管理,為接收和發(fā)送包在RAM中分配存儲空間。

ARBITE:使MMU和RAM與CPU、CSMA很好地連接。

CSMA/CD模塊:集成了IEEE 802.3 MAC層協(xié)議,負(fù)責(zé)監(jiān)聽網(wǎng)絡(luò)情況和地址過濾。若目的地址是LAN91C96的地址、廣播地址或多播地址,則接收此數(shù)據(jù)包,否則拋棄。

ENDEC:負(fù)責(zé)與10Mbps為以太網(wǎng)物理媒體的連接。

LAN91C96 采用地址映射方式,通過訪問Innovator為的指定地址對其存儲器訪問。LAN91C96的寄存器在Innovator內(nèi)存中的地址分配為:0x08000300-0x0800030F。寄存器共有4組(BANK0-BANK3),使用相同的地址,通過BANK_SELECT寄存器選擇。

4.2 移植過程

先實(shí)現(xiàn)該網(wǎng)卡芯片的驅(qū)動程序,再用它替換PC模擬器的以太網(wǎng)層,程序驅(qū)動主要包括以下三個部分:

(1)初始化:主要為Lan91C96的各寄存器填入正確的初始值使其正常工作。

(2)接收:如圖5所示,由CSMA(載波偵聽模塊)接收到符合地址要求的后,MMU(存儲器管理單元)為其請求在RAM中分配存儲空間并分配一個編號,DMA 將其存入RAM。接著在接收數(shù)據(jù)的前面封裝STATUS的化COUNT字節(jié)信息,如果CRC檢測正確,則將其編號放入接收FIFO,如果接收FIFO不為空,則RCV_INT(接收中斷標(biāo)識)被設(shè)置。檢查接收中斷寄存器狀態(tài),如果就接收中斷,對應(yīng)其編號,上層協(xié)議便可以取出數(shù)據(jù)了,取出后,將該數(shù)據(jù)編號從 FIFO中清除。

 

狀態(tài)字可以從RCR寄存器中讀取,它反應(yīng)了接收過程出現(xiàn)的各種措施,如CRC錯誤、接收幀過長等,數(shù)據(jù)包的編號從FIFO_PORTS寄存器中獲得,而數(shù)據(jù)指針可從POINTER寄存器中獲得,數(shù)據(jù)信息從DATA寄存器中得到,根據(jù)這些信息將接收數(shù)據(jù)包復(fù)制到CPU內(nèi)存,供上層使用,接收函數(shù)的主要流程如圖6。

 

(3)發(fā)送:圖7描述了發(fā)送數(shù)據(jù)包FIFO中的排隊(duì)過程,首先MMU在RAM中分配一定字節(jié)的存儲空間,然后,將分配結(jié)果寄存器中的編號放入PNR 寄存器,寫數(shù)據(jù)指針寄存器POINTER并將上層數(shù)據(jù)封裝后拷入DATA寄存器,根據(jù)其編號放入發(fā)送FIFO,排隊(duì)的包將自動發(fā)出,發(fā)出包的編號接著進(jìn)入發(fā)送完成FIFO。如果發(fā)送成功,則存儲空間自動釋放;否則釋放存儲空間并將其重新排隊(duì)。

 

5 實(shí)驗(yàn)結(jié)果

5.1 內(nèi)存資源占用量

運(yùn)行該TCP/IP協(xié)議棧需要3MB內(nèi)存,而Innovator體32MB SDRAM 和32MB Flash,內(nèi)存占用率為:3M/64M=4.7%,完全適用于嵌入式系統(tǒng)。

5.2 數(shù)據(jù)傳輸可靠性

TCP 利用以下機(jī)制糾錯。數(shù)據(jù)的傳輸過程中的誤碼:檢驗(yàn)和機(jī)制與重傳機(jī)制,數(shù)據(jù)的重復(fù),在接收端會自動舍棄已經(jīng)接收過的數(shù)據(jù)包,并且不發(fā)ACK,故不會發(fā)生一個數(shù)據(jù)包接收多次的情況,數(shù)據(jù)包的丟失,接收端在接收完一段數(shù)據(jù)后,會計(jì)算下一個預(yù)期數(shù)據(jù)的序號,如果不符合就不發(fā)ACK,從而導(dǎo)致發(fā)端重發(fā),避免了數(shù)據(jù)包的丟失,經(jīng)測試,在未發(fā)生擁塞情況下,傳輸?shù)恼`碼率幾乎為0。

5.3文件最大平均傳輸速率

下面就本程序所實(shí)現(xiàn)的利用TCP進(jìn)行文件傳輸功能,給出不同情況下的最大傳輸速率,實(shí)驗(yàn)環(huán)境為10Mbps以太網(wǎng)。

理想狀態(tài)下的理論最大吞吐量:假定發(fā)送方傳輸兩個背對背、滿長度的TCP數(shù)據(jù),接收方為其發(fā)出兩個ACK,每包中用戶數(shù)據(jù)量為1460位,總數(shù)據(jù)量為1538位,故最大的用戶數(shù)據(jù)吞吐量為:

 

本實(shí)驗(yàn)測得文件的平均傳輸速率隨著TCP連接數(shù)的增多有如圖8所示的曲線變化,前半段隨著連接數(shù)的增加成線性增長,后半段由于出現(xiàn)了網(wǎng)絡(luò)擁塞,整體的平均速率反而有所下降。

 

實(shí)驗(yàn)結(jié)果與理論最大吞吐量有所差距,原因在于:[!--empirenews.page--]

(1)理論上只是一種理想的狀態(tài),現(xiàn)實(shí)中難以達(dá)到。

(2)受CPU處理速度及文件傳輸過程的讀、寫文件操作的限制。

(3)本程序采用的數(shù)據(jù)傳輸機(jī)制是當(dāng)收到上一個包的ACK之后再發(fā)送下一個數(shù)據(jù)包,這樣避免了對接收數(shù)據(jù)的排序,提高了可靠性,但數(shù)據(jù)的傳輸速度會受到制約。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計(jì)中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計(jì)工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉