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

面向物聯網應用的UART-WIFI網關設計*

2013-02-21 07:53:00王希朝馬洪亮
網絡安全與數據管理 2013年8期
關鍵詞:用戶系統設計

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

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

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

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

1 系統整體架構

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

網關從功能上分為串口數據收發模塊、網絡數據收發模塊和用戶數據處理模塊等。依據數據流向,系統模塊組成原理框圖如圖2所示。系統通過串口配置網卡參數,實現串口數據的無線透明傳輸。

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

2 系統硬件設計

2.1 系統硬件原理框圖

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

圖3 系統硬件原理框圖

2.2 系統硬件設計及選型

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

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

3 系統軟件設計

3.1 系統軟件整體架構

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

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

圖4 Linux下典型WLAN層次模型

3.2 Linux操作系統

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

3.3 WT工具

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

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

3.4 網卡驅動和固件

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

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

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

3.5 通信協議設計

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

(1)控制數據

用于用戶終端設備與UART-WIFI之間的控制信息傳輸,配置模塊的網絡參數和系統參數。

(2)用戶數據

模塊用于數據透明傳輸時遵循用戶數據幀格式,協議由用戶自定義。

3.6 系統軟件工作流程設計

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

系統完成初始化相關參數設置后,創建兩個線程來使系統進入穩定工作狀態。主要代碼如下:

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

3.7 系統設計中的多線程同步方法

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

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

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

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

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

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

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

[4]賈晶鑫,蔣健,宋彬.ARM9工控平臺上的多串口網關及視頻采集傳輸的實現[J].電子產品世界,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.

猜你喜歡
用戶系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 国产精品内射视频| 在线观看国产精品第一区免费 | 福利在线不卡一区| 色哟哟精品无码网站在线播放视频| 国产午夜一级毛片| 怡春院欧美一区二区三区免费| 国产又大又粗又猛又爽的视频| 免费人成又黄又爽的视频网站| 欧美在线网| 不卡无码网| 欧美亚洲激情| 91青青视频| 日韩无码视频专区| 国产成人高清精品免费软件| 久夜色精品国产噜噜| 91外围女在线观看| 国产欧美日本在线观看| 毛片视频网址| 精品视频一区二区三区在线播| 国产91精选在线观看| 欧美三级日韩三级| 在线一级毛片| 国产高清不卡视频| 色老二精品视频在线观看| 青草娱乐极品免费视频| 国产精品亚洲专区一区| 亚洲精品桃花岛av在线| 国产在线一区视频| 国产女人爽到高潮的免费视频| 日本午夜在线视频| 亚洲国产清纯| 久久青草免费91线频观看不卡| 高清国产在线| 亚洲视频在线网| 日韩在线播放中文字幕| 国产99视频免费精品是看6| 国产精品熟女亚洲AV麻豆| 国产麻豆精品在线观看| 色综合日本| 精品一区二区无码av| a在线亚洲男人的天堂试看| 亚洲日韩精品欧美中文字幕| 亚洲欧美不卡| 亚洲欧美日韩中文字幕在线| 国产主播在线一区| 中国精品自拍| 亚洲第一视频区| 国产精品高清国产三级囯产AV | 色屁屁一区二区三区视频国产| 国产jizz| 国产欧美日本在线观看| 欧美午夜在线观看| 欧美影院久久| 国产美女丝袜高潮| 亚洲欧美一级一级a| 久久久久久久久久国产精品| 欧美日韩免费观看| 人妻精品久久无码区| 国产一二视频| 亚洲精品国产综合99久久夜夜嗨| 国产色婷婷| 欧美中文字幕无线码视频| 蜜芽国产尤物av尤物在线看| 97久久免费视频| 国产女人在线视频| 国产色伊人| 成人字幕网视频在线观看| 国产9191精品免费观看| 欧美成一级| 天堂在线视频精品| 亚洲女同一区二区| 国产一级精品毛片基地| 亚洲欧美自拍视频| 91国内视频在线观看| 国产成人夜色91| 国产一区二区三区精品欧美日韩| 国产激爽爽爽大片在线观看| 国产专区综合另类日韩一区| 久久a毛片| 国产真实乱子伦精品视手机观看| 欧美精品啪啪一区二区三区| 狠狠做深爱婷婷综合一区|