亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向物聯(lián)網(wǎng)應用的UART-WIFI網(wǎng)關設計*

        2013-02-21 07:53:00王希朝馬洪亮
        關鍵詞:網(wǎng)卡線程網(wǎng)關

        王希朝 ,張 毅 ,程 鵬 ,馬洪亮 ,吳 斌

        (1.重慶郵電大學,重慶 400065;2.中國科學院微電子研究所,北京100029)

        物聯(lián)網(wǎng)作為互聯(lián)網(wǎng)的延伸和擴展,使得通信的主體不再是人與人之間的通信,還有人與物、物與物之間的通信。隨著物聯(lián)網(wǎng)產(chǎn)業(yè)的發(fā)展,各種老式設備也有了接入網(wǎng)絡的需求,在工業(yè)控制和通信設備中,很多是符合RS232標準的串口設備,通常很難在作業(yè)現(xiàn)場鋪設有線網(wǎng)絡。如何保證在原來設備不做太大改動的基礎上實現(xiàn)這些設備的聯(lián)網(wǎng),便成了一個首先需要解決的問題。

        面向物聯(lián)網(wǎng)應用的UART-WIFI網(wǎng)關,基于目前成熟的WIFI無線傳輸解決方案實現(xiàn)串口數(shù)據(jù)的網(wǎng)絡化傳輸。本文設計的方案,使得只要具有UART接口的設備即可接入網(wǎng)絡,提高了設備的智能化水平,簡化了設備組網(wǎng)流程[1],具有很重要的現(xiàn)實意義和使用價值。

        1 系統(tǒng)整體架構

        UART-WIFI網(wǎng)關在用戶側留有標準RS232接口,使得設備只要具有串口就可以接入網(wǎng)絡,網(wǎng)關的應用場景如圖1所示。

        網(wǎng)關從功能上分為串口數(shù)據(jù)收發(fā)模塊、網(wǎng)絡數(shù)據(jù)收發(fā)模塊和用戶數(shù)據(jù)處理模塊等。依據(jù)數(shù)據(jù)流向,系統(tǒng)模塊組成原理框圖如圖2所示。系統(tǒng)通過串口配置網(wǎng)卡參數(shù),實現(xiàn)串口數(shù)據(jù)的無線透明傳輸。

        串口數(shù)據(jù)收發(fā)模塊負責用戶主機與網(wǎng)卡之間的數(shù)據(jù)交互;無線網(wǎng)卡模塊負責收發(fā)網(wǎng)絡數(shù)據(jù),進行802.11與802.3協(xié)議之間的相互轉換并交由操作系統(tǒng)處理;用戶數(shù)據(jù)處理模塊負責識別主機側用戶接口數(shù)據(jù),用于配置網(wǎng)卡參數(shù)或進行數(shù)據(jù)透明傳輸。

        2 系統(tǒng)硬件設計

        2.1 系統(tǒng)硬件原理框圖

        硬件系統(tǒng)主要由處理器、無線網(wǎng)卡、標準RS232收發(fā)器模塊、外部存儲器以及系統(tǒng)電源組成。系統(tǒng)硬件原理框圖如圖3所示。

        圖3 系統(tǒng)硬件原理框圖

        2.2 系統(tǒng)硬件設計及選型

        系統(tǒng)原型開發(fā)選用飛思卡爾半導體面向多媒體應用的MCIMX27處理器,該處理器采用ARM926-EJS內(nèi)核,工作頻率可達400 MHz,其內(nèi)建的 MMU功能,能很方便地實現(xiàn)嵌入式Linux的移植。

        系統(tǒng)存儲系統(tǒng)由兩片DDR SDRAM和一片NAND Flash構成。處理器內(nèi)嵌的SDIO主控制器提供4 bit模式下最高100 Mb/s的數(shù)據(jù)速率。無線網(wǎng)絡收發(fā)模塊選用Marvell的WLAN片上系統(tǒng)芯片88W8686設計,芯片集成IEEE802.11a/g/b MAC/Baseband/RF等功能模塊,支持典型的WLAN數(shù)據(jù)速率;支持SDIO接口的主機接口單元(HUI),允許主機控制器使用SDIO總線協(xié)議與 WLAN設備進行通信。

        3 系統(tǒng)軟件設計

        3.1 系統(tǒng)軟件整體架構

        在Linux操作系統(tǒng)下通過對各個功能模塊的劃分實現(xiàn)了對WLAN的完美支持,圖4所示為Linux下典型的WLAN層次模型[2]。

        硬件層是軟件運行的承載體和通信的物理實現(xiàn)層;固件(Firmware)層向驅動程序屏蔽具體的物理細節(jié),提供驅動訪問硬件的接口;驅動程序向WT(Wireless-Tools)或者其他配置工具提供訪問底層的接口;配置程序層向上層提供一個統(tǒng)一的Linux用戶接口;用戶使用相關配置工具來訪問和配置不同的無線網(wǎng)卡。本設計軟件整體架構參照Linux操作系統(tǒng)下典型的WLAN層次模型來設計,系統(tǒng)軟件整體架構如圖5所示。

        圖4 Linux下典型WLAN層次模型

        3.2 Linux操作系統(tǒng)

        嵌入式Linux以其內(nèi)核高效穩(wěn)定、網(wǎng)絡功能強大等特性,成為嵌入式系統(tǒng)領域中的佼佼者[3]。本設計選用成熟的Linux-2.6.19.2操作系統(tǒng)內(nèi)核,編譯器使用專用arm-926ejs-linux-gcc交叉編譯器。

        3.3 WT工具

        Wireless Tools for Linux是一個Linux命令行工具包,用來設置支持Linux Wireless Extension的無線設備。Wireless-Extension(WE)是一組通用的 API,能在用戶空間對通用Wireless LANs進行配置和統(tǒng)計。

        WT(Wireless-Tools)就是用來操作Wireless-Extensions的工具集合,支持所有 Wireless-Extension,它主要包括iwconfig、iwlist和 iwpriv等工具。

        3.4 網(wǎng)卡驅動和固件

        按照主機驅動與設備驅動分離設計的思想,一個標準的無線收發(fā)系統(tǒng)軟件包含主機驅動和WLAN固件兩部分。

        WLAN固件主要實現(xiàn)802.11和802.3協(xié)議幀格式之間的轉換。在系統(tǒng)接收數(shù)據(jù)時,網(wǎng)卡接收符合標準802.11協(xié)議的數(shù)據(jù),由WLAN固件轉換成符合802.3協(xié)議的幀格式,通過SDIO接口送達主機驅動;在發(fā)送串口用戶數(shù)據(jù)時,應用層程序將符合802.3協(xié)議的數(shù)據(jù)通過SDIO接口發(fā)送到WLAN固件,固件將其轉換為802.11協(xié)議數(shù)據(jù)幀,通過無線方式發(fā)往服務器端。

        主機驅動模塊主要包含三部分:Ethernet Driver、802.11Extensions和 Hardware Interface Driver。 Ethernet Driver實現(xiàn)標準的以太網(wǎng)驅動;802.11Extensions擴展標準以太網(wǎng)驅動以控制WLAN Adapter的狀態(tài);Hardware Interface Driver即硬件接口驅動控制在主機側的硬件接口。

        3.5 通信協(xié)議設計

        通過UART接口在用戶終端設備與UART-WIFI之間傳輸?shù)臄?shù)據(jù)稱之為用戶接口數(shù)據(jù),接口數(shù)據(jù)分為控制數(shù)據(jù)和用戶數(shù)據(jù)兩種類型:

        (1)控制數(shù)據(jù)

        用于用戶終端設備與UART-WIFI之間的控制信息傳輸,配置模塊的網(wǎng)絡參數(shù)和系統(tǒng)參數(shù)。

        (2)用戶數(shù)據(jù)

        模塊用于數(shù)據(jù)透明傳輸時遵循用戶數(shù)據(jù)幀格式,協(xié)議由用戶自定義。

        3.6 系統(tǒng)軟件工作流程設計

        在系統(tǒng)中軟件將分為兩個線程工作,一個線程接收串口數(shù)據(jù),用于系統(tǒng)參數(shù)配置或者網(wǎng)絡數(shù)據(jù)傳輸;另一個線程用于接收服務器端信息,并通過串口發(fā)送至主機端。

        系統(tǒng)完成初始化相關參數(shù)設置后,創(chuàng)建兩個線程來使系統(tǒng)進入穩(wěn)定工作狀態(tài)。主要代碼如下:

        其中(void*)UartDataProcessFun和(void*)NetDataProcess-Fun是指向在函數(shù)外部定義的兩個線程處理函數(shù)的指針,線程創(chuàng)建后將同時開始執(zhí)行。

        3.7 系統(tǒng)設計中的多線程同步方法

        多線程的引入降低了系統(tǒng)實現(xiàn)的復雜度,提高了系統(tǒng)執(zhí)行效率。多線程程序在執(zhí)行時,除了局部變量外,其他所有變量都將在一個進程中的所有線程之間共享,為了改變程序執(zhí)行時序,保護共享資源,需要引入線程同步方法。

        Linux提供了多種線程同步的機制,其中有互斥鎖、信號量、條件變量等[5]。單獨使用互斥鎖容易發(fā)生死鎖;信號量分為簡單的二進制信號量和計數(shù)信號量;條件變量通過允許線程阻塞和等待一個線程發(fā)送信號的方式彌補了互斥鎖的不足,常和互斥鎖一起使用。使用時條件變量用來阻塞一個線程,條件不滿足時,線程解開互斥鎖等待條件發(fā)生變化。當某個線程改變了條件變量后,它將通知相應的條件變量喚醒一個或者多個正被此條件變量阻塞的線程。本設計中的線程同步采用互斥鎖加條件變量的方式。使用條件變量需要的頭文件是pthread.h。使用條件變量標識符pthread_cond_t創(chuàng)建一個靜態(tài)條件變量時使用PTHREAD_COND_INITIALIZER常量,例如:pthread_cond_t cond=PTHREAD_COND_INITIALIZER。等待條件變量使用到的函數(shù)有:

        在上述代碼執(zhí)行過程中,條件變量一旦滿足,線程1立即通知等待該條件變量的線程2,同時釋放互斥鎖,線程2在捕獲到條件變量滿足的消息便被激活,執(zhí)行相關操作。

        本文設計了一款面向物聯(lián)網(wǎng)應用的UART-WIFI網(wǎng)關,重點分析了基于Linux操作系統(tǒng)的WLAN軟件架構,介紹了Linux下多線程同步的處理方式,重點分析了使用互斥鎖和條件變量進行同步的方法。本文設計的UART-WIFI網(wǎng)關具有成本低、易部署的特點。經(jīng)過測試,證實該網(wǎng)關具有良好的穩(wěn)定性和通信性能,可滿足當前物聯(lián)網(wǎng)發(fā)展的需求,具有很好的使用和推廣價值。

        [1]范煒,徐洪澤.基于TCP/IP協(xié)議的嵌入式多串口網(wǎng)關的設計[J].計算機工程與設計,2008,29(1):80-82.

        [2]高揚,石秀民.基于嵌入式平臺的 WLAN實現(xiàn)[J].吉林大學學報,2006,24(1):103-107.

        [3]董志國,李式巨.嵌入式 Linux設備驅動程序開發(fā)[J].計算機工程與設計,2006,27(20):3737-3740.

        [4]賈晶鑫,蔣健,宋彬.ARM9工控平臺上的多串口網(wǎng)關及視頻采集傳輸?shù)膶崿F(xiàn)[J].電子產(chǎn)品世界,2012,19(7):37-39.

        [5]MATTHEW N,STONES R.Linux程序設計(第 4版)[M].北京:人民郵電出版社,2010.

        [6]MCIMX27 multimedia applications processor reference manual MCIMX27RM Rev.0.2[OL].[2007-09-27].http://www.freescale.com.

        猜你喜歡
        網(wǎng)卡線程網(wǎng)關
        在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
        基于改進RPS技術的IPSEC VPN網(wǎng)關設計
        Server 2016網(wǎng)卡組合模式
        淺談linux多線程協(xié)作
        挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
        LTE Small Cell網(wǎng)關及虛擬網(wǎng)關技術研究
        移動通信(2015年18期)2015-08-24 07:45:08
        應對氣候變化需要打通“網(wǎng)關”
        太陽能(2015年7期)2015-04-12 06:49:50
        一種實時高效的伺服控制網(wǎng)關設計
        Linux線程實現(xiàn)技術研究
        么移動中間件線程池并發(fā)機制優(yōu)化改進
        久久国产精品一区av瑜伽| 国产成人户外露出视频在线| 亚洲AV无码一区二区三区精神| 亚洲av一二三四五区在线| 国产三级a三级三级| 中文人妻无码一区二区三区在线| 囯产精品无码一区二区三区| 黄色中文字幕视频网站| 国产自拍高清在线观看| 免费中文熟妇在线影片| jjzz日本护士| 日本人妻三级在线观看| 五月色婷婷丁香无码三级| 国产欧美日韩综合精品二区| 日韩女人毛片在线播放| 成人爽a毛片免费网站中国| 亚洲av色香蕉一区二区三区| 亚洲精品综合欧美一区二区三区| 国产午夜视频免费观看| 国产午夜福利在线观看中文字幕| 国产极品女主播国产区| 亚洲精品久久无码av片软件| 免費一级欧美精品| 亚洲成年国产一区二区| 精品三级av无码一区| 亚洲色大成网站www在线观看| 全程国语对白资源在线观看| 久久久久久久亚洲av无码| 亚洲欧美日韩综合久久| 亚洲日产国无码| 国产日产在线视频一区| 日韩国产成人无码av毛片蜜柚| 国产免费av片在线观看播放| 久久久精品网站免费观看| 无码a级毛片免费视频内谢| 国产内射合集颜射| 日韩精品国产一区在线| 狂猛欧美激情性xxxx大豆行情| 成在人线av无码免观看麻豆 | 人妻中文字幕av有码在线| 日韩亚洲无吗av一区二区|