• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 設計應用 > 基于ARM的Ad Hoc網絡平臺的實現

    基于ARM的Ad Hoc網絡平臺的實現

    作者: 時間:2011-08-29 來源:網絡 收藏

    功能概述

    本文引用地址:http://www.czjhyjcfj.com/article/155828.htm

      由于 網絡無中心、動態拓撲等特點,它需要各個節點都具有路由轉發功能。本文開發的 網絡節點通過在平臺上移植路由協議而了數據包轉發功能。

      

      圖1 節點轉發

      以圖1所示的網絡進行功能示意,其中A、B、D是普通的移動電腦終端,C是本文開發的平臺。A和D是通信的端點,D不在A的一跳范圍之內(A的覆蓋范圍如圖中虛線所示)。假設開始時B成為了A和D的中繼節點,完成A、D之間的數據轉發功能。當B節點出現故障時,C能自動代替B成為新的中繼節點,維持A、D之間的通信。

      該平臺除了路由協議以外,同時完成了ftp、iptables等工具的移植,還可以繼續增添語音、視頻等服務。

      硬件平臺

      以處理器為核心,無線網卡收到數據包后交給上層處理,需要發出的數據包也由處理器控制無線網卡來發出。當然SDRAM、閃存、電源這些模塊也是系統不可缺少的。

      本文采用ARM920T為內核的三星處理器S3C2410A。S3C2410A 是32位低功耗RISC處理器,同時支持Thumb 16位壓縮指令集,其工作頻率為203MHz。S3C2410A有292個管腳,集成了許多片上功能,例如以太網控制器、UART控制器、可編程I/O口及中斷控制器等。

      考慮到接口體積,該平臺選用USB接口的華碩WL-167g無線網卡,提供無線通信功能。

      硬件平臺設計結構如圖2所示。

      

    基于ARM的Ad Hoc網絡平臺結構

      圖2 硬件平臺結構圖

      在硬件調試中一個應該注意的問題就是S3C2410A的nWait引腳在不使用時應接上拉電阻,否則系統在啟動模式時將不能正常啟動。

      軟件平臺

      vivi是韓國MIZI公司開發的Bootloader,適用于ARM9處理器,其作用是初始化硬件設備、建立內存空間的映射圖,從而將系統的軟硬件環境設置成一個合適的狀態,以便為運行操作系統準備正確的環境。引導程序執行完后會將控制權交給內核(zImage),內核是操作系統的核心,內核需要的各種配置文件、數據及上層軟件都存放在根文件系統之中。整個軟件平臺的結構如圖3所示。

      

      圖3 軟件平臺示意圖

      內核鏡像的生成

      這里不贅述內核生成方法,需要注意此過程容易遇到三類錯誤:一是編譯出錯,應該檢查庫文件是否齊全,另外gcc版本太高也會導致編譯錯誤,重新安裝低版本gcc后即可解決;二是內核配置應將Default kernel command string設置為noinitrd root=/dev/mtdblock3 console=ttySAC0,115200 init=/linuxrc,“console=ttySAC0,115200”使內核啟動期間的信息全部輸出到串口0上,波特率為115200,“mtdblock3”代表第4個Nand閃存分區,該分區為根文件系統,init是指定啟動腳本,“init=/linuxrc”表示啟動初始化文件位置;三是應該在drivers/mtd/nand/s3c2410.c中,設置NAND_ECC_SOFT = NAND_ECC_NONE,這樣就關閉了ECC校驗。因為內核是通過vivi寫到Nand閃存中的,vivi使用的軟件ECC算法與內核中校驗算法不同。


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 乐安县| 乌拉特后旗| 马公市| 浏阳市| 永州市| 太湖县| 安福县| 沾益县| 石柱| 江津市| 兴海县| 读书| 黎城县| 雷山县| 安乡县| 澳门| 义马市| 阜新市| 宝应县| 灵丘县| 灵山县| 和顺县| 偃师市| 五寨县| 乡宁县| 文成县| 义乌市| 靖江市| 灵寿县| 睢宁县| 内丘县| SHOW| 英山县| 顺昌县| 中卫市| 浠水县| 芦溪县| 宜川县| 阿图什市| 内黄县| 潼关县|