国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式LonW orks網(wǎng)絡(luò)智能網(wǎng)關(guān)設(shè)計(jì)

2014-03-16 09:22:40曾夢(mèng)秋葉永強(qiáng)
電子設(shè)計(jì)工程 2014年9期
關(guān)鍵詞:雙口智能網(wǎng)網(wǎng)關(guān)

曾夢(mèng)秋,吳 丹,陸 鋒,陳 瀟,凌 路,葉永強(qiáng)

(南京航空航天大學(xué) 自動(dòng)化學(xué)院,江蘇 南京 210016)

LonWorks技術(shù)是美國(guó)Echelon公司于90年代初推出的一種現(xiàn)代總線技術(shù),它具有開(kāi)放性、高速性和互操作性而已被各行業(yè)廣泛使用[1]。而LonWorks設(shè)備往往工作環(huán)境惡劣,其自身各部分與周圍其他電子設(shè)備之間不可避免存在各種形式的電磁干擾和靜電放電,保證LonWorks設(shè)備的安全穩(wěn)定運(yùn)行有著重大的意義。

LonWorks設(shè)備運(yùn)行過(guò)程中涉及的參數(shù)眾多,控制策略復(fù)雜,為了解決其現(xiàn)場(chǎng)遠(yuǎn)程監(jiān)控的需要,有必要開(kāi)發(fā)出一款自動(dòng)化程度高的智能網(wǎng)關(guān),實(shí)現(xiàn)Lonworks協(xié)議和TCP/IP協(xié)議的轉(zhuǎn)換,將Lon網(wǎng)和以太網(wǎng)互連,從而達(dá)到對(duì)遠(yuǎn)方的LonWorks設(shè)備運(yùn)行集中的、遠(yuǎn)程的監(jiān)控的目的。

而傳統(tǒng)的網(wǎng)關(guān)基本采用16位單片機(jī)來(lái)實(shí)現(xiàn),受限于其運(yùn)算能力低、存儲(chǔ)空間小的特點(diǎn),而不能夠適用于多任務(wù)、實(shí)時(shí)性高的應(yīng)用環(huán)境。本文設(shè)計(jì)的設(shè)計(jì)的一款嵌入式LonWorks網(wǎng)絡(luò)智能網(wǎng)關(guān),采用32位的ARM為主控芯片并嵌入μC/OS-II操作系統(tǒng),具有能夠滿足多任務(wù)、實(shí)時(shí)性、快速性高等復(fù)雜監(jiān)控環(huán)境的功能。

1 系統(tǒng)總體結(jié)構(gòu)

圖1給出了系統(tǒng)結(jié)構(gòu)示意圖,下位機(jī)設(shè)備將收集到的監(jiān)控參數(shù)通過(guò)電力線上傳至智能網(wǎng)關(guān),LonWorks網(wǎng)關(guān)根據(jù)電力通訊協(xié)議將已將收集到的數(shù)據(jù)通過(guò)協(xié)議轉(zhuǎn)換將Lon網(wǎng)協(xié)議的數(shù)據(jù)包轉(zhuǎn)換成TCP協(xié)議數(shù)據(jù)包上傳到ARM內(nèi)置服務(wù)器;遠(yuǎn)端的監(jiān)視器作為嵌入式智能網(wǎng)關(guān)的人機(jī)界面互動(dòng)平臺(tái)將遠(yuǎn)程指令發(fā)送到智能網(wǎng)關(guān),智能網(wǎng)關(guān)通過(guò)電力線下傳至下位機(jī)設(shè)備,下位機(jī)設(shè)備根據(jù)電力線通訊協(xié)議接收相應(yīng)的遠(yuǎn)程指令,并完成相應(yīng)的遠(yuǎn)程控制。

圖1 系統(tǒng)結(jié)構(gòu)示意圖Fig.1 Structure diagram of system

2 硬件設(shè)計(jì)

硬件平臺(tái)由3個(gè)部分組成,包括由Lon網(wǎng)數(shù)據(jù)采集收發(fā)模塊、Lon網(wǎng)協(xié)議和LwIP協(xié)議轉(zhuǎn)換模塊和以太網(wǎng)通訊模塊。結(jié)構(gòu)框圖如圖2所示。

圖2 硬件系統(tǒng)結(jié)構(gòu)框圖Fig.2 Structure diagram of hardwave system

2.1 Lon網(wǎng)協(xié)議和Lw IP協(xié)議轉(zhuǎn)換模塊

該模塊是整個(gè)系統(tǒng)的核心,其不僅包括網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換功能,而且完成系統(tǒng)其它顯示傳輸功能。該模塊的主控芯片為NXP公司生產(chǎn)的 LPC1778,其片上資源包括512 Kb的FLASH存儲(chǔ)器、高達(dá)64 Kb的SRAM,系統(tǒng)時(shí)鐘頻率可高達(dá)120MHz,同時(shí)可內(nèi)嵌操作系統(tǒng)。LPC1778內(nèi)置外部總線控制器,通過(guò)總線方式讀寫(xiě)雙口RAM,從而完成與數(shù)據(jù)采集收發(fā)模塊的高速數(shù)據(jù)交換。另外,嵌入式WEB服務(wù)器的架構(gòu)需要大容量的存儲(chǔ)器,片上資源已不能夠滿足現(xiàn)有的需要,因此外部擴(kuò)展一片16Mb的FLASH SST25VF016B。

2.2 以太網(wǎng)接口模塊

以太網(wǎng)接口是網(wǎng)關(guān)與以太網(wǎng)通信的關(guān)鍵部分,本設(shè)計(jì)中選用的主控芯片LPC1778內(nèi)嵌一個(gè)以太網(wǎng)控制器,通過(guò)擴(kuò)展網(wǎng)卡芯片DP83848C和一個(gè)RJ45接口來(lái)實(shí)現(xiàn)以太網(wǎng)通訊接口。以太網(wǎng)控制器支持精簡(jiǎn)的媒體獨(dú)立接口RMII,可在半雙工、全雙工模式下提供10M/100Mbps的以太網(wǎng)接入。我們采用RMII協(xié)議方式和MIIM(媒體獨(dú)立接口管理)串行總線、以及MDIO(管理數(shù)據(jù)輸入/輸出)相結(jié)合的方式來(lái)實(shí)現(xiàn)與網(wǎng)絡(luò)芯片的連接。使用RMII接口方式時(shí)需要接入一個(gè)50 MHz的外部有源晶振。

2.3 數(shù)據(jù)采集收發(fā)模塊

該模塊核心器件為電力線收發(fā)器PL3150。PL3150是Echelon公司生產(chǎn)的基于開(kāi)放性ANSI標(biāo)準(zhǔn)的電力智能收發(fā)器,其可按LonTalk協(xié)議與LonWorks網(wǎng)絡(luò)上的所有節(jié)點(diǎn)進(jìn)行通信。PL3150通過(guò)地址線、數(shù)據(jù)線以及控制信號(hào)線與雙口RAM連接。雙口RAM我們選用IDT71321,其支持總線讀寫(xiě)方式,有2 KB的存儲(chǔ)容量。雙口RAM作為PL3150和ARM之間數(shù)據(jù)接收和發(fā)送的緩存區(qū)。該設(shè)計(jì)方案可實(shí)現(xiàn)兩模塊之間數(shù)據(jù)的高速、穩(wěn)定、低誤碼率的傳輸。

3 網(wǎng)關(guān)軟件設(shè)計(jì)

3.1 網(wǎng)關(guān)軟件結(jié)構(gòu)設(shè)計(jì)

軟件結(jié)構(gòu)如圖3所示,包括2個(gè)主要部分:

1)ARM端軟件設(shè)計(jì)。軟件平臺(tái)由嵌入式μC/OS-II操作系統(tǒng)為基礎(chǔ)構(gòu)建,并利用LwIP協(xié)議實(shí)現(xiàn)TCP/IP協(xié)議,上層的應(yīng)用程序?yàn)閃EB服務(wù)程序以及網(wǎng)關(guān)協(xié)議轉(zhuǎn)換程序。

2)PL3150端設(shè)備接口數(shù)據(jù)通信程序。

圖3 軟件結(jié)構(gòu)圖Fig.3 Structure diagram of soft system

3.2 網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換程序

在網(wǎng)關(guān)中最重要的是實(shí)現(xiàn)兩個(gè)不同網(wǎng)絡(luò)的協(xié)議轉(zhuǎn)換。在LonWorks網(wǎng)絡(luò)中,節(jié)點(diǎn)與節(jié)點(diǎn)進(jìn)行通信時(shí),常采用特定的網(wǎng)絡(luò)變量的形式進(jìn)行[2]。網(wǎng)絡(luò)變量只有數(shù)據(jù)類型相同的輸入網(wǎng)絡(luò)變量和輸出網(wǎng)絡(luò)變量才能建立連接。在本網(wǎng)關(guān)工作過(guò)程中,根據(jù)圖2所示的結(jié)構(gòu)原理,當(dāng)下位機(jī)設(shè)備需要向上位機(jī)發(fā)送數(shù)據(jù)信息時(shí),將會(huì)對(duì)自己的輸出網(wǎng)絡(luò)變量進(jìn)行更新,發(fā)送到LonWorks網(wǎng)絡(luò)上;當(dāng)PL3150監(jiān)測(cè)到這些網(wǎng)絡(luò)變量時(shí),將對(duì)與之捆綁的輸入網(wǎng)絡(luò)變量進(jìn)行更新并發(fā)送到雙口RAM的數(shù)據(jù)緩沖區(qū);ARM芯片通過(guò)外部總線讀取雙口RAM,其內(nèi)部以太網(wǎng)控制器依據(jù)所使用協(xié)議將數(shù)據(jù)包進(jìn)行封裝,發(fā)送到以太網(wǎng)協(xié)議的應(yīng)用層。相反,當(dāng)上位機(jī)想要對(duì)遠(yuǎn)端現(xiàn)場(chǎng)設(shè)備進(jìn)行控制時(shí),也要對(duì)相應(yīng)的網(wǎng)絡(luò)變量進(jìn)行更改。

在協(xié)議轉(zhuǎn)換過(guò)程中,雙口RAM作為一個(gè)共享存儲(chǔ)器能夠進(jìn)行雙邊讀寫(xiě)操作。為了避免數(shù)據(jù)信息交換時(shí)的讀寫(xiě)沖突、產(chǎn)生競(jìng)爭(zhēng),在讀寫(xiě)操作時(shí)要進(jìn)行控制以進(jìn)行同步訪問(wèn)。本文采用通過(guò)定時(shí)查詢控制地址的值來(lái)進(jìn)行同步訪問(wèn)操作。將2 KB的雙口RAM劃分為3個(gè)主要部分來(lái)存放不同內(nèi)容:存放ARM對(duì)PL3150的控制信息;存放PL3150向ARM發(fā)送的數(shù)據(jù)信息;控制同步訪問(wèn)信息。

3.3 μC/OS-II操作系統(tǒng)移植

操作系統(tǒng)的加入使得我們的內(nèi)部資源能夠更好的利用。μC/OS-II操作系統(tǒng)是一款開(kāi)源的,針對(duì)嵌入式系統(tǒng)的實(shí)時(shí)內(nèi)核操作系統(tǒng),可以應(yīng)用于多種類型的硬件平臺(tái)。它最近發(fā)布的版本最多可管理多達(dá)256個(gè)任務(wù)[3]。μC/OS-II具有強(qiáng)大的網(wǎng)絡(luò)支持,并且支持Lw IP協(xié)議,為我們的網(wǎng)關(guān)服務(wù)搭建了一個(gè)很好的平臺(tái)。將μC/OS-II操作系統(tǒng)移植到ARM平臺(tái)上,只需處理μC/OS-II與Cortex-M3接口部分,即OS_CPU_C.C、OS_CPU_A.S、OS_CPU.H 這 3 個(gè)文件[4]。

3.4 網(wǎng)關(guān)通訊協(xié)議TCP/IP實(shí)現(xiàn)

3.4.1 LW IP簡(jiǎn)介

本文的TCP/IP協(xié)議選擇使用Lw IP協(xié)議棧來(lái)實(shí)現(xiàn)。Lw IP是由瑞典計(jì)算機(jī)科學(xué)研究院Adam Dunkels設(shè)計(jì)的開(kāi)源的嵌入式TCP/IP協(xié)議。它是輕型的TCP/IP協(xié)議棧,適用于資源緊張的嵌入式系統(tǒng)。Lw IP既可以獨(dú)立運(yùn)行,也可以移植到不同的操作系統(tǒng)上[4]。

3.4.2 TCP數(shù)據(jù)處理流程

在我們的應(yīng)用中,使用Lw IP的TCP協(xié)議,它屬于傳輸層協(xié)議,雖然相比UDP協(xié)議傳輸速度較慢,但是它為應(yīng)用層提供可靠的字節(jié)流服務(wù)。TCP流程如圖4所示,當(dāng)下位機(jī)數(shù)據(jù)信息到達(dá)時(shí),通過(guò)tcp_write來(lái)構(gòu)造一個(gè)報(bào)文段,之后tcp_output被調(diào)用,同時(shí)與ip_route交互,填寫(xiě)首部中的源IP地址字段,最后通過(guò)ip_output發(fā)送給鏈路層,加上以太網(wǎng)幀頭發(fā)送到以太網(wǎng)中。同理可以得知TCP輸入流程[5]。

圖4 TCP數(shù)據(jù)處理流程圖Fig.4 Flow diagram of TCP data process

3.4.3 Lw IP移植

LwIP的移植主要是為了實(shí)現(xiàn)操作系統(tǒng)模擬層,它是操作系統(tǒng)和協(xié)議棧的一個(gè)接口,可為進(jìn)程處理同步、消息傳送機(jī)制以及定時(shí)器等操作系統(tǒng)服務(wù)提供統(tǒng)一接口。

移植需要添加以下文件,具體包括:1)與CPU和編譯器相關(guān)的頭文件。

2)與操作系統(tǒng)相關(guān)的文件。sys_arch.h的內(nèi)容是與操作系統(tǒng)相關(guān)的結(jié)構(gòu)和函數(shù)。此文件中需要實(shí)現(xiàn)4個(gè)函數(shù):消息函數(shù);數(shù)據(jù)結(jié)構(gòu)及信號(hào)函數(shù);系統(tǒng)超時(shí)函數(shù);創(chuàng)立新線程函數(shù)。

3)與網(wǎng)卡驅(qū)動(dòng)相關(guān)的函數(shù)。Lw IP源碼提供者將ethernetif.c中的函數(shù)實(shí)現(xiàn)一個(gè)框架形式,用戶可以根據(jù)這個(gè)框架定制網(wǎng)卡驅(qū)動(dòng)。

3.5 網(wǎng)關(guān)監(jiān)控平臺(tái)的實(shí)現(xiàn)

嵌入式處理器LPC1778在μC/OS-II操作系統(tǒng)平臺(tái)上,利用Lw IP協(xié)議的上層協(xié)議HTTP協(xié)議搭建輕型服務(wù)器,提供人性化的操作界面,實(shí)時(shí)監(jiān)控底層數(shù)據(jù)及控制輸出等功能。Web服務(wù)器的結(jié)構(gòu)如圖3所示。當(dāng)遠(yuǎn)端的瀏覽器發(fā)送請(qǐng)求時(shí),HTTP協(xié)議處理程序會(huì)將該請(qǐng)求發(fā)送給Web服務(wù)器處理;而CGI(通用網(wǎng)關(guān)接口)程序作為處理客戶端Web瀏覽器輸入數(shù)據(jù)的接口規(guī)范,用來(lái)解釋處理表單的輸入信息,并在服務(wù)器產(chǎn)生相應(yīng)的處理,完成客戶機(jī)與服務(wù)器之間的交互操作功能[6]。

實(shí)現(xiàn)步驟如下:

1)通過(guò)在μC/OS-II建立相應(yīng)的任務(wù)。當(dāng)任務(wù)建立起來(lái)之后,任務(wù)的調(diào)度就由μC/OS-II的任務(wù)調(diào)度器調(diào)度。μC/OS-Ⅱ的任務(wù)調(diào)度是搶占式的,所以在設(shè)置任務(wù)優(yōu)先級(jí)的時(shí)候要考慮任務(wù)對(duì)實(shí)時(shí)性的要求。同時(shí)注意Lw IP的初始化要在μC/OS-II完全啟動(dòng)之后。

2)Web服務(wù)器實(shí)現(xiàn)。由于本網(wǎng)關(guān)采用B/S通訊模式,嵌入式ARM則充當(dāng)服務(wù)器,提供網(wǎng)頁(yè)數(shù)據(jù)信息。B/S模式需要HTTP協(xié)議的支持。它是基于請(qǐng)求/響應(yīng)模式的,并使用TCP作為傳輸層。當(dāng)服務(wù)器運(yùn)行時(shí),始終在80服務(wù)端口監(jiān)聽(tīng),等待請(qǐng)求的出現(xiàn)。Web服務(wù)器的編程是基于Lw IP的API函數(shù)編寫(xiě)的。API函數(shù)專為L(zhǎng)w IP設(shè)計(jì),充分利用LwIP的內(nèi)部結(jié)構(gòu)以實(shí)現(xiàn)其設(shè)計(jì)目標(biāo)。

3)HTTP處理子函數(shù)在獲得請(qǐng)求報(bào)文之后,根據(jù)其請(qǐng)求報(bào)文進(jìn)行相應(yīng)處理。在HTTP請(qǐng)求報(bào)文中,第一行就是請(qǐng)求行,方式有GET和POST兩種。由于CGI程序中具有HTML生成和FORM解析功能,CGI程序會(huì)根據(jù)請(qǐng)求數(shù)據(jù)中的URL信息找到相應(yīng)的網(wǎng)頁(yè)文件,并對(duì)文件中的程序代碼解析并執(zhí)行,然后生成HTML網(wǎng)頁(yè)回傳至瀏覽器。

4 網(wǎng)關(guān)的功能和應(yīng)用

該監(jiān)控平臺(tái)每2 s就從下位機(jī)刷新一次實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù),可以獲得例如下位機(jī)ID號(hào)、電壓、電流、功率等實(shí)時(shí)量。圖5為開(kāi)發(fā)完成的網(wǎng)關(guān)嵌入式網(wǎng)頁(yè)服務(wù)頁(yè)面,可以控制某一個(gè)下位機(jī)的開(kāi)閉狀態(tài)、功率因子大小,并可以定時(shí)上傳數(shù)據(jù)并具有數(shù)據(jù)管理系統(tǒng)。服務(wù)器的系統(tǒng)功能結(jié)構(gòu)框架如圖6所示。

圖5 網(wǎng)頁(yè)服務(wù)頁(yè)面示意圖Fig.5 Diagram ofwebserver’swebpage

圖6 系統(tǒng)功能結(jié)構(gòu)框圖Fig.6 Structure diagram of system functions

本網(wǎng)關(guān)IP靜態(tài)地址設(shè)為192.168.0.100并與路由器相連,通過(guò)動(dòng)態(tài)域名解析與一個(gè)固定域名綁定,用戶通過(guò)訪問(wèn)固定域名便可遠(yuǎn)程實(shí)時(shí)觀測(cè)。

5 結(jié)束語(yǔ)

文中系統(tǒng)地論述了嵌入式LonWorks網(wǎng)絡(luò)智能網(wǎng)關(guān)的實(shí)現(xiàn)方法,主要分析了嵌入式網(wǎng)關(guān)的硬件和軟件的實(shí)現(xiàn)方法。本網(wǎng)關(guān)的實(shí)現(xiàn)可為將來(lái)遠(yuǎn)程監(jiān)測(cè)應(yīng)用方面帶來(lái)很大便利,可廣泛應(yīng)用與遠(yuǎn)程查表、路燈控制等項(xiàng)目中,具有很好的社會(huì)價(jià)值。

[1]楊玉紅.LON網(wǎng)絡(luò)控制技術(shù)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,1999.

[2]陳德明,熊列彬,雷杭州.一種新型的LONWORKS組網(wǎng)應(yīng)用方式[J],繼電器,2008,33(4),60-62.CHEN De-ming,XIONG Lie-bin,LEI Hang-zhou.A new application of LONWORKS[J].RELAY,2008,33(4):60-62.

[3]JEAN J.Labrosse.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II[M].北京:北京航空航天大學(xué)出版社,2003.

[4]焦海波,嵌入式網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)——基于Atmel ARM7系列[M].北京:北京航空航天大學(xué)出版社,2008.

[5]楊玉佳.Lw IP在μCOS-II平臺(tái)上的移植與應(yīng)用[D].成都:電子科技大學(xué),2006.

[6]姚洪智,鄭雪峰,曹 磊.基于CGI接口實(shí)現(xiàn)嵌入式系統(tǒng)遠(yuǎn)程控制[J],微機(jī)發(fā)展,2004,(9):7-9.YAO Hong-zhi,ZHENG Xue-feng,CAO Le.Remote Control in Embedded System Based on CGI [J].Microcomputer Dervement,2004(9):7-9.

猜你喜歡
雙口智能網(wǎng)網(wǎng)關(guān)
雙口形式的戴維寧定理在電路分析中的應(yīng)用
基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
5G賦能智能網(wǎng)聯(lián)汽車
智能網(wǎng)聯(lián)硬實(shí)力趨強(qiáng)
汽車觀察(2018年12期)2018-12-26 01:05:26
迎戰(zhàn)智能網(wǎng)聯(lián)大爆發(fā)
汽車觀察(2018年10期)2018-11-06 07:05:20
雙口RAM在機(jī)載嵌入式系統(tǒng)中的應(yīng)用
基于SJA1000的CAN總線智能網(wǎng)橋設(shè)計(jì)
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
雙口RAM讀寫(xiě)正確性自動(dòng)測(cè)試的有限狀態(tài)機(jī)控制器設(shè)計(jì)方法
杂多县| 台北县| 固始县| 皋兰县| 施甸县| 夏邑县| 梅河口市| 五原县| 比如县| 盖州市| 英山县| 子长县| 苍山县| 遵义市| 萨嘎县| 岳普湖县| 连城县| 宝丰县| 阿勒泰市| 达日县| 萨嘎县| 治县。| 泰宁县| 西乌珠穆沁旗| 苍山县| 葫芦岛市| 西青区| 壤塘县| 信阳市| 西贡区| 绍兴市| 玉门市| 启东市| 东方市| 安国市| 毕节市| 襄垣县| 湖北省| 丰原市| 五台县| 和林格尔县|