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

MT7620A平臺與OpenWRT的WiFi通信系統設計

2017-04-25 06:04:25湯永鋒龔云生
單片機與嵌入式系統應用 2017年4期
關鍵詞:網絡通信嵌入式機制

湯永鋒,龔云生

(1.華中科技大學 自動化學院,武漢 430074;2.黃石科威自控有限公司)

MT7620A平臺與OpenWRT的WiFi通信系統設計

湯永鋒1,龔云生2

(1.華中科技大學 自動化學院,武漢 430074;2.黃石科威自控有限公司)

主要介紹一種在嵌入式平臺上實現無線通信的方法,實現現場設備間的無線通信,同時,還具備將現場設備接入有線互聯網的功能。在硬件平臺上,本文選擇在聯發科芯片MT7620A上進行嵌入式開發,移植OpenWRT專業路由器系統,基于TCP/IP協議編寫網絡通信應用程序,實現網絡數據到串口數據的透明傳輸。通過實物測試和NS-2平臺無線通信仿真,對通信性能進行驗證,并最后成功應用在現場中。

無線通信;MT7620A;OpenWRT;NS-2仿真

引 言

當今世界比較成熟的無線技術主要有WiFi、藍牙、ZigBee等。WiFi具有速度快、覆蓋范圍廣、可靠性高等優勢,在消費電子、PC、移動通信三個領域占據著較大的份額[2];藍牙技術以其低功耗、傳輸距離短等特點在消費電子領域應用較為廣泛;ZigBee因低功耗、低價格等特點,主要應用于傳感器網絡中。

本文主要實現了WiFi技術應用于工業現場設備間的無線通信,基于現場設備的使用特點,開發出了WiFi到RS232/485、WiFi到以太網、以太網到RS323/485之間透明數據傳輸的嵌入式產品,并通過NS-2網絡仿真平臺,選擇最適合的TCP/IP無線通信參數,使得通信的穩定性、可靠性、實時性能夠滿足工業現場的使用。

1 開發環境介紹

1.1 硬件平臺

本文采用聯發科MT7620A作為主芯片,該芯片具有580 MHz的MIPS24KEc,32 KB的D-Cache,支持802.11b/g/n協議,300 Mbps的PHY,具有豐富的外設接口,如I2C、SPI、UART、JTAG、MDC、MDIO等,極大地滿足了工業現場的使用,支持WEP64/128、WPA、WPA2等WiFi加密技術,保證了無線通信的安全性,同時具有QoS功能,能夠實現工業現場的視頻傳輸,具有雙路天線接口,保證了良好的無線通信質量。DDR2采用了華邦的W25Q256系列,容量為2 GB,Flash芯片也是采用了華邦的MX25L系列,能夠存儲OpenWRT系統固件。

該芯片的主要系統框圖如圖1所示。

圖1 MT7620A芯片框圖

系統在電路設計中,主要包括處理器電路、DDR2電路、Flash電路、啟動配置電路、電源電路、外設接口電路這幾大部分。OpenWRT操作系統燒寫在Flash中,在上電啟動后,處理器根據啟動配置電路的電平配置,從Flash中讀取系統并在DDR2中運行。硬件系統框圖如圖2所示。

圖2 硬件系統框圖

啟動配置電路主要是在上電初始化階段,通過將相應的引腳配置為高低電平,使得處理器選擇相應的模式啟動。在本系統中,需要將處理器配置為DRAM自動檢測、外部晶振20 MHz、DDR2(CPU/3)FBGA、Normal mode(boot from SPI 3Byte Addr)。

電源電路是保證系統穩定運行的關鍵,提供穩定準確的電源能夠使系統更加穩定地運行。本電源電路采用了33063電源轉換芯片,將工業24 V電源轉換為5 V電源,同時通過AMS1117-3.3和AMS1117-1.8芯片將5 V轉為3.3 V和1.8 V電源。

外設接口電路主要是RS232/485電路、網絡電路、PCIe電路、SD卡電路等。其中RS232/485電路和網絡電路是主要部分。在工業現場中,設備主要是通過串口和網口進行數據傳輸,為此,PCIe電路和SD卡電路只將接口引出來,在需要時再進行外設擴展。

DDR2電路和Flash電路則按照芯片手冊提供的引腳接線圖進行連接,需要注意的是,在MT7620A處理器和DDR之間需要串接47 Ω的電阻,使得系統更加穩定運行。

1.2 操作系統移植

對于MT7620A芯片來說,OpenWRT和雷凌SDK均可以移植,但是從開放性和后期開發這兩個角度來說,OpenWRT更具有優勢。OpenWRT是一個開源社區開發的操作系統,已經支持大部分主流的CPU,目前支持4 000多種開源軟件。現在,越來越多的公司,如小米、360、apfree等,都是用OpenWRT來開發產品,因此本文選擇移植OpenWRT操作系統。

(1) OpenWRT系統簡介

OpenWRT是一個高度模塊化、自動化的嵌入式Linux系統,擁有強大的網絡組件和擴展性,常常被用于工控設備、電話、小型機器人、智能家居、路由器和VOIP設備中。

(2) OpenWRT系統移植步驟

從官網下載OpenWRT源碼之后,按照下面步驟進行系統移植:

① make menuconfig進行源碼基本配置,選擇合適CPU型號和子型號;

② 在源碼配置中,將Luci模塊編譯進內核,從而添加WEB界面;

③ 在源碼中,修改MT7620a.dts文件,添加WiFi功能;

④ 進行make編譯,將生成的內核鏡像通過網口下載至Flash中。

至此,已經基本完成了系統移植,此時,需要在源碼中修改一些配置文件,擴展外設。

該芯片有兩個串口,一個作為調試接口,打印內核信息,而第二串口和GPIO口是復用的,因此需要修改配置文件,將此引腳配置為串口模式,具體是修改target/linux/ramips/dts和target/linux/ramips/MT7620a.dts文件,將該引腳配置為UART功能使用。

2 MT7620A的WiFi協議棧設計

在工業現場中,工業設備一般只具有串口、普通網口等接口,為此,網絡通信程序的設計目的是實現有線接口數據(普通以太網、串口)到WiFi的轉發功能。

為了保證無線通信的穩定性與可靠性,采取TCP/IP協議進行程序設計,它與UDP協議不同,UDP協議是一種廣播式的協議,在工業現場中,通信的可靠性得不到保證。而TCP/IP是一種點到點的協議,具有擁塞避免和數據重發機制[3],在一定程度上,既保證了通信速率,又有一定的可靠性。

在Linux嵌入式系統中,可以采用socket編程實現TCP/IP通信程序。在預裝了ubuntu的PC機上,在OpenWRT源碼SDK中,進行socket應用程序的編寫,使用makefile進行文件管理,通過make編譯,可以生成.ipk安裝文件,通過FileZilla工具,將安裝文件拷貝到嵌入式板中,使用opkg install進行安裝,安裝完成后,可以在in目錄下看到安裝完成的應用程序,再在控制臺輸入這個應用程序就可以啟動。

2.1 TCP/IP程序設計

圖4 基本訪問機制

在socket網絡編程中,作為AP端,為了滿足多個客戶端同時連接和通信的需求,需要進行并發程序的設計,為此,需要采用select函數,該函數能夠監測哪些設備有消息到來,同時返回設備的文件描述符。在實現多路并發機制后,還需要讓網絡通信應用程序后臺運行,不占用控制窗口,因此,可以將該應用程序作為守護進程運行,脫離控制終端在后臺運行。

圖3 串口網絡通信流程圖

在應用程序的編寫中,首先使用select函數對設備文件進行監控,當設備有事件發生的時候,獲取該設備文件描述符。當文件描述符為網絡設備時,使用accept連接套接字,并且使用read函數讀取網絡數據,存儲在網絡接收緩存區中,并打開串口設備,將網絡接收數據通過串口設備發送到外部通過串口連接的工業設備中,完成網絡數據到串口數據的轉發。當串口數據到來時,根據同樣的原理,將串口緩存區的數據通過網絡設備發送。程序流程圖如圖3所示。

圖5 RTS/CTS訪問機制

2.2 RTS門限啟動閾值自調節

在IEEE802.11的MAC層中,最基本的媒體訪問控制機制是DCF。DCF最重要的任務就是控制共享同一無線信道的各站點對信道的訪問[6]。DCF有兩種訪問機制:基本訪問機制和RTS/CTS訪問機制。

基本訪問機制是DCF的核心機制,內部采用CSMA/CA機制避免訪問沖突。當站點在DIFS時間段內監測到信道空閑時,會向目的節點發送數據,目的節點若收到數據,會在SIFS后發送ACK,若沒有收到,會執行退避。其工作機制如圖4所示。

RTS/CTS訪問機制工作過程大致是源站點在等待DIFS時間后,會在發送數據之前發送一個請求發送幀RTS,若等待SIFS后收到CTS幀,則此時其他站點會根據RTS和CTS幀的持續時間來設置NAV,從而降低了多個站點同時發送數據的概率。其工作機制如圖5所示。

在無線通信中,系統的歸一化吞吐率會隨著站點數量、報文長度、訪問機制的不同而不同。在相同的幀長條件下,RTS/CTS機制下系統的歸一化吞吐率對站點數量不敏感,隨著站點數量的增加歸一化,吞吐率僅呈緩慢的變化。在基本訪問機制下,系統的歸一化吞吐率隨著站點數量的增加而下降,在長幀下更加明顯[7]。

當節點數量越大,傳輸幀越長時,RTS/CTS機制越占優勢,在不同節點數量下,其RTS啟動門限閾值的變化規律如圖6所示。

根據上述規律,擬合出門限啟動閾值隨節點數量的變化關系曲線,根據此曲線方程,在OpenWRT上編寫腳本,根據接入節點的數量,自動設置RTS啟動閾值,更改無線訪問機制,優化無線通信性能。

3 性能測試

在完成網絡通信程序設計之后,需要對網絡通信性能進行實物測試和網絡仿真。首先通過Netperf網絡工具對網絡通信的最大吞吐量和平均時延進行測試,其次采用NS-2網絡仿真平臺對IEEE802.11b性能進行仿真驗證。

3.1 通信性能仿真

這里采用了流行的 NS-2仿真平臺對IEEE802.11b的最大吞吐量和平均時延進行仿真。

NS-2是一個用C++語言編寫,以OTcl解釋器為前臺,面向對象的模擬器,是一種基于Linux的開放源代碼的網絡仿真軟件,具有豐富的網絡仿真組件,目前支持的網絡仿真包括局域網、無線局域網、IP網絡、移動IP網絡、自組織網絡等[4]。

圖6 RTS機制啟動閾值

(1) 最大吞吐量仿真

在對IEEE802.11b進行吞吐量測試之前,首先需要對IEEE802.11b無線參數進行基本的設置,參數設置如表1所列。

表1 IEEE802.11b參數設置

這些參數在嵌入式開發板中都是默認參數,在源碼中有定義。在server端與不同數量的client端進行通信時,對server端的吞吐量進行測試,查看server端的最大吞吐量。這里需要將cbr代理服務器的速率調到11 Mbps。

根據上面的參數進行仿真,得到的仿真結果如圖7所示。

圖7 不同數量下的server端吞吐量

根據仿真結果可以看到,當節點數量N=1時,吞吐量沒有達到最大,這是因為節點資源有閑置,并未測試出最大吞吐量。當節點數量N>5時,其吞吐量基本保持不變,此時可以判斷server端將一直處于通信狀態,測試的吞吐量為最大吞吐量,基本保持在4.25 Mbps。

(2) 網絡延時仿真

在仿真中,將base模式的一對一網絡通信的IEEE802.11無線參數設置如下:

tcp_packetSize=500bytes,cbr_packetSize=500,cbr_rate=200kb,cbr start_time=1

進行測試,測試結果如圖8所示。仿真結果顯示,其網絡通信平均時延為207 μs。

圖8 IEEE802.11b時延仿真圖

3.2 嵌入式板實物通信性能測試

在對嵌入式板進行實物測試時,采取了一種基于OpenWRT操作系統的網絡測試工具Netperf。該網絡工具可以在OpenWRT開源社區進行下載,并且在OpenWRT操作系統進行安裝之后便可以使用,方便快捷。

Netperf是一種網絡性能的測量工具,主要針對基于TCP或者UDP的傳輸,可以根據應用的不同,進行不同模式的網絡性能測試。

Netperf以client/server方式工作,server端是netserver端,用來偵聽來自client端的連接,client端的是netperf,用來向server端發起網絡測試。在server和client端之間,首先建立一個控制連接,傳遞有關測試配置的信息以及測試的結果;在控制連接建立并傳遞測試配置信息之后,client和server之間就會再建立一個測試連接,來回傳遞特殊的流量模式,以及另外一個系統能夠以多快的速度接收數據。

(1) 吞吐量測試

在測試環境為室內,通信距離為1 m,中間無任何障礙物的條件下進行。首先分別在server端和client端安裝netperf:

root@OpenWrt:/# opkg update

root@OpenWrt:/# opkg install netperf

然后在server端運行:

root@OpenWrt:/# netserver

最后在client端運行:

root@OpenWrt:/# netperf -t TCP_STREAM-H 192.168.1.1-l 60-D 10

其中,60為測試時間,10為測試間隔。

最終測試結果如圖9所示。

圖9 吞吐量測試結果

統計發現,實際平均吞吐量為4.41 Mbps。

(2) omni模式測試延遲

同樣,在server端啟動netserver,在cilent端輸入如下命令:

root@OpenWrt:/# netperf -H 192.168.1.1-t TCP_STREAM---d rr-O "THROUGHPUT, THROUGHPUT_UNITS,MIN_LATENCY, MAX_LATENCY, MEAN_LATENCY"

結果輸出如下:

MIGRATED TCP STREAM TEST from 0.0.0.0 () port 0 AF_INET to 192.168.1.1 () port 0 AF_INET : demo Throughput Throughput Minimum Maximum Mean Units Latency Latency Latency Microseconds Microseconds Microseconds 4.56 10^6bits/s 151 429632 26786.78

從輸出結果可以看到,最小延時為151 μs ,最大為429.632 μs,平均為267.87 μs。

4 測試結果與應用

通過實物測試和網絡仿真,可以看到實物測試的平均延時時間為267.87 μs,最大吞吐量為4.41 Mbps,網絡仿真的平均延時為207 μs,最大吞吐量為4.25 Mbps,通過對比可以發現,網絡仿真結果和實物測試結果接近,說明在實際應用當中使用WiFi進行TCP/IP無線通信時,只要實時性能要求不超過300 μs,則產品基本能夠滿足使用要求,并且最大吞吐量能夠到達4 Mbps以上,能夠滿足在工業現場的視頻監控需求。

最后,將本產品成功應用在黃石科威PLC現場中,一臺PLC作為主站,一臺作為從站,通過RS485接口與本產品連接,實現兩臺PLC的modbus無線通信。在通信周期為100 ms時,錯誤報文率為5%;為200 ms時,已經低至1%??梢?,該產品能夠滿足一般工業現場的使用。

結 語

本文首先在MT7620A處理器上進行了嵌入式系統開發,移植了OpenWRT操作系統,并在此操作系統上進行了網絡通信程序的設計,根據節點數量和報文幀長度自動更改無線訪問機制。通過實物測試和網絡仿真,對最大吞吐量和延時進行測試,最后成功應用在工業現場中,實現了現場設備的無線通信。

[1] 陳建福,王煜.無線通信在自行小車中的應用[J].自動化博覽,2009(9).

[2] 王娟,郭家奇,劉微.WIFI技術的深入探討與研究[J].價值工程,2011(6).

[3] 陸希.無線網絡中TCP擁塞控制協議性能的研究[D].南京:南京郵電大學,2014.

[4] 李平南.基于NS2的多信道路由仿真模型的研究與實現[J].北京:北京郵電大學,2010.

[5] 候維巖,曾磊,張海峰.工業無線測控網絡中WiFi無線終端設計與實現[J].自動化與儀表,2011,36(8):41-44.

[6] 韓?;?IEEE802.11無線網絡MAC層協議性能分析[D].濟南:山東大學,2013.

[7] 高峰.IEEE802.11無線網絡DCF協議性能分析及提升研究[D].北京:北京郵電大學,2010.

湯永鋒(碩士研究生),研究方向為工業無線通信。

WiFi Wireless Communication Based on MT7620A and OpenWRT

Tang Yongfeng1,Gong Yunsheng2

(1.School of Automation,Huazhong University of Science and Technology,Wuhan 430074,China; 2.Huangshi Kewei Automation Control Company)

In the paper,a method of wireless communication is introduced,which can achieve the wireless communication between the devices,and it also can achieve the wired networking.The MT7620A is used as the hardware platform to develop the embedded system.The professional router system of OpenWRT is transported,and the network communication application program is coded based on TCP/IP stack to achieve the data of serial and network transporting transparently.Finally the test simulation on the NS-2 network platform confirm the performance of the communication and it is used in the industry field.

wireless communication;MT7620A;OpenWRT;NS-2 simulation

TP368

A

士然

2017-01-13)

猜你喜歡
網絡通信嵌入式機制
海上軍用網絡通信的安全控制技術
基于網絡通信的智能照明系統設計
電子制作(2019年15期)2019-08-27 01:11:48
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
網絡通信中信息隱藏技術的應用
搭建基于Qt的嵌入式開發平臺
談計算機網絡通信常見問題及技術發展
電子制作(2017年17期)2017-12-18 06:41:06
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
打基礎 抓機制 顯成效
中國火炬(2014年4期)2014-07-24 14:22:19
主站蜘蛛池模板: 视频一本大道香蕉久在线播放| 男女猛烈无遮挡午夜视频| 激情六月丁香婷婷| 久久激情影院| 538精品在线观看| 国产精品太粉嫩高中在线观看| 中文字幕佐山爱一区二区免费| 伊人久久久久久久久久| 国内精自视频品线一二区| 国内精品久久久久久久久久影视| 亚洲日本中文字幕乱码中文 | 久久青青草原亚洲av无码| 免费人成在线观看成人片| 国产免费好大好硬视频| 色综合综合网| a级毛片免费看| 67194亚洲无码| 国产无遮挡裸体免费视频| 67194亚洲无码| 不卡午夜视频| 永久天堂网Av| 狠狠做深爱婷婷久久一区| 国产打屁股免费区网站| 欧美日韩中文字幕在线| 爱爱影院18禁免费| 伊人成人在线视频| 天天干伊人| 国产尤物视频网址导航| 就去吻亚洲精品国产欧美| 免费无码又爽又黄又刺激网站 | 免费观看精品视频999| 天天躁夜夜躁狠狠躁图片| 国产精品所毛片视频| 特级精品毛片免费观看| 国产网站免费| 亚洲人成网线在线播放va| 亚洲国产av无码综合原创国产| 欧美啪啪精品| 宅男噜噜噜66国产在线观看| 国产视频大全| 国产乱子伦精品视频| 亚洲区一区| 国产成人无码播放| 久久女人网| 国产激情无码一区二区免费| 中文字幕永久视频| 波多野结衣无码AV在线| 中文字幕久久波多野结衣| 国产免费羞羞视频| 国产喷水视频| 亚洲水蜜桃久久综合网站 | 亚洲日本韩在线观看| 国产福利2021最新在线观看| 日韩无码视频播放| 亚洲综合经典在线一区二区| 99在线国产| 国产高清无码第一十页在线观看| 免费无码AV片在线观看中文| 婷婷五月在线视频| 国产成人精品免费av| 日韩欧美中文字幕在线韩免费| 五月婷婷丁香综合| 国产高颜值露脸在线观看| 中日无码在线观看| 四虎影视永久在线精品| 日韩高清在线观看不卡一区二区| 亚洲精品卡2卡3卡4卡5卡区| 一本无码在线观看| 国产美女自慰在线观看| 中文字幕资源站| 国产精品亚洲一区二区三区在线观看| 精品成人一区二区三区电影| 色噜噜中文网| 伊人久久青草青青综合| 伊人久久久大香线蕉综合直播| 精品国产Av电影无码久久久| 欧美一级黄色影院| 日本AⅤ精品一区二区三区日| 亚洲综合第一区| 日韩国产亚洲一区二区在线观看| 亚洲国产中文精品va在线播放| 午夜三级在线|