• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于TI-RTOS的物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)

      2016-11-14 01:33:32楊震倫許鍵新楊培彬
      現(xiàn)代計(jì)算機(jī) 2016年28期
      關(guān)鍵詞:信號量網(wǎng)關(guān)代碼

      楊震倫,許鍵新,楊培彬

      (廣州番禺職業(yè)技術(shù)學(xué)院信息工程學(xué)院,廣州 511483)

      基于TI-RTOS的物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)

      楊震倫,許鍵新,楊培彬

      (廣州番禺職業(yè)技術(shù)學(xué)院信息工程學(xué)院,廣州511483)

      提出一種基于嵌入式實(shí)時(shí)操作系統(tǒng)TI-RTOS,在低成本MCU平臺F28M35Hx上實(shí)現(xiàn)的物聯(lián)網(wǎng)網(wǎng)關(guān)方案,給出硬件設(shè)計(jì)和軟件設(shè)計(jì)的關(guān)鍵點(diǎn)。該物聯(lián)網(wǎng)網(wǎng)關(guān)具有性價(jià)比高,靈活性強(qiáng)等特點(diǎn),在低成本,小規(guī)模的物聯(lián)網(wǎng)應(yīng)用系統(tǒng)中具有較高的應(yīng)用價(jià)值。

      物聯(lián)網(wǎng);網(wǎng)關(guān);TI-RTOS;F28M35Hx

      2016年度大學(xué)生科技創(chuàng)新培育專項(xiàng)資金立項(xiàng)項(xiàng)目(No.pdjh2016b0681)

      0 引言

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

      1 TI-RTOS簡介

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

      圖1 物聯(lián)網(wǎng)系統(tǒng)示意圖

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

      ●TI-RTOS NDK:TI-RTOS NDK提供了標(biāo)準(zhǔn)的IPv4和IPv6雙協(xié)議棧,編程接口支持BSD套接字,便于將Linux上開發(fā)的應(yīng)用程序移植到TI-RTOS上運(yùn)行。此外,網(wǎng)絡(luò)加密方面,TI-RTOS還提供了一個(gè)SSL庫,包括了TLS/SSL和DTLS以及一個(gè)內(nèi)容豐富的密碼庫

      ●TI-RTOS File System:該文件系統(tǒng)是與FAT兼容的文件系統(tǒng)。

      ●TI-RTOS USB:該USB協(xié)議棧同時(shí)支持USB HOST和DEVICE模式。

      ●TI-RTOS IPC:該組件主要在多核器件內(nèi)提供處理器間的通信機(jī)制。

      ●TI-RTOS UIA:該組件主要提供了一種統(tǒng)一的儀器架構(gòu),使得對儀器數(shù)據(jù)的收集更為便利。

      ●TI-RTOS Drivers and Board Initialization:TIRTOS的驅(qū)動程序和板級支持功能提供了一套標(biāo)準(zhǔn)的驅(qū)動程序API以及所有受支持的demo板的板級支持代碼。

      2 基于TI-RTOS的物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)計(jì)

      本文所提出的物聯(lián)網(wǎng)網(wǎng)關(guān)的硬件主要是基于高性價(jià)比的MCU平臺F28M35Hx,軟件主要是基于TIRTOS操作系統(tǒng),具有成本低及靈活性高等特點(diǎn),下面將分別對物聯(lián)網(wǎng)網(wǎng)關(guān)的硬件和軟件設(shè)計(jì)分別展開闡述,其中對基于TI-RTOS的軟件開發(fā)給出重點(diǎn)說明。

      2.1物聯(lián)網(wǎng)網(wǎng)關(guān)硬件設(shè)計(jì)

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

      圖2 物聯(lián)網(wǎng)網(wǎng)關(guān)硬件結(jié)構(gòu)框圖

      2.2物聯(lián)網(wǎng)網(wǎng)關(guān)軟件設(shè)計(jì)

      物聯(lián)網(wǎng)網(wǎng)關(guān)的軟件設(shè)計(jì)基于多任務(wù),在TI-RTOS上進(jìn)行開發(fā),需要使用TI公司的Code Composer Studio(CCS)集成開發(fā)工具。具體而言包括兩部分工作,第一部分是在相應(yīng)工程中對*.cfg文件,可對各外設(shè)的驅(qū)動、網(wǎng)絡(luò)協(xié)議、任務(wù)、任務(wù)間通信和同步機(jī)制等模塊進(jìn)行靜態(tài)配置和裁剪,第二部分是在調(diào)用SYS/BIOS、NDK等組件的API函數(shù)基礎(chǔ)上完成應(yīng)用程序的設(shè)計(jì)。

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

      初始化部分主要包括:

      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’);

      這里的每一行都是初始化一個(gè)模塊,包括內(nèi)核(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行是啟動網(wǎng)絡(luò)的IP、TCP、UDP協(xié)議,第7、8行是協(xié)議棧啟動和結(jié)束的鉤子函數(shù),對于和網(wǎng)絡(luò)相關(guān)的初始化代碼放在netOpenHook函數(shù)中,而用于程序結(jié)束時(shí)的處理代碼則放在netCloseHook函數(shù)中。

      每個(gè)信號量的配置代碼如下:

      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行),信號量的創(chuàng)建(第4行)等。

      在程序設(shè)計(jì)中,主程序主要是初始化硬件,創(chuàng)建任務(wù),最后調(diào)用BIOS_start函數(shù)來啟動操作系統(tǒng)。創(chuàng)建任務(wù)的一個(gè)例子為:

      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);

      該例子主要是創(chuàng)建一個(gè)時(shí)間定時(shí)處理任務(wù),前面4行主要是參數(shù)的設(shè)置,如第3行表示定時(shí)處理時(shí)間為100毫秒,第5行為任務(wù)的創(chuàng)建,其中tickfunc為任務(wù)的執(zhí)行體函數(shù)。

      在每個(gè)接口的伺服任務(wù)中,具體而言是等待相應(yīng)的硬件中斷,然后通過驅(qū)動程序讀取硬件數(shù)據(jù),經(jīng)過處理后提交給數(shù)據(jù)處理任務(wù),其具體流程可參見圖3左圖。而對于數(shù)據(jù)處理任務(wù)而言,受各接口的伺服進(jìn)程發(fā)送數(shù)據(jù)的事件驅(qū)動,其流程可參見圖3右圖??煽闯?,在TI-RTOS上實(shí)現(xiàn)的物聯(lián)網(wǎng)網(wǎng)關(guān)軟件具有簡潔高效的特點(diǎn)。其中任務(wù)間同步的關(guān)鍵代碼的一個(gè)例子為:

      1. Semaphore_post(semaphoreUART);

      2. Semaphore_pend(semaphoreUARTDone,BIOS_WAIT_FOREVER);

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

      在物聯(lián)網(wǎng)網(wǎng)關(guān)的硬件和基礎(chǔ)軟件的基礎(chǔ)上,可根據(jù)需要進(jìn)一步開發(fā)中間件軟件,實(shí)現(xiàn)過濾、數(shù)據(jù)格式轉(zhuǎn)換以及數(shù)據(jù)加密等功能。

      圖3 接口伺服任務(wù)及數(shù)據(jù)處理任務(wù)流程

      3 結(jié)語

      隨著物聯(lián)網(wǎng)相關(guān)技術(shù)及應(yīng)用的快速發(fā)展,作為連接感知系統(tǒng)和通信網(wǎng)絡(luò)的物聯(lián)網(wǎng)網(wǎng)關(guān)在其中的地位也日益重要,基于當(dāng)前大多數(shù)物聯(lián)網(wǎng)網(wǎng)關(guān)的造價(jià)高,靈活性低的現(xiàn)狀,本文提出了一種基于低成本MCU平臺F28M35Hx的物聯(lián)網(wǎng)網(wǎng)關(guān),其軟件設(shè)計(jì)基于TI-RTOS,具有簡潔高效的特點(diǎn)。本文所提出的物聯(lián)網(wǎng)網(wǎng)關(guān)在各類低成本,小規(guī)模的物聯(lián)網(wǎng)系統(tǒng)中具有廣泛的應(yīng)用前景,在其硬件基礎(chǔ)上可進(jìn)一步開發(fā)中間件系統(tǒng),這對于加快物聯(lián)網(wǎng)技術(shù)在相關(guān)領(lǐng)域的應(yīng)用及提升相關(guān)應(yīng)用的技術(shù)水平具有一定的意義。

      [1]常英亮.基于嵌入式Linux的物聯(lián)網(wǎng)網(wǎng)關(guān)研究與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2014.

      [2]賈崢.基于嵌入式Linux的物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計(jì)與應(yīng)用[D].重慶:重慶理工大學(xué),2014.

      [3]洪嵐,王佳斌.基于 Linux的物聯(lián)網(wǎng)智能網(wǎng)關(guān)的軟件設(shè)計(jì)[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協(xié)議棧的研究與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),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-),男,廣東大埔人,副教授,碩士,研究方向?yàn)檫M(jìn)化算法、圖像處理、物聯(lián)網(wǎng)技術(shù)許鍵新(1996-),男,廣東汕頭人,??疲芯糠较?yàn)槲锫?lián)網(wǎng)技術(shù)楊培彬(1996-),男,廣東潮州人,專科,研究方向?yàn)槲锫?lián)網(wǎng)技術(shù)

      2016-08-16

      2016-09-30

      猜你喜歡
      信號量網(wǎng)關(guān)代碼
      基于STM32的mbedOS信號量調(diào)度機(jī)制剖析
      基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
      Nucleus PLUS操作系統(tǒng)信號量機(jī)制的研究與測試
      創(chuàng)世代碼
      動漫星空(2018年11期)2018-10-26 02:24:02
      創(chuàng)世代碼
      動漫星空(2018年2期)2018-10-26 02:11:00
      創(chuàng)世代碼
      動漫星空(2018年9期)2018-10-26 01:16:48
      創(chuàng)世代碼
      動漫星空(2018年5期)2018-10-26 01:15:02
      LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
      移動通信(2015年18期)2015-08-24 07:45:08
      應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
      太陽能(2015年7期)2015-04-12 06:49:50
      一種實(shí)時(shí)高效的伺服控制網(wǎng)關(guān)設(shè)計(jì)
      呼和浩特市| 沙坪坝区| 武山县| 玛曲县| 赤水市| 涿州市| 叶城县| 宝兴县| 巴里| 郸城县| 泾源县| 柳河县| 辉南县| 扎鲁特旗| 石嘴山市| 蕉岭县| 页游| 华池县| 镇原县| 崇阳县| 山东| 如皋市| 苏尼特左旗| 高平市| 宜兰市| 思茅市| 南召县| 都兰县| 南平市| 女性| 罗山县| 平南县| 尼勒克县| 石家庄市| 沁阳市| 青海省| 深水埗区| 淄博市| 隆回县| 乌拉特中旗| 井陉县|