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

基于ARM-LINUX的多網物聯網關的設計與實現

2018-05-28 06:54:45貴州師范大學物理與電子科學學院吳偉堅陳世國
電子世界 2018年10期
關鍵詞:嵌入式設備

貴州師范大學物理與電子科學學院 吳偉堅 陳世國

1 引言

在1999年,美國麻省理工學院(MIT)的Kevin Ash-ton教授首次提出了物聯網的概念(the internet of Things,IOT),與物聯網相關的技術得到快速發展,這段時期被稱為信息產業發展的第三次浪潮[1]。許多物聯網的應用領域都得以發展,如智能家居、智能醫療、工業4.0等。在各種應用領域里面,物聯網系統所面臨的“物”不一樣和處理“物”產生數據的處理系統不一樣外,它所面臨的數據識別、分類和傳輸的問題原理都是一樣的。對于人類的信息、物體的信息和環境的信息是多種多樣,采集的設備和采集的方式也是多種多樣。這些種類和數量繁多的設備組建的網絡群之間的通信和數據交互都需要一定方法來確保可行,這種方法就是制定相關協議和本文所論述的協議轉換的物聯網關。在互聯網的網關中,所面對的一直是TCP/IP協議類型的網絡,但在物聯網的網關中,TCP/IP協議網絡只是所連接的網絡其中之一,其還包括很多傳輸方式所組成的網絡,如有線網絡can總線網絡、無線網絡zigbee網絡等。

2 Arm-linux平臺簡介

網關(Gateway)常被稱為協議轉換器,它是一個網絡傳輸數據的數據出口,同時他連接著別的網絡。在物聯網的網關中,其所連接的網絡的類型都是不相同的。因此它必須支持不同類型網絡的協議棧。

本文所設計的物聯網關是基于arm-linux平臺。其采用S3C2440芯片作為中央處理器,64M的SDRAM作為的內存芯片,nandflash作為長久存儲芯片,DM 9000作為網卡芯片的一個硬件平臺。S3C2440芯片是以ARM 920T為核心的16/32位精簡指令集微處理器,其內核由存儲管理單元、高速緩存和DMI三部分組成,具有獨立的16KB指令高速緩存和16KB數據高速緩存。ARM 920T實現了MMU,AMBA總線和哈佛結構高速緩沖體系結構。在軟件平臺上面是采用嵌入式linux平臺,嵌入式linux的特點除了開源外,還有是系統功能、大小可裁剪。嵌入式linux系統可分為:用戶進程、系統調用接口、內核、硬件層。其中Linux系統內核則由進程管理模塊、內存管理模塊、文件系統、網絡協議棧、硬件驅動管理模塊、系統調用這六大部分組成。文章在運行嵌入式linux系統的S3C2440芯片平臺上連接了TCP/IP協議類型網絡、can總線網絡、無線網絡zigbee網絡。其連接方式和網絡特點將在下章介紹。

3 不同類型協議間轉換介紹

3.1 TCP/IP協議網絡

TCP/IP協議與7層的OSI參考模型不同,只有精簡的四層協議層。它們分別是:網絡接口層、網際層、傳輸層和應用層。很多人以為TCP/IP協議是指TCP協議和IP協議,但準確來說,它是指TCP/IP協議簇。這協議族有四層:網絡接口層、網際層、傳輸層、應用協議層,其中TCP協議在傳輸層,而包含IP地址的IP協議則在網際層。在連接互聯網的IP主機都必須具備實現TCP/IP協議棧。而嵌入式linux系統里已經包含TCP/IP網絡協議棧,當我們需要TCP/IP協議傳輸數據時,則利用其已經實現好的socket網絡通訊機制。Socket套接字編程的體現方式是linux系統的系統調用接口,利用相關的函數接口即可聲明套接字,配置套接字。

圖1 can總線組網圖

3.2 CAN總線傳輸介紹

CAN總線是控制器局域網絡(Controller Area Network,AN)總線的簡稱,它使用兩根電纜來傳輸電信號的,它們分別成為CAN_H,CAN_L,其傳輸方式與USB總線的“差分傳輸”相似,都是根據兩個電纜之間的電壓差來判斷電平的高低。當總線上連接多個控制器傳輸數據的時候,便構成了can總線網絡。S3C2440芯片平臺上雖然不支持can總線控制器,但可以通過該平臺支持的spi總線與can總線之間做轉換。本文選用的是Microchip公司的MCP2515芯片作為spi總線與can總線之間的轉換器。在linux內核驅動的編寫中,編寫can總線設備驅動則變成了編寫spi設備驅動,在can總線的應用層協議中,我們采用canopen協議棧來對can總線網絡上的設備進行區分(見圖1)。

3.3 Zigbee組網傳輸

Zigbee網絡是基于國際通用的IEEE802.15.4的網絡協議標準組建的無線網絡,其有著數據傳輸安全可靠、成本低、距離短、功耗少等特點。Zigbee網絡中主要有三種設備類型:協調器、終端節點和路由節點。協調器的作用是啟動網絡和作為整個網絡的數據出入口,路由器的功能是加入設備進入網絡和轉發數據,其實協調器啟動zigbee網絡后,它的功能就和路由器一樣了。而終端節點的作用是收集和發送數據,它是一般電子設備連入zigbee網絡的作用點。作為zigbee網絡數據出入口的協調器,德州儀器公司TI開發的CC2530芯片應用2.4-GHz頻段(IEEE 802.15.4)、Zigbee和RF4CE于一體,有著性能高、價格低的特點,也是本文設計網關所采用的zigbee協調器芯片。那么S3C2440芯片與CC2530芯片通信的方式我們采用的是串口相互連接,那么zigbee網絡協調器的驅動對應linux內核驅動模型則變成了串口UART的驅動了。

圖2 zigbee網絡設備圖

4 網關軟件設計

4.1 網關架構介紹

物聯網關的作用其實就是把一個網絡發送過來的數據轉發到另一個網絡去。文章利用arm-linux嵌入式平臺作為網關程序載體,其采用S3C2440芯片及其他模塊作為硬件平臺,linux操作系統作為軟件平臺。在硬件上若是要新增模塊,那么在linux內核中則需要編寫相應的控制驅動,如can總線控制器的驅動和zigbee控制器驅動等,S3C2440芯片硬件平臺不支持這兩種方式,但可以通過總線轉換的方式來支撐這兩種網絡。其運行時基于嵌入式linux操作系統平臺的,它的程序架構如圖3所示。

圖3 物聯網關功能架構圖

網關程序利用了linux操作系統最優秀的文件監聽機制epoll機制來完成,并利用線程池技術來執行相關網關IO操作。網關程序架構可分為:(1)epoll事件監聽層:它的作用是對TCP/IP網絡層所連接上的socket套接字、zigbee網絡的設備文件和CAN總線網絡層設備文件進行監聽,若epoll機制監聽的設備文件有數據讀寫時間產生則調用其處理函數,這種處理程序的功能其實就是把數據包掛載在數據包隊列里,然后把處理數據包的函數放到線程池的工作隊列里;(2)數據協議轉換層:這一層的實現是利用了線程池技術完成。線程池的工作隊列其實就是調用協議棧函數接口來對數據包解析,其中從哪個網絡來的數據包就采用哪個網絡協議棧函數來解析。它和網絡層的程序交互非常密切,其作用也是解析一種網絡傳輸過來的數據包,根據解析結果得出將要到哪里去,然后調用下一站網絡的協議棧進行數據的協議封包,然后下放給該網絡層進行發送;(3)各類型網絡層:這一層封裝了各個協議內容實現的協議棧程序,并包含了對上層應用調用的應用接口和對下層實現控制的驅動。它包括TCP/IP協議網絡層、can總線網絡層、zigbee網絡層。

圖4 物聯網關各網絡連接圖

4.2 網關工作流程分析

網關啟動時,對網關自身硬件、用戶設計和連接的網絡參數等初始化后,便進入了工作狀態。初始化時,網關主程序利用linux操作系統系統調用接口epoll_create()創建了一個epoll池,并利用epoll_ctl()把初始化時所連接的TCP/IP網絡socket套接字和CAN總線控制器MCP2515的設備文件(也就是S3C2440里SPI總線下的設備文件)、zigbee協調器CC2530的設備文件(也就是串口設備文件)和相應的事件處理任務放到epoll池里監聽。在主程序while循環中利用epoll_wait()函數等待所監聽設備文件或套接字的數據讀寫事件發生。

當某個網絡有數據傳到網關時,epoll監聽機制監聽到的socket套接字或是網絡設備文件有數據產生,并接收該網絡穿來的數據并調用相應的協議棧進行解析。網關程序解析完某個網絡傳輸過來的協議包后應得到信息是到這個包的數據下一個目的地,及網關所連接的某個網絡中的某個節點。

5 測試結果

多網物聯網關設計完成后,利用自身所連接網絡中的節點進行通信測試,為了測試一個網絡間的節點能順利與另外網絡的節點進行數據收發,節點間相互傳輸一個字節的數據,若成功收發字節數據,則標識為“互通”。其結果如表1所示:

表1 各網絡節點間通信結果表

6 結束語

本文以物聯網網關為應用背景,根據了TCP/IP協議傳網絡、CAN總線網絡和zigbee網絡的傳輸方式,整合了這三種網絡數據交互的方式,并闡述了ARM-linux平臺中對網關程序的設計。互聯網以TCP/IP協議傳輸數據,而設備互聯需要以適合的方式傳輸到能和互聯網連接的網關。如果設備是以有線的方式傳輸數據,以CAN總線網絡連接網關為宜,若設備是以無線方式傳輸數據,則利用zigbee組網傳輸數據到網關。同時,多網物聯網關在許多應用領域,如智能醫療、智能家居等行業,有著良好的使用價值和市場推廣價值。

[1]關勇.物聯網行業發展分析網[D].北京郵電大學,2010.

[2]高長艷.嵌入式TCP/IP協議的研究與實現[D].長春:中國科學院長春精密機械與物理研究所,2005:1-2.

[3]宋寶華.Linux設備驅動開發詳解[M].北京:人民郵電出版社,2008:248-257.

[4]張威.Linux網絡編程教[M],北京希望電子出版社,2002,6.

[5]饒運濤,鄒繼軍,鄭勇蕓現場總線CAN原理與應用技術[M].北京:北京航空航天大學出版社,2003.

[6]王風.基于CC2530的Zigbee無線傳感器網絡的設計與實現[D].西安:西安電子科技大學,2012:2-30.

猜你喜歡
嵌入式設備
諧響應分析在設備減振中的應用
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于VB6.0+Access2010開發的設備管理信息系統
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
如何在設備采購中節省成本
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 国产成人亚洲无码淙合青草| 成人国产精品网站在线看| 不卡无码网| 日本人妻丰满熟妇区| 久久精品只有这里有| 8090午夜无码专区| 日本91视频| 亚洲91在线精品| 国产成人高清精品免费软件| 国产在线观看高清不卡| 中文字幕人成人乱码亚洲电影| 人妻21p大胆| 激情影院内射美女| 久久久久国色AV免费观看性色| 午夜啪啪福利| 国产一级毛片yw| 久久夜色撩人精品国产| 午夜啪啪网| 中文字幕欧美成人免费| 欧美19综合中文字幕| 久久综合AV免费观看| 精品国产成人三级在线观看| 波多野结衣一区二区三区四区视频| 五月天天天色| 3p叠罗汉国产精品久久| 日本一区二区不卡视频| 国产精品白浆无码流出在线看| 欧美人与牲动交a欧美精品| 亚洲视频一区在线| 国产成人综合网| 国产91精品久久| 亚洲人人视频| 亚洲九九视频| 日韩av无码精品专区| 日韩人妻少妇一区二区| 亚洲男人的天堂在线观看| 免费在线色| 国产成人a毛片在线| 女人天堂av免费| 欧美日韩一区二区三| 成人久久精品一区二区三区| 色综合国产| 欧美无专区| 97人人做人人爽香蕉精品| 日本国产一区在线观看| 四虎亚洲国产成人久久精品| 99精品在线看| 日韩成人午夜| 欧美乱妇高清无乱码免费| 手机精品视频在线观看免费| 欧美在线精品怡红院| 亚洲欧美日韩精品专区| 久久鸭综合久久国产| 成人无码区免费视频网站蜜臀| 日日摸夜夜爽无码| 免费观看国产小粉嫩喷水| 国产亚洲视频播放9000| 99热这里只有免费国产精品 | 国产永久无码观看在线| 国产精品久久久精品三级| 色婷婷电影网| 在线国产91| 色哟哟色院91精品网站| 国禁国产you女视频网站| 国产三级成人| 中文字幕色在线| 中文字幕欧美成人免费| 色综合天天娱乐综合网| 午夜高清国产拍精品| 国产手机在线小视频免费观看| 国产精品妖精视频| 日本a∨在线观看| 手机在线国产精品| 免费看久久精品99| 精品国产一区二区三区在线观看 | 精品一区二区三区波多野结衣 | 日韩中文欧美| 三上悠亚在线精品二区| 六月婷婷激情综合| 99视频精品在线观看| 亚洲另类色| 亚洲最新网址|