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

基于TI-RTOS的物聯網網關的設計與實現

2016-11-14 01:33:32楊震倫許鍵新楊培彬
現代計算機 2016年28期
關鍵詞:設備設計

楊震倫,許鍵新,楊培彬

(廣州番禺職業技術學院信息工程學院,廣州 511483)

基于TI-RTOS的物聯網網關的設計與實現

楊震倫,許鍵新,楊培彬

(廣州番禺職業技術學院信息工程學院,廣州511483)

提出一種基于嵌入式實時操作系統TI-RTOS,在低成本MCU平臺F28M35Hx上實現的物聯網網關方案,給出硬件設計和軟件設計的關鍵點。該物聯網網關具有性價比高,靈活性強等特點,在低成本,小規模的物聯網應用系統中具有較高的應用價值。

物聯網;網關;TI-RTOS;F28M35Hx

2016年度大學生科技創新培育專項資金立項項目(No.pdjh2016b0681)

0 引言

隨著物聯網技術及相關應用的迅速發展,接入物聯網的各類傳感設備及其他設備的數量和種類都不斷增加,而這些設備所采用的接口和協議都存在著較大差距。在早期的系統構建中,針對相應的具體應用場景,人們往往需要研發特定物聯網設備,而當應用場景發生變化,相當部分物聯網設備需要重新開發,這導致工程應用的較長周期和較高成本。所以目前的很多研究提出了一款被稱為物聯網網關的新型設備,如圖1所示,物聯網網關實現了多種傳感設備和外界的數據通路,能夠將多接口、多協議的傳感設備的數據進行匯聚并且無差異地提供給應用程序,是物聯網網絡層的核心組件。目前,大量的研究集中在各類基于Linux系統的物聯網網關[1-3],然而,對于一些低成本,小規模的應用,基于Linux系統的物聯網網關設備存在成本過高,靈活性差等問題。本文提出了一種基于嵌入式實時操作系統TI-RTOS的低成本物聯網網關設備,在小規模的物聯網應用中能降低系統構建的成本,并且具有靈活性高的特點。

1 TI-RTOS簡介

TI-RTOS是有德州儀器公司 (Texas Instruments, TI)所研發的一款面向MCU平臺,功能完善的實時操作系統[4]。TI-RTOS提供了經過了預測試和預集成的一整套系統軟件組件,使得開發人員能夠專注于設計應用系統,并且在使用中無需預付或運行時許可費用,能大大縮短相關產品的開發周期。TI-RTOS內核在大多數TI公司的MCU和DSP平臺上都可使用,TI-RTOS中間件、驅動程序和板級支持包在某些選定的ARM處理器、ARM+DSP雙核處理器以及無線MCU上都可以使用。目前已經有越來越多的廠商認識到TI-RTOS的優點并開始在各類應用系統的設計中使用它。TIRTOS包含了眾多組件,下面是這些主要組件的簡單介紹。

圖1 物聯網系統示意圖

●TI-RTOS kernel:該內核之前稱為SYS/BIOS,能提供搶占式多線程、線程間通信服務、內存管理等。該內核具有很優秀的可配置性和可裁剪性。

●TI-RTOS NDK:TI-RTOS NDK提供了標準的IPv4和IPv6雙協議棧,編程接口支持BSD套接字,便于將Linux上開發的應用程序移植到TI-RTOS上運行。此外,網絡加密方面,TI-RTOS還提供了一個SSL庫,包括了TLS/SSL和DTLS以及一個內容豐富的密碼庫

●TI-RTOS File System:該文件系統是與FAT兼容的文件系統。

●TI-RTOS USB:該USB協議棧同時支持USB HOST和DEVICE模式。

●TI-RTOS IPC:該組件主要在多核器件內提供處理器間的通信機制。

●TI-RTOS UIA:該組件主要提供了一種統一的儀器架構,使得對儀器數據的收集更為便利。

●TI-RTOS Drivers and Board Initialization:TIRTOS的驅動程序和板級支持功能提供了一套標準的驅動程序API以及所有受支持的demo板的板級支持代碼。

2 基于TI-RTOS的物聯網網關的設計

本文所提出的物聯網網關的硬件主要是基于高性價比的MCU平臺F28M35Hx,軟件主要是基于TIRTOS操作系統,具有成本低及靈活性高等特點,下面將分別對物聯網網關的硬件和軟件設計分別展開闡述,其中對基于TI-RTOS的軟件開發給出重點說明。

2.1物聯網網關硬件設計

F28M35Hx是TI公司推出的DSP+ARM雙核處理器系列,具有以太網控制器、PWM、ADC、CAN、USB、SPI、IIC等豐富的片上外設,并且由于該系列處理器的單片價格為10美元左右,而對于很多常規的應用,幾乎不需要添加額外的片外外設即可滿足設計的需求,具有很高的性價比[5]。物聯網網關的硬件結構如圖2所示,其中可以通過IIC接口訪問本地擴展的EEPROM,在本設計中,采用的是Atmel公司的AT24C512C,通過串口可以通過Wi-Fi模塊訪問無線路由器,在本設計中采用的是EPS8266模塊,通過串口連接的ZigBee模塊,可以收集無線傳感器網絡的數據,本設計中采用的是高性能的Xbee模塊,通過ADC可以采集眾多直接連接的傳感器的數據,而通過SPI、CAN和USB等接口,可以和各類數據采集設備或者RFID設備相連接。此外,F28M35Hx具有片上以太網控制器,可通過外接的SMSC公司的物理層芯片LAN8710a來接入以太網。

圖2 物聯網網關硬件結構框圖

2.2物聯網網關軟件設計

物聯網網關的軟件設計基于多任務,在TI-RTOS上進行開發,需要使用TI公司的Code Composer Studio(CCS)集成開發工具。具體而言包括兩部分工作,第一部分是在相應工程中對*.cfg文件,可對各外設的驅動、網絡協議、任務、任務間通信和同步機制等模塊進行靜態配置和裁剪,第二部分是在調用SYS/BIOS、NDK等組件的API函數基礎上完成應用程序的設計。

在物聯網網關的軟件設計中,為了實現有效的進程同步機制,采用了信號量(Semphore)機制,而對于每個啟用的接口,采用了單獨創建一個伺服進程來處理數據的方法,而對所有采集的數據都將通過一個數據處理任務來進行進一步處理,并實現本地存儲或者通過通信接口發送,其中為了提高通信的安全性,可以啟用TI-RTOS的SSL模塊。在進行*.cfg文件的配置上,可以通過圖形界面來點選完成,也可以直接對*.cfg文件進行編輯,下面是本設計中*.cfg文件的部分關鍵代碼,主要包含四部分,為了便于說明,我們在每行代碼的前面加了行號。

初始化部分主要包括:

1. var BIOS = xdc.useModule(’ti.sysbios.BIOS’);

2. var Clock = xdc.useModule(’ti.sysbios.knl.Clock’);

3. var Task = xdc.useModule(’ti.sysbios.knl.Task’);

4. var Semaphore = xdc.useModule(’ti.sysbios.knl.Semaphore’);

5. var Hwi = xdc.useModule(’ti.sysbios.hal.Hwi’);

6. var HeapMem = xdc.useModule(’ti.sysbios.heaps.HeapMem’);

7. var UART = xdc.useModule(’ti.drivers.UART’);

這里的每一行都是初始化一個模塊,包括內核(1至3行),信號量(第4行)和串口(第7行)等。

NDK的配置代碼為:

1. var Global = xdc.useModule(’ti.ndk.config.Global’);

2. var Ip = xdc.useModule(’ti.ndk.config.Ip’);

3. var Udp = xdc.useModule(’ti.ndk.config.Udp’);

4. var Tcp = xdc.useModule(’ti.ndk.config.Tcp’);

5. Global.IPv6 = true;

6. Global.stackLibType = Global.MIN;

7. Global.networkOpenHook = "&netOpenHook";

8. Global.networkCloseHook = ’&netCloseHook’;

第2到4行是啟動網絡的IP、TCP、UDP協議,第7、8行是協議棧啟動和結束的鉤子函數,對于和網絡相關的初始化代碼放在netOpenHook函數中,而用于程序結束時的處理代碼則放在netCloseHook函數中。

每個信號量的配置代碼如下:

1. var semaphore0Params = new Semaphore.Params();

2. semaphore0Params.instance.name = "semaphoreUART";

3. semaphore0Params.mode = Semaphore.Mode_BINARY;

4. Program.global.semaphoreUART = Semaphore.create(null, semaphore0Params);

主要包括了信號量命名(第2行),信號量的模式配置(第3行),信號量的創建(第4行)等。

在程序設計中,主程序主要是初始化硬件,創建任務,最后調用BIOS_start函數來啟動操作系統。創建任務的一個例子為:

1. Error_init(&ebtime);

2. Timer_Params_init(&timerParams);

3. timerParams.period = 100;

4. timerParams.arg = 1;

5. timerHandle = Timer_create(Timer_ANY, tickfunc, &timerParams, &ebtime);

該例子主要是創建一個時間定時處理任務,前面4行主要是參數的設置,如第3行表示定時處理時間為100毫秒,第5行為任務的創建,其中tickfunc為任務的執行體函數。

在每個接口的伺服任務中,具體而言是等待相應的硬件中斷,然后通過驅動程序讀取硬件數據,經過處理后提交給數據處理任務,其具體流程可參見圖3左圖。而對于數據處理任務而言,受各接口的伺服進程發送數據的事件驅動,其流程可參見圖3右圖。可看出,在TI-RTOS上實現的物聯網網關軟件具有簡潔高效的特點。其中任務間同步的關鍵代碼的一個例子為:

1. Semaphore_post(semaphoreUART);

2. Semaphore_pend(semaphoreUARTDone,BIOS_WAIT_FOREVER);

這段代碼中包括兩個信號量,semaphoreUART和semaphoreUARTDone,semaphoreUART是在第1行代碼中用于當前任務向其它任務發送信號,而semaphoreUARTDone是在第2行用于由當前任務等待其他任務發送信號,其中的BIOS_WAIT_FOREVER表示永久等待。

在物聯網網關的硬件和基礎軟件的基礎上,可根據需要進一步開發中間件軟件,實現過濾、數據格式轉換以及數據加密等功能。

圖3 接口伺服任務及數據處理任務流程

3 結語

隨著物聯網相關技術及應用的快速發展,作為連接感知系統和通信網絡的物聯網網關在其中的地位也日益重要,基于當前大多數物聯網網關的造價高,靈活性低的現狀,本文提出了一種基于低成本MCU平臺F28M35Hx的物聯網網關,其軟件設計基于TI-RTOS,具有簡潔高效的特點。本文所提出的物聯網網關在各類低成本,小規模的物聯網系統中具有廣泛的應用前景,在其硬件基礎上可進一步開發中間件系統,這對于加快物聯網技術在相關領域的應用及提升相關應用的技術水平具有一定的意義。

[1]常英亮.基于嵌入式Linux的物聯網網關研究與實現[D].北京:北京交通大學,2014.

[2]賈崢.基于嵌入式Linux的物聯網網關設計與應用[D].重慶:重慶理工大學,2014.

[3]洪嵐,王佳斌.基于 Linux的物聯網智能網關的軟件設計[J].中國新通信.2016,18(9).

[4]TI-RTOS.[EB/OL];2016 updated 2016;cited];Available from:http://processors.wiki.ti.com/index.php/TI-RTOS.

[5]王建偉.基于F28M35Hx的嵌入式TCP/IP協議棧的研究與實現[D].武漢:華中科技大學,2013.

Internet of Things;Gateway;TI-RTOS;F28M35Hx

Implement of IoT Gateway Based on TI-RTOS

YANG Zhen-lun XU Jiang-xin YANG Pei-bin
(School of Information Engineering,Guangzhou Panyu Polytechnic College,Guangzhou 511483)

Proposes the Internet of Things(IoT)gateway scheme based on real-time operation system TI-RTOS and the low price MCU platform F28M35Hx,and presents the hardware and software implement.The IoT gateway characterized by high performance-price ratio and flexibility,and can be applied on the lost price and small scale IoT systems.

1007-1423(2016)28-0058-04

10.3969/j.issn.1007-1423.2016.28.016

楊震倫(1978-),男,廣東大埔人,副教授,碩士,研究方向為進化算法、圖像處理、物聯網技術許鍵新(1996-),男,廣東汕頭人,專科,研究方向為物聯網技術楊培彬(1996-),男,廣東潮州人,專科,研究方向為物聯網技術

2016-08-16

2016-09-30

猜你喜歡
設備設計
諧響應分析在設備減振中的應用
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于VB6.0+Access2010開發的設備管理信息系統
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
如何在設備采購中節省成本
主站蜘蛛池模板: 成人在线观看一区| 国产乱子伦手机在线| 热99re99首页精品亚洲五月天| 国产欧美日韩91| 国产白丝av| av免费在线观看美女叉开腿| 日韩 欧美 小说 综合网 另类| 国产精品久久久久久搜索| 丁香婷婷综合激情| 亚洲欧美综合在线观看| 亚洲V日韩V无码一区二区| 亚洲精品在线观看91| 性69交片免费看| 美女被躁出白浆视频播放| 成人午夜视频免费看欧美| 2021国产精品自拍| 久久久久人妻一区精品色奶水| 久久久久久久久18禁秘 | 毛片在线看网站| 精品1区2区3区| 呦视频在线一区二区三区| 亚洲视屏在线观看| 国产乱子伦无码精品小说| 免费在线色| 国产一级一级毛片永久| 刘亦菲一区二区在线观看| 噜噜噜久久| 日韩不卡高清视频| 国产99视频在线| 毛片基地视频| 伊伊人成亚洲综合人网7777| 免费女人18毛片a级毛片视频| 国产91精品调教在线播放| 久久亚洲国产最新网站| 国产成人8x视频一区二区| 国产精品部在线观看| 国产精品人人做人人爽人人添| 欧美日韩在线成人| 日本爱爱精品一区二区| 国产黄网永久免费| 午夜国产精品视频黄| 久久77777| 欧美日韩国产一级| 亚洲午夜福利在线| 欧美区日韩区| 天天色综合4| 97影院午夜在线观看视频| 99九九成人免费视频精品| 日本少妇又色又爽又高潮| 青草视频在线观看国产| 污网站免费在线观看| 伊人久久久久久久| 亚洲swag精品自拍一区| 秋霞午夜国产精品成人片| 911亚洲精品| 亚洲日韩精品无码专区| 色精品视频| 久久免费精品琪琪| 亚洲人成网站色7799在线播放| 欧美日韩另类国产| 欧美日韩国产综合视频在线观看 | 国产美女91视频| 欧美一道本| 91色爱欧美精品www| 久久这里只有精品23| 精品少妇人妻无码久久| 久久96热在精品国产高清| 亚洲一区二区三区中文字幕5566| 综合色婷婷| 人妻丰满熟妇啪啪| 日韩毛片免费| 久久一色本道亚洲| 国产va欧美va在线观看| 中文字幕无码中文字幕有码在线| 国产微拍一区二区三区四区| yjizz国产在线视频网| 精品久久香蕉国产线看观看gif| 欧美不卡视频一区发布| 国产91丝袜| 国产在线一区视频| 国产成人精品一区二区秒拍1o| 欧美日韩专区|