亢紅波,許宏科
(1.長安大學 電子與控制工程學院,西安710064;2.西安郵電大學)
亢紅波(講師),研究方向為智能測控。
引 言
物聯(lián)網(wǎng)已逐漸走進智能電網(wǎng)的時代,傳統(tǒng)的電表(包括電子式電表)已遠遠落后于發(fā)展需求,智能電表將成為一個不可或缺的重要環(huán)節(jié)。目前市場流行多種傳輸方式的遠程抄表系統(tǒng),如現(xiàn)場總線方式[1]、專用光纖網(wǎng)絡(luò)方式、電話交換網(wǎng)絡(luò)方式[2]、Internet方式[3]、無線數(shù)傳電臺方式、GPRS方式[4-7],這些方式在成本、功耗等方面各有其優(yōu)缺點[8]。
本文設(shè)計的基于物聯(lián)網(wǎng)的智能電表采集系統(tǒng),遵循DL/T645-2007《多功能電能表通信協(xié)議》、GB/T19582-2008《基于Modbus協(xié)議的工業(yè)自動化網(wǎng)絡(luò)規(guī)范》等規(guī)范標準,采用超低功耗控制設(shè)計思想,通過Modbus總線網(wǎng)絡(luò)與互聯(lián)網(wǎng)絡(luò)的本地融合,實現(xiàn)雙流向、遠距離、全自動、高可靠的智能儀表數(shù)據(jù)采集,豐富了智能電表系統(tǒng)的內(nèi)涵。
基于物聯(lián)網(wǎng)的智能電表采集系統(tǒng)結(jié)構(gòu)如圖1 所示。采集系統(tǒng)包括:智能儀表節(jié)點、數(shù)據(jù)采集終端設(shè)備、監(jiān)控上位機。智能儀表節(jié)點包括遵循各類規(guī)范標準的智能儀表,完成命令接收(要數(shù)命令、配置命令),以及數(shù)據(jù)上傳(數(shù)據(jù)信息、本地信息)等功能,可選用標準工業(yè)化設(shè)備;數(shù)據(jù)采集終端設(shè)備是整個網(wǎng)絡(luò)的核心,實現(xiàn)儀表數(shù)據(jù)采集、數(shù)據(jù)處理、協(xié)議轉(zhuǎn)換、TCP/IP網(wǎng)絡(luò)協(xié)議封裝打包及數(shù)據(jù)上傳、遠程命令下發(fā)、本地存儲調(diào)試等功能;監(jiān)控上位機完成數(shù)據(jù)的歸檔、融合、顯示、查詢,必要時輔以專家系統(tǒng),以實現(xiàn)相應的控制動作,系統(tǒng)也包含了相應的用戶安全設(shè)計。
系統(tǒng)硬件設(shè)計以功耗、可靠性為基本評價標準,同時還需兼顧現(xiàn)場的供電、維護等條件,主要包括:
①低功耗設(shè)計:采用低功耗主控器與外圍功能元件;
圖1 系統(tǒng)結(jié)構(gòu)圖
②多方案供電設(shè)計:除外部電源適配器供電外,還配備了后備電池(關(guān)鍵單元配專用電池);
③易維護性設(shè)計:預留本地調(diào)試接口,可進行現(xiàn)場維護,還可通過遠程網(wǎng)絡(luò)授權(quán)維護;
④抗干擾及穩(wěn)定性設(shè)計:選用抗電磁干擾設(shè)計器件,電路合理分區(qū)布局,電源的濾波與抗噪,合理利用看門狗,系統(tǒng)環(huán)境溫濕度監(jiān)測與處理等。
數(shù)據(jù)采集終端設(shè)備的組成框圖如圖2所示。
圖2 數(shù)據(jù)采集終端設(shè)備組成框圖
硬件采用模塊化的電路設(shè)計,包括微控制器最小系統(tǒng)模塊、網(wǎng)絡(luò)模塊、RS485總線傳輸模塊、數(shù)據(jù)存儲模塊、系統(tǒng)調(diào)試模塊、電源管理模塊、RTC電路模塊等部分。
2.2.1 微控制器最小系統(tǒng)設(shè)計
系統(tǒng)選取飛思卡爾超低功耗微控制器KL46為主控芯片,其有3個UART、2個SPI和2個I2C接口,并集成了高速模擬比較器和功能強大的定時器,完全滿足本系統(tǒng)設(shè)計要求。KL46最小系統(tǒng)包括了復位電路、晶振電路、JTAG接口電路。微控制器最小系統(tǒng)原理圖略——編者注。
2.2.2 網(wǎng)絡(luò)模塊設(shè)計
網(wǎng)絡(luò)模塊以ENC28J60為主芯片,與MCU 通過SPI接口進行通信,輸入/輸出信號有:RST 復位信號、INT 中斷信號、WOL 喚醒信號及CLKOUT 時鐘輸出信號,如圖3所示。
圖中R13~R20 均為上拉電阻,對主控制器KL46到芯片ENC28J60之間的信號做上拉處理,避免高阻態(tài)的出現(xiàn);C12為1μF 的極性電容,作為電源的濾波;而TPOUT+、TPOUT-以及TPIN+、TPIN-則為網(wǎng)絡(luò)傳輸?shù)牟罘中盘柧€,這4根跳線將接入到網(wǎng)絡(luò)變壓器進行電壓轉(zhuǎn)換后,再傳輸。
網(wǎng)絡(luò)接口選用HR911105A 的RJ45接口,其內(nèi)部含有網(wǎng)絡(luò)信號的電壓保護及轉(zhuǎn)換電路,客觀上也減少了PCB的設(shè)計負擔。
2.2.3 數(shù)據(jù)存儲模塊設(shè)計
數(shù)據(jù)存儲模塊選用超小型大容量SD 記憶卡為載體,其原理略——編者注。
2.2.4 RS485總線電路設(shè)計
RS485總線電路分為兩個RS485總線模塊部分:數(shù)據(jù)采集部分和數(shù)據(jù)上傳部分。如圖4所示,RS485傳輸芯片采用Maxim 公司生產(chǎn)的MAX3072,具有3.3V 的供電特性,可支持高達256個節(jié)點的通信。
2.2.5 電源管理電路設(shè)計
系統(tǒng)在設(shè)計時考慮到功耗及抗干擾因素,需要分別對3部分電路進行穩(wěn)壓設(shè)計:核心部分(主控制器、調(diào)試端口、時鐘芯片),采集部分(RS485總線采集的芯片設(shè)備),以及網(wǎng)絡(luò)部分(ENC28J60 網(wǎng)絡(luò)芯片、數(shù)據(jù)上傳部分及SD卡)。
為了解決工業(yè)環(huán)境的電源供電問題,系統(tǒng)利用LM2940的5V 穩(wěn)壓芯片,可以滿足6~26V 電源的DC直流輸入和備用電池充電輸入,其前級可采用AC/DC 模塊,備用電池接口具備防反接設(shè)計。電源、開關(guān)電路及3.3V穩(wěn)壓電路設(shè)計略——編者注。
圖3 網(wǎng)絡(luò)模塊電路
圖4 RS485電路
系統(tǒng)軟件設(shè)計采用服務(wù)式層次化程序設(shè)計思路,針對不同的模塊,編寫相應的驅(qū)動代碼與通信協(xié)議代碼。利用ARM 內(nèi)核的NVIC 對系統(tǒng)不同的服務(wù)進程進行任務(wù)調(diào)度,從而實現(xiàn)了簡單的多任務(wù)處理過程,同時通過優(yōu)化程序代碼結(jié)構(gòu),系統(tǒng)對資源的利用率和對任務(wù)的響應速度都得到了極大的提升。
系統(tǒng)軟件設(shè)計采用服務(wù)式程序設(shè)計,故系統(tǒng)設(shè)備將以服務(wù)進程的方式運行,由以下幾部分組成。
3.1.1 初始化服務(wù)
初始化服務(wù)分為多個不同的初始化過程,并按照一定的順序進行,當完成所有初始化后,該服務(wù)將自行關(guān)閉。
①內(nèi)核初始化:微控制器芯片ARM 內(nèi)核初始化、RAM 空間初始化,分配堆棧區(qū)、中斷向量表等系統(tǒng)使用空間;
②內(nèi)部驅(qū)動初始化:初始化PLL、GPIO、UART、SPI、PIT、LPTMR等;
③外部設(shè)備初始化:利用已初始化完成的芯片驅(qū)動,控制 ENC28J60、 SD 卡、MAX13432、DS3234 等 一 系 列外部器件,同時進行設(shè)備的開機自檢,保證設(shè)備正常,待后續(xù)服務(wù)使用;
④參數(shù)初始化:使用內(nèi)部Flash和時鐘芯片DS3234中的RAM 進行參數(shù)存儲,以備掉電時的參數(shù)保存,當系統(tǒng)啟動時要對參數(shù)進行重新加載。
⑤協(xié)議初始化:芯片器件之間的通信以及網(wǎng)絡(luò)上的通信都需要不同的協(xié)議,根據(jù)獲取的參數(shù)初始化相應的協(xié)議功能。
3.1.2 后臺調(diào)試服務(wù)
后臺調(diào)試服務(wù)在系統(tǒng)初始化完成后啟動,負責指令的識別及相應的處理并返回結(jié)果,服務(wù)啟動后將駐留后臺。服務(wù)主要通過UART 接口負責通信和調(diào)試,當網(wǎng)絡(luò)傳輸服務(wù)開啟后將會接入該服務(wù),利用特定的TCP、UDP端口進行網(wǎng)絡(luò)指令和響應的傳輸。
3.1.3 文件系統(tǒng)服務(wù)
文件系統(tǒng)服務(wù)在SD 卡初始化完成后啟用,負責SD卡等外部存儲設(shè)備的文件讀寫。利用開源的FatFs文件系統(tǒng),通過已初始化好的SD 卡程序接口,對外部存儲器進行文件系統(tǒng)的操作和管理。服務(wù)主要以后臺等待的方式存在,只有對外部存儲設(shè)備進行操作時在前臺運行。
3.1.4 網(wǎng)絡(luò)傳輸服務(wù)
網(wǎng)絡(luò)傳輸服務(wù)以TCP/IP協(xié)議棧為主,整個協(xié)議棧存在于主控制器中。網(wǎng)絡(luò)傳輸服務(wù)啟動后,將接管ENC28J60以太網(wǎng)控制器的控制權(quán),所有網(wǎng)絡(luò)數(shù)據(jù)都將由該服務(wù)處理。該服務(wù)啟動后將首先運行DHCP請求,以自動獲取IP。獲得分配的IP后,服務(wù)將在后臺等待網(wǎng)絡(luò)數(shù)據(jù)。
3.1.5 數(shù)據(jù)采集服務(wù)
數(shù)據(jù)采集服務(wù)為整個系統(tǒng)中唯一一個長期處于前臺的服務(wù)程序,僅當其他服務(wù)程序均正常啟動時運行,主要負責RS485總線上的數(shù)據(jù)收發(fā),發(fā)送節(jié)點終端的查詢數(shù)據(jù)包。接收到數(shù)據(jù)后,首先調(diào)用文件系統(tǒng)服務(wù),將數(shù)據(jù)寫入外部存儲器,然后再調(diào)用網(wǎng)絡(luò)傳輸服務(wù),將數(shù)據(jù)組包發(fā)送給服務(wù)器。
系統(tǒng)軟件采用層次化結(jié)構(gòu)的設(shè)計思想。利用層次分明的結(jié)構(gòu)進行程序設(shè)計,有利于代碼的編寫、閱讀、修改。從芯片的底層驅(qū)動開始,層層往上,程序結(jié)構(gòu)框圖如圖5 所示。下層結(jié)構(gòu)向上層提供函數(shù)接口,上層結(jié)構(gòu)利用下層提供的接口進行控制操作。
圖5 程序結(jié)構(gòu)框圖
3.2.1 TCP/IP網(wǎng)絡(luò)協(xié)議
系統(tǒng)采用的TCP/IP網(wǎng)絡(luò)協(xié)議為獨立設(shè)計編寫,而考慮到單片機的資源利用問題,精簡了大部分無用的子協(xié)議,以最少的資源完成最大的功能。協(xié)議報文,TCP 連接,動態(tài)獲取IP過程略——編者注。
3.2.2 存儲設(shè)備驅(qū)動
系統(tǒng)需要利用SD卡作為外部存儲設(shè)備,再加上文件系統(tǒng),以對外部存儲器進行文件管理操作。
SD卡驅(qū)動略——編者注。在外部存儲器中,存儲的均為0、1組成的二進制數(shù)據(jù),進行操作時為了方便而需要轉(zhuǎn)換成十六進制數(shù)據(jù),但是與在操作系統(tǒng)中進行的文件操作仍有很大區(qū)別。通過文件系統(tǒng),用戶可以方便地對存儲器進行分區(qū)、創(chuàng)建文件、寫入文件、讀取文件、刪除文件等操作。
FatFs是一個開源的、專門為嵌入式系統(tǒng)研發(fā)的通用FAT 文件系統(tǒng),全代碼由ANSI C編寫完成,具有完全分離的磁盤I/O 操作、獨立的硬件體系結(jié)構(gòu)。其結(jié)構(gòu)略——編者注。
移植FatFs時僅需修改ffconf.h和diskio.c文件,根據(jù)系統(tǒng)的需求,修改ffconf.h文件中不同的宏定義即可。
相關(guān)管理中心的上位監(jiān)控機對整個系統(tǒng)進行管理監(jiān)控,完成數(shù)據(jù)采集、命令下發(fā)、遠程配置、數(shù)據(jù)融合、能耗分析等功能。利用VC和SQLserver數(shù)據(jù)庫開發(fā),此處不再贅述。
結(jié) 語
本文設(shè)計的基于物聯(lián)網(wǎng)的智能電表采集系統(tǒng),實現(xiàn)了對現(xiàn)場設(shè)備電氣參數(shù)實時采集及監(jiān)控,靈活地結(jié)合了當前智能電表的現(xiàn)場總線傳輸規(guī)范和網(wǎng)絡(luò)傳輸方式,實現(xiàn)了真正意義上的雙向數(shù)據(jù)通信,是智能電網(wǎng)發(fā)展的新方向,為電網(wǎng)安全運行提供了更可靠的支撐手段,同時,也為能耗控制提供了保證。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1]邢應春.遠程集中抄表系統(tǒng)技術(shù)研究與開發(fā)應用[D].合肥:合肥工業(yè)大學,2007.
[2]孔建華.智能遠程抄表系統(tǒng)的設(shè)計與開發(fā)[D].南京:南京理工大學,2005.
[3]李蘭春.基于ARM 的GPRS數(shù)據(jù)采集傳輸系統(tǒng)[D].太原:太原理工大學,2012.
[4]ChinE Lin,Chih-Ching Li.A Real Time GPRS Surveillance System Using the Embedded System[J].Journal of Aerospace Computing,Information and Communication,2004(1):44-59.
[5]楊威.利用GPRS 網(wǎng)絡(luò)實現(xiàn)遠程監(jiān)控[J].航空制造技術(shù),2010(22):114-116.
[6]吳雙,徐琦,趙珂,等.基于GPRS技術(shù)的遠程智能抄表系統(tǒng)設(shè)計與研究[J].電子設(shè)計工程,2011(12):66-67.
[7]Musheng Y,Yu Z,Rong C.Study on wireless remote monitoring system based on GPRS[C]//Wireless Communications,Networking and Mobile Computing,2008.
[8]呂曉東.基于GPRS M 絡(luò)的遠程抄表系統(tǒng)軟件設(shè)計[D].南京:南京理工大學,2014.