嵌入式LonWorks網(wǎng)絡(luò)智能網(wǎng)關(guān)設(shè)計(jì)
摘要:為了解決LonWorks設(shè)備現(xiàn)場(chǎng)智能控制及遠(yuǎn)程監(jiān)控的需要,提出了通過(guò)嵌入式網(wǎng)關(guān)實(shí)現(xiàn)LON網(wǎng)和以太網(wǎng)協(xié)議的轉(zhuǎn)換方案。本網(wǎng)關(guān)采用電力線收發(fā)器PL3150和帶有以太網(wǎng)控制器的微處理器LPC1778分別實(shí)現(xiàn)LonWorks網(wǎng)絡(luò)和以太網(wǎng)的接口功能。同時(shí)還利用LPC1778戎靡蘊(yùn)網(wǎng)控制器搭建Web服務(wù)器,實(shí)現(xiàn)了一個(gè)遠(yuǎn)程監(jiān)控平臺(tái),達(dá)到了遠(yuǎn)程智能交互與監(jiān)控的目的。本文給出了該智能網(wǎng)關(guān)硬件平臺(tái)和軟件平臺(tái)的方案和實(shí)現(xiàn)方法。
本文引用地址:http://butianyuan.cn/article/201609/305058.htmLonWorks技術(shù)是美國(guó)Echelon公司于90年代初推出的一種現(xiàn)代總線技術(shù),它具有開(kāi)放性、高速性和互操作性而已被各行業(yè)廣泛使用。而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é)議和TC/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)程控制。
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.1 Lon網(wǎng)協(xié)議和LwIP協(xié)議轉(zhuǎn)換模塊
該模塊是整個(gè)系統(tǒng)的核心,其不僅包括網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換功能,而且完成系統(tǒng)其它顯示傳輸功能。該模塊的主控芯片為NXP公司生產(chǎn)的LPC17 78,其片上資源包括512 Kb的FLASH存儲(chǔ)器、高達(dá)64 Kb的SRAM,系統(tǒng)時(shí)鐘頻率可高達(dá)120 MHz,同時(shí)可內(nèi)嵌操作系統(tǒng)。LPC1778內(nèi)置外部總線控制器,通過(guò)總線方式讀寫雙口RAM,從而完成與數(shù)據(jù)采集收發(fā)模塊的高速數(shù)據(jù)交換。另外,嵌入式WEB服務(wù)器的架構(gòu)需要大容量的存儲(chǔ)器,片上資源已不能夠滿足現(xiàn)有的需要,因此外部擴(kuò)展一片16 Mb的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,其支持總線讀寫方式,有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.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)行。網(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)行雙邊讀寫操作。為了避免數(shù)據(jù)信息交換時(shí)的讀寫沖突、產(chǎn)生競(jìng)爭(zhēng),在讀寫操作時(shí)要進(jìn)行控制以進(jìn)行同步訪問(wèn)。本文采用通過(guò)定時(shí)查詢控制地址的值來(lái)進(jìn)行同步訪問(wèn)操作。將2 KB的雙口RAM劃分為3個(gè)主要部分宋存放不同內(nèi)容:存放ARM對(duì)PL3150的控制信息;存放PL3150向ARM發(fā)送的數(shù)據(jù)信息;控制同步訪問(wèn)信息。
3.3 μC/OS—II操作系統(tǒng)移植
評(píng)論