999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ZYNQ-7000 平臺無線自組網按需距離矢量路由協議實現研究

2023-11-13 16:10:12劉玉梅馬文進
應用科技 2023年5期
關鍵詞:嵌入式用戶系統

劉玉梅,馬文進

哈爾濱工程大學 信息與通信工程學院,黑龍江 哈爾濱 150001

隨著物聯網技術的發展,嵌入式系統在基礎與應用研究領域越來越重要[1]。嵌入式軟件系統的主要核心部件為微型嵌入式[2]處理器,硬件系統的框架主要包括硬件處理器、硬件存儲器、應用軟件和硬件I/O。嵌入式系統具有強大的實時性、系統內核小、功能專用性強、軟件系統功能精簡等優點,因此其應用已經深入到國防、科研以及日常生活等各個領域中[3]。

無線自組網按需距離矢量路由協議(Ad hoc on-demand distance vector routing,AODV)[4]是應用于無線Ad-Hoc 網絡[5]中進行路由選擇的路由協議,它能夠實現單播和多播,同時該協議是Ad Hoc 網絡中按需生成路由方式的典型協議,目前Ad Hoc 網絡中的AODV 協議的性能主要利用NS2 仿真軟件在理想環境中對該協議的端對端平均時延、路由開銷等性能進行評估,但是只依靠仿真無法反應在實際通信場景中環境因素對協議通信過程中的丟包率、時延等指標的影響,因此需要對AODV 協議在實際應用中的性能進行統計測試[6]。

AODV[7]路由協議有多種的實現的版本,例如 Mad-Hoc[8]、 AODV-UCSB[9]、 AODV-UU[10]、Kernel-AODV[11]和AODV-UIUC。其中,AODV-UU協議是由瑞典烏普薩拉大學(Uppsala University)聯合愛立信公司發布的一種路由協議,是一種穩定且開源的協議實現[12]。

AODV-UU 源代碼能夠在Linux-2.6[13]以及Linux-3.8 的內核版本中實現,但與當前主流的Linux-4.0 以上的版本不能兼容。本文在ZYNQ-7 000平臺下,研究了將AODV-UU 協議在嵌入式Linux-4.14 內核系統上實現的關鍵技術。

1 軟硬件平臺設計

1.1 硬件設計方案

1)PYNQ-Z2 開發板。為了方便上層應用程序在功能擴展時需要增加外圍設備的需求,在開發板的選型上選擇了由處理系統(processing system,PS)以及可編程邏輯(progarmmable logic,PL)共2 部分所組成的PYNQ-Z2 開發板。PYNQZ2[14]采用的是ZYNQ-7000 系列[15]的XC7Z020-1CLG400C 型號的系統級芯片(system on chip,SOC),內部異構了雙核ARM Cortex-A9 CPU 以及現場可編程門陣列(field programmable gate array,FPGA),具體的實現過程中用到了PS 部分中的USB、SD 卡、UART 以及Eth0 等接口[16],PYNQZ2 處理系統結構如圖1 所示。

圖1 PYNQ-Z2 處理系統結構

2)USB WiFi 網卡。網卡的選型需要與所工作的內核系統相適配,由于Linux-4.14 的內核系統可通過內部驅動支持RT5370 型號網卡,所以網卡最終選型為支持Ad Hoc 模式的RT5370。

3)Micro SD 卡。SD 作為內核鏡像、啟動文件、根文件系統以及協議可執行文件的存放載體,因此SD 卡需要能夠進行高速的數據讀寫并且容量最小為16 GB。

1.2 軟件設計方案

方案包括了硬件電路接口設計以及Linux 系統定制化設計2 個部分。使用Xilinx 公司的Vivado 軟件對硬件電路接口進行設計,Petalinux集成開發工具對Linux 系統內核、根文件系統、設備樹等完成定制化設計,避免了對各部分模塊的單獨設計與編譯。圖2 為軟件設計方案。

圖2 軟件設計方案

硬件電路接口設計中根據所需功能對PYNQZ2 開發板中的各個接口進行用戶設計。設計過程中針對開發板自身特性對PS 端的相關接口進行使能連通開發板中相關電路,對PL 端接口失能減少電路中的冗余部分,圖3 為最終的硬件電路設計圖。

圖3 ZYNQ 處理系統實現

在Linux 系統的定制化中對內核系統、根文件系統以及設備樹進行用戶級設計。

1)內核系統。AODV 協議在實際應用時要在無線網絡的環境中利用無線網卡進行通信。因此在進行內核系統設計時要支持IEEE 802.11 網絡協議棧、無線局域網以及與RT5370 網卡相關的驅動和網絡適配器。

2)根文件系統。根文件系統不僅能將初始化的進程從內核態引導入用戶態中,還可以存儲AODV 協議在實現過程中所用到的內核鏡像、啟動文件、網絡配置工具等需要永久保存的文件信息。操作系統默認的啟動方式是虛擬的根文件系統,因此需要將根文件系統的啟動位置改為由SD 卡啟動。

3)工程設備樹。設備樹的作用是對硬件中的外設進行驅動,設計過程中需要對開發板中的USB 接口進行驅動使得能夠正常地使用RT5370 網卡,驅動方式選擇了利用Petalinux 中的設備樹文件對USB 接口進行驅動。同一個設備樹文件可根據用戶需求同時驅動多個外圍設備,方便日后對外設驅動的擴展以及管理。

4)項目工程編譯。在軟件設計完成后對整個項目進行綜合編譯生成image.ub 鏡像文件并對uboot、fsbl 等文件進行打包生成BOOT.BIN 啟動文件。

2 AODV 協議實現

AODV-UU 是在Netfilter 功能框架的基礎上實現的,分為用戶層與內核層2 部分。路由功能模塊和轉發數據包模塊分別在用戶層和內核層實現,用戶層與內核層之間通過Netlink socket 套接字進行數據的雙向交互,運行機制如圖4 所示。

2.1 用戶層實現

用戶層中的aodvd 守護進程來實現AODVUU 協議的路由功能模塊,路由功能模塊根據路由協議算法計算出正確的路由后通過核心應用程序接口(application programming interface,API)來維護內核路由表。可以在保持轉發功能模塊不變的情況下通過修改路由功能模塊來實現AODV協議。

本次實現的嵌入式平臺系統為Linux-4.14,生成的aodvd 可執行文件需要在該系統中運行,因此將用戶層Makefile 中內核版本的路徑改為用戶所需的內核源碼路徑,編譯工具選擇使用交叉編譯工具,修改完成后對用戶模塊進行編譯生成aodvd 可執行文件,修改結果如圖5 所示。

圖5 Makefile 修改后文件

2.2 內核層實現

內核層的作用是對數據包進行通信管理,在進行發送或者轉發之前會檢查內核路由表中是否有該數據包的目的地址,有則直接發送數據,沒有則向用戶層的守護進程發起進行路由的查找請求,由守護進程發起路由查找。

內核層中的代碼與移植的內核版本相關,根據內核版本的變動對內核層中的模塊進行修改。與Linux-2.6 相比Linux-4.14 中負責用戶空間與內核空間通信的libipq 模塊被刪除,在實現過程中使用隊列來替代該模塊功能,實現后內核與用戶空間交互如圖6 所示。

圖6 通信交互機制

在代碼層級的實現過程中,最重要的改變是對netlink 套接字處理函數以及進程控制函數的改動。其中一個是使用nlmsg_put 函數來代替NLMSG_PUT 函數,該函數的作用是將發送的數據放入套接字緩沖區中。另外proc_net_create 函數被proc_create 函數代替,該函數的作用是允許AODV-UU 應用程序訪問內核中的路由表。最后根據內核版本的改動,刪除和替換了相應宏函數以及宏定義等參數,例如對RW_LOCK_UNLOCK宏函數中的實參做出了修改等。

2.3 內核層編譯

為了更好地兼容使用Petalinux 工具生成的內核鏡像與啟動文件,在進行內核層模塊編譯時同樣使用Petalinux 工具對模塊進行編譯。首先在項目中創建1 個名稱為kaodv 的模塊。將AODVUU 中lnx 目錄中的內核層源文件移植到kaodv 模塊的file 文件夾中,修改kaodv.bb 文件以便將內核層中的源文件在編譯過程中加載入該模塊中,修改結果如圖7 所示。

圖7 kaodv.bb 實現

進入file 文件夾中,原本AODV-UU 內核層中的Makefile 文件與Petalinux 中動態模塊的編譯不兼容,需要對其模塊中的Makefile 文件進行重寫,重新定義導出模塊的名稱以及需要導出的測試源文件,修改完成后對新建模塊進行編譯生成kaodv.ko 動態加載模塊,文件修改結果如圖8所示。

圖8 kaodv 模塊中Makefile 實現

3 AODV 協議組網通信

3.1 WiFi 網卡配置

AODV 協議在實際應用中需運行在Ad Hoc 網絡中,因此以節點C 為例對無線網卡進行以下配置:步驟1)、2)設置網卡模式與essid 分別為Ad Hoc 與aodv;步驟3)、4)設置網卡的IP 地址;步驟5)為檢測無線網卡能否正常工作,網卡具體配置步驟為:

1) iwconfig wlan0 mode ad-hoc;

2) iwconfig wlan0 essid “aodv”;

3) ifconfig wlan0 up;

4) ifconfig wlan0 192.168.6.8;

5) iwlist wlan0 scanning aodv。

3.2 連通性測試

本次測試在Ad Hoc 網絡中進行,其中節點A 為虛擬機,節點B 與節點C 為PYNQ-Z2 板卡。將節點設為同一局域網段后節點之間相互連通,此時的網絡拓撲結構如圖9 所示,由圖10、11 可知3 個節點互相連通,并且TTL 為64 說明節點之間可以經過一跳到達。

圖9 點對點單跳節點間連通

圖10 節點A 與節點B、C 連通

圖11 節點B 與節點C 連通

使用iptables 工具屏蔽節點A 與節點C 的物理地址,此時網絡拓撲結構如圖12 所示,節點A 再次對節點C 發送報文,此時2 個節點無法連通,如圖13 所示。

圖12 點對點單跳節點不連通

圖13 節點A 與節點C 不連通

最后網絡中各節點都運行AODV 協議,首先使用insmod kaodv.ko 命令加載kaodv.ko 模塊,然后節點運行aodvd 程序,此時節點A 與節點C 會將鄰居節點B 的IP 地址加入到內核路由表中,節點B 將鄰居節點A、C 的IP 地址加入到內核路由表中,此時的網絡拓撲結構如圖14 所示。隨后由節點A 向節點C 發送報文結果如圖15 所示,此時節點A 與節點C 再次連通并且存活時間(time to live,TTL)值變為63,說明由節點A 經過兩跳途經節點B 到達節點C,使用tracepath 命令進行路由追蹤可知節點A 經過節點B 后到達節點C,路由信息如圖16 所示,由測試結果可知AODV 協議在嵌入式Linux-4.14 系統中測試成功。

圖14 運行AODV 協議后拓撲結構圖

圖15 運行aodvd 后節點A 與節點C 連通

圖16 節點A 到節點C 的路由追蹤

3.3 實際通信測試

在實際的通信測試中,通過上層應用程序由節點C 持續不斷的向節點A 發送報文,在測試中每個時間段測試5 次取平均值得到網絡中的平均丟包率、平均往返時間以及平均吞吐量等性能指標。

往返時延(round-trip time,RTT)指數據包由節點C 發送數據到節點C 接收到節點A 的確認總共經過的時延。圖17 顯示了節點之間各時間段內的平均往返時間保持在27 ms 左右。

圖17 平均往返時間測試結果

吞吐量指節點A 在單位時間內接收到節點C 的數據量。圖18 顯示了網絡中2 個節點之間各時間段內的平均吞吐量保持在70 kb/s 附近。

圖18 平均吞吐量統計結果

丟包率指傳輸中所丟失數據包占所發送數據包的比率。圖19 顯示了網絡中各時間段內的平均丟包率在500 s 之后逐漸趨近于0.4%。

圖19 平均丟包率統計結果

4 結束語

本文概述了PYNQ-Z2 平臺的軟硬件性能,介紹了Petalinux 工具在移植過程中的作用,分析了AODV-UU 協議的運行機制并以PYNQ-Z2 為例研究了AODV 協議在嵌入式Linux-4.14 系統上的實現方案,解決了AODV 協議在當前嵌入式Linux系統中的實際應用問題,最后對協議在實際通信過程中的平均往返時間、平均丟包率等性能指標進行了測試,測試結果表明各性能指標良好具備實際應用價值。

猜你喜歡
嵌入式用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 日韩 欧美 小说 综合网 另类| 小说 亚洲 无码 精品| 国产黑人在线| 国产人成乱码视频免费观看| 97成人在线视频| 色婷婷国产精品视频| 五月婷婷亚洲综合| 国产亚洲日韩av在线| 91精品国产91欠久久久久| 国产香蕉一区二区在线网站| 亚洲资源站av无码网址| 午夜国产精品视频| 成人一级免费视频| 亚洲AV无码不卡无码| 一级毛片免费高清视频| 亚洲黄网在线| 亚洲综合狠狠| 亚洲精品男人天堂| 99久久亚洲精品影院| 亚洲嫩模喷白浆| 婷婷亚洲视频| 欧美www在线观看| 天天干伊人| 国产福利观看| 色老头综合网| 国内精品视频区在线2021| 亚洲性视频网站| 91精品专区国产盗摄| 亚洲欧美成人综合| 美女视频黄又黄又免费高清| 精品久久综合1区2区3区激情| 亚洲国产精品久久久久秋霞影院| h视频在线观看网站| 国产成人精品无码一区二| 在线亚洲天堂| 欧美成人综合在线| 毛片久久网站小视频| aa级毛片毛片免费观看久| 日韩免费无码人妻系列| Aⅴ无码专区在线观看| 国产精品性| 亚洲最新在线| 国产手机在线观看| 尤物午夜福利视频| 91毛片网| 午夜毛片免费观看视频 | 亚洲综合经典在线一区二区| 免费av一区二区三区在线| 欧美天堂久久| 亚洲天天更新| 亚洲无码精彩视频在线观看| 欧美精品v| 美女毛片在线| 亚洲男人在线| 国产白浆视频| 国产精品免费电影| 国产亚洲精| 国产极品美女在线| 91口爆吞精国产对白第三集| 国产亚洲精品自在线| 九九九精品视频| 国产在线第二页| 国内精品小视频在线| 丁香六月激情婷婷| 中国精品久久| 欧美精品一二三区| 国产精品女人呻吟在线观看| 丁香六月综合网| 欧美亚洲综合免费精品高清在线观看| 福利片91| 国产手机在线观看| 91精品啪在线观看国产91九色| 国产在线98福利播放视频免费| 青青草原偷拍视频| 国产一区二区在线视频观看| 9cao视频精品| 国产精品护士| 日韩高清成人| 国产精品黄色片| 色妞www精品视频一级下载| 免费a在线观看播放| 国产精品永久久久久|