久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

最新廣告
關注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
工業(yè)智能邊緣計算2025年會
CAIAC 2025
2025工業(yè)安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

基于嵌入式Linux平臺的多協(xié)議路由器設計
  • 企業(yè):控制網(wǎng)     領域:機器視覺    
  • 點擊數(shù):1724     發(fā)布時間:2005-07-11 12:45:51
  • 分享到:



    本文介紹在分級Ad Hoc網(wǎng)絡中多協(xié)議路由器的地位及功能,在此基礎上提出一種多協(xié)議路由器設計方案。結(jié)合設計方案,介紹實現(xiàn)方案中所采用的Motorola公司的ColdFire嵌入式處理器MCF5272、uClinux操作系統(tǒng),以及在該平臺上運行的路由協(xié)議A0DV。

    引言

    隨著社會信息化進程和互聯(lián)網(wǎng)的飛迅發(fā)展,對無線環(huán)境下提供數(shù)據(jù)服務的需求變得更加迫切。傳統(tǒng)的無線移動網(wǎng)絡通常以固定的基礎設施為支撐,無法滿足人們對日益增長的通信業(yè)務的要求,一種新型的無線網(wǎng)絡――AdHoc網(wǎng)絡應運而生。Ad Hoc網(wǎng)絡又稱移動自組網(wǎng)、多跳網(wǎng)絡,具備細網(wǎng)靈活、快捷,不受有線網(wǎng)絡的影響等特點,可廣泛應用于軍事和救援等無法或不便預先鋪設網(wǎng)絡設施的場合。此外,Ad Hoc網(wǎng)絡朝著網(wǎng)絡互連的方向發(fā)展,Internet的接入是其中一項主要內(nèi)容。

    Ad Hoc無線網(wǎng)絡具有自身的特殊性,在組建實際使用的無線工作網(wǎng)絡時,必須充分考慮網(wǎng)絡的應用規(guī)模和擴展性,以及應用的可靠程度及實時性要求,選擇合適的網(wǎng)絡拓撲結(jié)構。目前Ad Hoc無線網(wǎng)絡正朝著大規(guī)模方向發(fā)展,逐漸呈現(xiàn)分級化的趨勢,以兩級式的網(wǎng)絡為代表。在兩級式網(wǎng)絡中,拓撲如圖1所示。網(wǎng)絡分為骨干網(wǎng)、子網(wǎng)兩級。子網(wǎng)級中,每個子網(wǎng)都可以構成獨立的Ad Hoc網(wǎng)絡,可采用不同的路由協(xié)議。骨干網(wǎng)由多協(xié)議路由器節(jié)點和普通節(jié)點構成,其中,普通節(jié)點主要完成骨干網(wǎng)中的數(shù)據(jù)和控制信息的分發(fā);而多協(xié)議路由器除了具備普通節(jié)點的功能外還要負責實現(xiàn)對子網(wǎng)的管理、控制和數(shù)據(jù)交互,是骨干網(wǎng)的核心設備。

   多協(xié)議路由器的功能

   多協(xié)議路由器作為骨干網(wǎng)的一個節(jié)點,運行一定的Ad Hoc網(wǎng)絡路由協(xié)議,實現(xiàn)骨干網(wǎng)絡由尋址的功能。

   在分級式Ad Hoc網(wǎng)絡中,多協(xié)議路由器通過和子網(wǎng)網(wǎng)關進行交互實現(xiàn)對子網(wǎng)的管理。子網(wǎng)內(nèi)的通信類似于一般的Ad Hoc網(wǎng)絡;而子網(wǎng)間的通信需要通過子網(wǎng)網(wǎng)關節(jié)點和骨干網(wǎng)節(jié)點進行中轉(zhuǎn),可分為兩種情況―同一路由器下同構/異構子網(wǎng)間的通信以及不同路由器下同構/異構子網(wǎng)間的通信。為了實現(xiàn)子網(wǎng)間的有效通信,路由器需要完成多種協(xié)議之間的相互轉(zhuǎn)換。


    Internet接入的需求使得分級式Ad Hoc網(wǎng)絡必須存在一個接入點AP(Access Point)??紤]到網(wǎng)絡環(huán)境,這個功能需要由多協(xié)議路由器實現(xiàn)。

    綜上所述,多協(xié)議路由器主要實現(xiàn)骨干網(wǎng)路由尋址、協(xié)議轉(zhuǎn)換、Internet接入的AP三大功能。

    多協(xié)議路由器的設計

    一般情況下,Ad Hoc網(wǎng)中的路由器為車載式或背負式,所以多協(xié)議路由器必須有高集成度和移動性。考慮到以上因素,我們選用了現(xiàn)在最為流行的嵌入式系統(tǒng)設計方法,多協(xié)議路由器的硬件平臺的微處理器采用Motorola公司的ColdFire嵌入式處理器MCF5272,選擇uClinux作為平臺的操作系統(tǒng)。這樣不僅可以縮短研發(fā)周期,而且為軟硬件的設計、調(diào)試帶來極大的方便。

    多協(xié)議路由器硬件設計如圖2中的虛線框圖所示。路由器的硬件結(jié)構分為兩部分:一部分為核心模式(MCF5272)部分,由微控制器模塊和存儲器模塊(包括SDRAM和Flash)組成;另一部分為通信接口模塊部分,由異步串行控制和收發(fā)模塊、以太網(wǎng)控制和收發(fā)模塊及通用串行總線USB(Universal Serial Bus)接口模塊組成。

    核心模塊部分,微處理器模塊主要負責處理數(shù)據(jù)。存儲器模塊分為兩部分:一部分為Flash(由兩片F(xiàn)lash構成,共4MB),作為程序存儲器,用于存儲操作系統(tǒng)內(nèi)核、各種路由協(xié)議和路由表常量;另一部分為SDRAM,作為數(shù)據(jù)存儲器,用作操作系統(tǒng)和各種路由程序的運行空間。

    通信接口模塊中,異步串行控制和收發(fā)模塊用于與多個骨干網(wǎng)節(jié)點無線連接的同時,連接多個子網(wǎng)網(wǎng)關PRU(即分組無線控制單元)。以太網(wǎng)控制和收發(fā)模塊可以實現(xiàn)Internet接入功能。USB接口模塊用作連接網(wǎng)絡設備控制終端,以及實現(xiàn)路由器對USB設備(如USB標準的移動硬盤,用來存儲重要的路由信息)的存儲控制。

    圖2中的PRU(Packet Radio Unit),在這里相當于路由器的輔助處理器,用于對接收到的無線子網(wǎng)分組進行預處理。

    多協(xié)議路由器的實現(xiàn)

    硬件平臺的建立

    使用嵌入式系統(tǒng),必須為硬件平臺選擇一個適合的微處理器,而選擇適用于路由器的微控制器MCU一般要考慮以下幾個方面:處理速度、總線寬度、集成度以及性價比。綜合考慮了上述幾個方面,我們最終選用Motorola ColdFire 5272(以下簡稱MCF5272)為主控CPU。MCF5272是Motorola推出的一款高集成度的32位ColdFire微處理器,有很強的通信處理能力和較高的性能價格比,很適合用于中小型網(wǎng)絡的控制設備。

    MCF5272采用ColdFire V2可變長RISC處理器核心和DigitalDNA技術,在66MHz時鐘下能達到63Dhrystone2.1MIPS的優(yōu)良處理能力。其內(nèi)部SIM單元(System Integrated Module)集成了豐富的通用模塊,如10/100Mbps快速以太網(wǎng)控制器、USB1.1接口等,并且能夠與常用外圍設備(如SDRAM、ISDN收發(fā)器)實現(xiàn)無縫連接。

    MCF5272內(nèi)部集成了4KB的SDRAM(靜態(tài)RAM)、片外擴展的Flash(閃爍存儲器)和SDRAM(同步動態(tài)RAM)。

    MCF5272集成了豐富的外圍設備及其接口,主要包括2個通用異步串口收發(fā)模塊,1個自適應快速以太網(wǎng)媒體接入控制器模塊,1個USB控制器(作為從設備)模塊。

    按照圖2所示的路由器設計,需要在MCF5272的基礎上進行一定的擴展。多協(xié)議路由器需要連接多個子網(wǎng)和骨干網(wǎng)節(jié)點,而MCF5272只集成了2個UART控制器,因此在異步串行擴展和收發(fā)模塊中利用ST 16C554擴展了4個UART控制器,從而保證某個多協(xié)議路由器在與其它2個骨干網(wǎng)節(jié)點相連的同時,可以與4個子網(wǎng)相連。在USB接口模塊中,使用MCF5272集成的USB控制器(從設備)作為網(wǎng)絡管理控制終端,另外擴展了1個主USB控制器實現(xiàn)路由器對USB設備的存儲控制。利用MCF5272集成的快速以太網(wǎng)媒體接入控制器,擴展一個外部適配器(收發(fā)器)后可以實現(xiàn)接入以太網(wǎng)的功能。

    經(jīng)以上步驟,我們得到了多協(xié)議路由器的硬件平臺。

    操作系統(tǒng)uClinux

    由于硬件的限制,嵌入式系統(tǒng)通常只具有極稀少的硬件資源,如主頻較低的CPU、較小的內(nèi)存等。Linux是一種很受歡迎的類Unix操作系統(tǒng)。它免費并開放源代碼,在個人計算機、服務器領域應用廣泛。更重要的是,Linux采用模塊化設計,實際應用中可以定制,因此Linux也適用于嵌入式領域。

    MCF5272是一種沒有MMU的微處理器,故我們選擇了專為嵌入式NOMMU微處理器定制的操作系統(tǒng)uCLinux、uClinux正是Linux的一個嵌入式版本,其內(nèi)核的二進制映像文件可以做到小于512KB。UClinux支持多任務,支持多種文件系統(tǒng),具有完備的TCP/IP協(xié)議棧,并支持多種網(wǎng)絡協(xié)議,可滿足Ad Hoc網(wǎng)絡節(jié)點接入Internet的需要。另外,uClinux可移植性很強,用戶通過重新配置、編譯內(nèi)核,能很方便地將其移植到多種處理器計算平臺。

    嵌入式Linux移植技術是從事嵌入Linux開發(fā)的一項關鍵技術,要求開發(fā)人員對Linux內(nèi)核有相當程度的理解,具備修改內(nèi)核的能力。下面簡單介紹uClinux的移植過程。

    (1)精簡內(nèi)核

    精簡內(nèi)核構造內(nèi)核的常用命令包括:make config、dep、clean、mrproper、zImage、bzImage、modules、modules_install??墒褂眠@些命令把所有可以去掉的選項都去掉,盡可能地精簡內(nèi)核。

    (2)修改硬件相關代碼

    作為源泉代碼公開的操作系統(tǒng),uClinux源碼可以從www.uClinux.org獲得。系統(tǒng)啟動過程中,需要添加三個文件:crt0_rom.s、sysinit.c和rom.ld。crt0_rom.s可以由crt0_ram.s修改得到,它提供一個ROM矢量表以供CPU上電時讀取,初始化CPU寄存器,設置程序堆棧,并最終跳轉(zhuǎn)到uClinux內(nèi)核。Sysinit.c針對實際情況做必要的修改,主要就實際占用的片選資源CS0~CS7、SDRAM控制寄存器SDCR、SDTR作一些修改以適應硬件平臺。rom.ld文件用于計算ROMFS文件系統(tǒng)的二進制映像romfs.img在ROM中的實際存放地址。

    (3)修改啟動腳本

    在uClinux完成內(nèi)核初始化之后,由init(void *)內(nèi)核調(diào)用/bin/init,然后執(zhí)行/etc/re腳本的命令??梢岳眠@個腳本完成系統(tǒng)上電后的自動配置,或運行用戶程序。


  (4)內(nèi)核配置與編譯

    需要建立一個交叉編譯環(huán)境來完成內(nèi)核和應用程序的編譯,生成ROMFS文件系統(tǒng),并最終形成一個固化文件。www.uClinux.org也提供這樣一個工具包。正確安裝后,就可以進行編譯了。首先進入源代碼目錄uClinuxdist,執(zhí)行make xconfig,在彈出的對話框中選擇“Target Platform Selection”,然后進行相應配置。配置完畢后,在源代碼目錄執(zhí)行“make dep”以及“make”,就得到了所要的二進制內(nèi)核映像image.bin,可以直接下載到硬件平臺運行。

    路由器軟件

    移植成功后的uClinux操作系統(tǒng)只向用戶提供了一個最基本的系統(tǒng)平臺,針對實際應用還必須編寫用戶所必需的驅(qū)動程序和應用軟件。MCF5272集成了2個UART控制器、1個從USB控制器和1個以太網(wǎng)控制器。我們又擴展了1個主USB控制器和4個UART控制器,為這些設備編寫相應的驅(qū)動程序,并且在uClinux和驅(qū)動程序的基礎上,實現(xiàn)路由器軟件(包括路由模塊、協(xié)議轉(zhuǎn)換模塊和無線網(wǎng)絡節(jié)點瀏覽Internet代理模塊)。

    在路由模塊中,可根據(jù)具體的情況選擇適當?shù)穆酚蓞f(xié)議進行加載。根據(jù)實際情況,在骨干網(wǎng)中采用按需路由協(xié)議AODV。其基本實現(xiàn)思想是:當骨干網(wǎng)某一路由請求節(jié)點有分組發(fā)送并發(fā)現(xiàn)沒有到達目的節(jié)點的有效路由時,它將啟動路由建立過程,即組建一個路由尋找分組RREQ(Route Request Message)并在網(wǎng)絡中泛洪尋址。路由表中有到目的節(jié)點有效路由,并組建一個路由響應分組RREP(Route Reply Message)并反向回播給路由請求節(jié)點建立路由,否則繼續(xù)泛洪RREQ分組。如果路由請求節(jié)點再收到RREP分組,說明網(wǎng)絡中已經(jīng)建立到目的節(jié)點的路由,可以直接發(fā)送數(shù)據(jù)分組,否則可能繼續(xù)發(fā)起下一次路由建立過程,也可以對數(shù)據(jù)丟棄處理。這里值得注意的是,每一個節(jié)點在接收RREQ的時候會反向建立到路由發(fā)起節(jié)點的路由(反向建鏈過程),以使得RREP可以沿此路徑返回源節(jié)點;同時,每個節(jié)點在接收RREP的時候會正在向建立到目的節(jié)點的路由(正向建鏈過程)以使得分組可以沿此路徑將分組傳輸給目的節(jié)點。在上述尋找路由的過程中,RREQ和RREP中均包含路由信息和節(jié)點的序號標識,以用來進行路由更新及避免路由閉環(huán)。

    結(jié)語

    近年來,嵌入式系統(tǒng)與Linux系統(tǒng)的有機結(jié)合,已廣泛應用于網(wǎng)絡通信、工業(yè)控制、機頂盒 、PDA等諸多領域。本文提出了一種基于嵌入式Linux平臺的多協(xié)議路由器的設計方案,目前該設計方案已經(jīng)實現(xiàn)。實踐證明,此多協(xié)議路由器易于實現(xiàn)、性能穩(wěn)定、運行效率較高,可應用于分級式Ad Hoc網(wǎng)絡。

熱點新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 日韩黄色一级片| 免费国产精成人品| 国产在线视频h| 久久国产精品1区2区3区网页| 三级 在线播放| 全黄一级裸片视频在线观看| 黄色毛片网站| 毛茸茸年轻成熟亚洲人| yy4080一级毛片免费观看| 成人在线激情视频| 国产精品页| 国产小视频在线播放| 1769国产精品免费视频| 亚洲一级网站| 国产一区二区三区视频| 91精品国产91久久久久福利| 日韩爆操| 一区二区不卡在线观看| 在线观看一区二区三区视频| 国产综合日韩伦理| 国产福利视频一区二区微拍 | 小视频在线免费观看| 日韩免费视频网站| 亚洲精品第一页中文字幕| 国产三级在线观看播放| 精品成人一区二区| 久久精品这里有| 在线看片日韩| 久久毛片免费看| 在线黄色毛片| 欧美黄色性| 视色视频在线观看| 国产九色在线| 欧美一区二区三| 1024免费| 91短视频在线观看免费最新| 日韩亚洲欧美在线爱色| 极品蜜桃臀美女啪啪| 国产免费一级片| 黄色网页在线免费观看| 国产首页|