當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]引言隨著社會(huì)信息化進(jìn)程和互聯(lián)網(wǎng)的飛迅發(fā)展,對(duì)無(wú)線環(huán)境下提供數(shù)據(jù)服務(wù)的需求變得更加迫切。傳統(tǒng)的無(wú)線移動(dòng)網(wǎng)絡(luò)通常以固定的基礎(chǔ)設(shè)施為支撐,無(wú)法滿足人們對(duì)日益增長(zhǎng)的通信

引言

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

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

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

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

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

 

Internet接入的需求使得分級(jí)式Ad Hoc網(wǎng)絡(luò)必須存在一個(gè)接入點(diǎn)AP(Access Point)??紤]到網(wǎng)絡(luò)環(huán)境,這個(gè)功能需要由多協(xié)議路由器實(shí)現(xiàn)。綜上所述,多協(xié)議路由器主要實(shí)現(xiàn)骨干網(wǎng)路由尋址、協(xié)議轉(zhuǎn)換、Internet接入的AP三大功能。

多協(xié)議路由器的設(shè)計(jì)

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

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

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

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

 

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

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

硬件平臺(tái)的建立

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

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

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

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

按照?qǐng)D2所示的路由器" style="text-decoration:underline;color:blue">路由器設(shè)計(jì),需要在MCF5272的基礎(chǔ)上進(jìn)行一定的擴(kuò)展。多協(xié)議路由器需要連接多個(gè)子網(wǎng)和骨干網(wǎng)節(jié)點(diǎn),而MCF5272只集成了2個(gè)UART控制器,因此在異步串行擴(kuò)展和收發(fā)模塊中利用ST 16C554擴(kuò)展了4個(gè)UART控制器,從而保證某個(gè)多協(xié)議路由器在與其它2個(gè)骨干網(wǎng)節(jié)點(diǎn)相連的同時(shí),可以與4個(gè)子網(wǎng)相連。在USB接口模塊中,使用 MCF5272集成的USB控制器(從設(shè)備)作為網(wǎng)絡(luò)管理控制終端,另外擴(kuò)展了1個(gè)主USB控制器實(shí)現(xiàn)路由器對(duì)USB設(shè)備的存儲(chǔ)控制。利用MCF5272 集成的快速以太網(wǎng)媒體接入控制器,擴(kuò)展一個(gè)外部適配器(收發(fā)器)后可以實(shí)現(xiàn)接入以太網(wǎng)的功能。

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

操作系統(tǒng)uClinux

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

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

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

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

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

(2)修改硬件相關(guān)代碼

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

(3)修改啟動(dòng)腳本

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

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

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

路由器軟件

移植成功后的uClinux操作系統(tǒng)只向用戶提供了一個(gè)最基本的系統(tǒng)平臺(tái),針對(duì)實(shí)際應(yīng)用還必須編寫用戶所必需的驅(qū)動(dòng)程序和應(yīng)用軟件。MCF5272集成了2個(gè)UART控制器、1個(gè)從USB控制器和1個(gè)以太網(wǎng)控制器。我們又?jǐn)U展了1個(gè)主USB控制器和4個(gè)UART控制器,為這些設(shè)備編寫相應(yīng)的驅(qū)動(dòng)程序,并且在uClinux和驅(qū)動(dòng)程序的基礎(chǔ)上,實(shí)現(xiàn)路由器" style="text-decoration:underline;color:blue">路由器軟件(包括路由模塊、協(xié)議轉(zhuǎn)換模塊和無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)瀏覽Internet代理模塊)。

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

結(jié)語(yǔ)

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

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉