朱山川
(安徽省滁州職業(yè)技術(shù)學(xué)院 電氣工程學(xué)院,安徽 滁州 239000)
隨著經(jīng)濟(jì)發(fā)展,我國電力的發(fā)展也越來越迅速,提高電能計(jì)量的準(zhǔn)確性不僅提高了電能的使用效率、企業(yè)的生產(chǎn)利益、保障了消費(fèi)者的權(quán)益,還提高了企業(yè)生產(chǎn)的安全性[1]。本項(xiàng)目對(duì)現(xiàn)代信息化和網(wǎng)絡(luò)化程度都較高的電能計(jì)量管理系統(tǒng)中所必須配備的數(shù)據(jù)網(wǎng)關(guān)進(jìn)行了設(shè)計(jì)和研究,該網(wǎng)關(guān)可靠性、安全性、實(shí)時(shí)性均可滿足電量計(jì)量管理系統(tǒng)的工作要求。
本項(xiàng)目所涉及到的電能管理系統(tǒng)結(jié)構(gòu)(見圖1),數(shù)據(jù)網(wǎng)關(guān)在系統(tǒng)中可通過485串口實(shí)現(xiàn)和電表的通訊,通過以太網(wǎng)接口實(shí)現(xiàn)和服務(wù)器的通訊,通過本地接口完成相關(guān)參數(shù)設(shè)置的功能。該數(shù)據(jù)網(wǎng)關(guān)通過在通訊接口中使用接地屏蔽層,通訊中采用MD5校驗(yàn)等方法提高系統(tǒng)的可靠性;通過在通訊過程中使用AES算法保障系統(tǒng)的安全性;依靠命令查詢模式,通過中斷來進(jìn)行響應(yīng)保證系統(tǒng)的實(shí)時(shí)性;硬件設(shè)計(jì)時(shí)利用ARM芯片CPU的低功耗特性來降低網(wǎng)關(guān)的功耗。
圖1 電能管理系統(tǒng)結(jié)構(gòu)示意圖
圖2 數(shù)據(jù)網(wǎng)關(guān)結(jié)構(gòu)框圖
本項(xiàng)目設(shè)計(jì)的網(wǎng)關(guān)系統(tǒng)采用嵌入式系統(tǒng)進(jìn)行開發(fā),硬件系統(tǒng)的結(jié)構(gòu)框圖設(shè)計(jì)(見圖2)。該網(wǎng)關(guān)系統(tǒng)采用philips出品的LPC2292型號(hào)ARM芯片作為CPU,并設(shè)計(jì)相關(guān)配套外圍電路來實(shí)現(xiàn)數(shù)據(jù)網(wǎng)關(guān)的各項(xiàng)功能。LPC2292是一款基于16/32位ARM7TDMI-S、具有支持實(shí)時(shí)仿真和跟蹤的CPU并帶有256 kB嵌入的高速flash存儲(chǔ)器[2]。該芯片具有運(yùn)行速度快、功耗低、內(nèi)置串行通信接口能特點(diǎn),符合數(shù)據(jù)網(wǎng)關(guān)的工作要求。
本網(wǎng)關(guān)系統(tǒng)需要使用RS232、RS485串口和以太網(wǎng)通信接口進(jìn)行通信。其中,RS232通信接口使用光耦6N137芯片和MAX232芯片配合設(shè)計(jì);RS485通信接口使用3個(gè)光耦6N137芯片和1個(gè)485收發(fā)器設(shè)計(jì);以太網(wǎng)通信采用IEEE802.3標(biāo)準(zhǔn),由于CPU芯片沒有內(nèi)置以太網(wǎng)通信模塊,因此在設(shè)計(jì)時(shí)選用CS8900A芯片來實(shí)現(xiàn)以太網(wǎng)通信模塊的設(shè)計(jì)。CS8900A支持8位、16位的微處理器,傳輸速率為10 Mbps[3]。以以太網(wǎng)通信接口為例,其芯片外圍電路設(shè)計(jì)(見圖3)。
圖3 網(wǎng)卡外圍電路圖
本系統(tǒng)為保證數(shù)據(jù)存儲(chǔ)的容量,采用外擴(kuò)存儲(chǔ)器的方式進(jìn)行數(shù)據(jù)存儲(chǔ),具體分為兩種:flash型存儲(chǔ)器和ram型存儲(chǔ)器。其中flash存儲(chǔ)器采用samsung出品的32 MB容量K9F5608芯片,該芯片,具有8位I/O0~I(xiàn)/O7數(shù)據(jù)輸入輸出接口,方便和單片機(jī)數(shù)據(jù)口進(jìn)行連接[4];ram存儲(chǔ)器采用lyontek出品的128 kB容量LY61L1024芯片。
在本系統(tǒng)中,需要使用5V、3.3V 1.8V三種直流電壓。,在設(shè)計(jì)時(shí)通過交直流轉(zhuǎn)換電路實(shí)現(xiàn)三種電壓值的電源隔離,該模塊其中一部分提供5 V電壓,另一部分實(shí)現(xiàn)將5V電壓轉(zhuǎn)換為3.3V和1.8V電壓,電路設(shè)計(jì)圖(見圖4)。
圖4 電源模塊電路設(shè)計(jì)圖
為提高系統(tǒng)工作可靠性,本系統(tǒng)設(shè)計(jì)有看門狗及復(fù)位模塊,具體采用CAT823芯片來實(shí)現(xiàn),電路設(shè)計(jì)圖(見圖5)。
本系統(tǒng)時(shí)鐘電路模塊采用實(shí)時(shí)時(shí)鐘芯片是X1226,X1226具有時(shí)鐘和日歷的功能,日歷可正確通過2099年,具有自動(dòng)閏年修正[5]。其中X1、X2引腳接晶振。正常工作時(shí)系統(tǒng)時(shí)鐘電路由系統(tǒng)電源供電;當(dāng)?shù)綦姇r(shí)由電池供電,保證系統(tǒng)時(shí)鐘電路正常運(yùn)行。
圖5 看門狗及復(fù)位模塊電路設(shè)計(jì)圖
由于數(shù)據(jù)網(wǎng)關(guān)的核心工作是接收數(shù)字式電表發(fā)來的電能數(shù)據(jù)并對(duì)其進(jìn)行處理,同時(shí)上傳至數(shù)據(jù)中心,實(shí)現(xiàn)電能管理的數(shù)字化和信息化。[6]因此結(jié)合功能要求,對(duì)數(shù)據(jù)網(wǎng)關(guān)軟件系統(tǒng)設(shè)計(jì)流程圖(見圖6)。在具體軟件功能實(shí)現(xiàn)方面,將軟件系統(tǒng)功能分為串口模塊、存儲(chǔ)器模塊、數(shù)據(jù)處理模塊、看門狗模塊、實(shí)時(shí)時(shí)鐘模塊等功能模塊。
圖6 網(wǎng)關(guān)軟件設(shè)計(jì)總體框圖
串口模塊分為UART0和UART1兩部分,其中UART0部分主要完成和數(shù)字電表的通信,UART1部分主要完成和設(shè)置器的通信,完成網(wǎng)關(guān)編號(hào)、IP地址等參數(shù)的設(shè)置。以UART0為例,其采用DL/T645—1997多功能電能表通信規(guī)約,采用中斷方式接收電表數(shù)據(jù)[7]。程序主要分為2個(gè)部分:第1部分使用的是查詢命令發(fā)送函數(shù),主要通過網(wǎng)關(guān)給相應(yīng)的電表發(fā)送查詢命令,完成校驗(yàn)和接收到的數(shù)據(jù)比較工作。網(wǎng)關(guān)發(fā)送查詢命令的軟件流程設(shè)計(jì)圖(見圖7)。
圖7 網(wǎng)關(guān)發(fā)送查詢命令軟件設(shè)計(jì)流程圖
第2部分是中斷接收函數(shù),主要完成對(duì)接收數(shù)據(jù)的校驗(yàn)工作。判斷接收數(shù)據(jù)是否正確,如正確,則將數(shù)據(jù)存儲(chǔ)到對(duì)應(yīng)的位置,同時(shí)查詢電表號(hào)加1,啟動(dòng)對(duì)下一個(gè)電表的查詢;如錯(cuò)誤,網(wǎng)關(guān)重新發(fā)送查詢命令,累計(jì)錯(cuò)誤達(dá)兩次時(shí),查詢電表號(hào)加1,開始查詢下一個(gè)電表,直至電表號(hào)加1后大于該網(wǎng)關(guān)所帶的電表數(shù)為止。
圖8為數(shù)據(jù)處理模塊軟件設(shè)計(jì)流程。數(shù)據(jù)處理模塊完成的主要工作是根據(jù)數(shù)據(jù)網(wǎng)關(guān)與電表的通訊協(xié)議,解包從電表接收的數(shù)據(jù),并存儲(chǔ)到指定的緩沖區(qū)中。其數(shù)據(jù)使用XML數(shù)據(jù)格式,并采用MD5算法進(jìn)行校驗(yàn),采用AES對(duì)數(shù)據(jù)進(jìn)行加密后上傳。
圖8 數(shù)據(jù)處理模塊軟件設(shè)計(jì)流程圖
存儲(chǔ)器模塊軟件設(shè)計(jì)主要針對(duì)外擴(kuò)存儲(chǔ)器模塊,其中外擴(kuò)ram存儲(chǔ)器主要完成緩存功能,只需要對(duì)存儲(chǔ)空間控制做出合理分配即可,外擴(kuò)flash存儲(chǔ)器軟件設(shè)計(jì)主要包括對(duì)數(shù)據(jù)的讀、寫和擦除3個(gè)部分。
結(jié)合本項(xiàng)目硬件設(shè)計(jì)中使用嵌入式系統(tǒng)進(jìn)行開發(fā)的特點(diǎn),對(duì)TCP/IP協(xié)議進(jìn)行了剪裁和實(shí)現(xiàn),只保留與系統(tǒng)功能有關(guān)的協(xié)議,并對(duì)部分協(xié)議進(jìn)行簡(jiǎn)化。例如ARP協(xié)議只保留支持以太網(wǎng)的功能,其他功能全部剪裁掉等[8-9]。簡(jiǎn)化后的協(xié)議仍符合標(biāo)準(zhǔn)規(guī)定,具體實(shí)現(xiàn)內(nèi)容包括以太網(wǎng)協(xié)議、ARP協(xié)議、IP協(xié)議、ICMP協(xié)議的實(shí)現(xiàn)等。以ICMP協(xié)議為例,與完整的ICMP協(xié)議可以完成檢查目的地址、數(shù)據(jù)控制、檢查路由等各種功能不同,本系統(tǒng)中只保留ICMP協(xié)議中測(cè)試網(wǎng)絡(luò)是否聯(lián)通的功能,具體協(xié)議實(shí)現(xiàn)流程圖(見圖9)。
圖9 ICMP協(xié)議實(shí)現(xiàn)流程圖
本項(xiàng)目所設(shè)計(jì)的智能數(shù)據(jù)網(wǎng)關(guān)系統(tǒng)對(duì)數(shù)據(jù)的采集及時(shí)可靠,既可以完成命令查詢數(shù)據(jù)工作,又可以完成主動(dòng)定時(shí)查詢數(shù)據(jù)工作,采集周期可在10~60 min之間任意配置,由于設(shè)計(jì)了外置存儲(chǔ)器,可以實(shí)現(xiàn)數(shù)據(jù)在網(wǎng)絡(luò)部分傳輸故障時(shí)的數(shù)據(jù)保存。經(jīng)運(yùn)行測(cè)試,該網(wǎng)管系統(tǒng)通信方便可靠,作為電量計(jì)量管理系統(tǒng)的重要組成部分,可以配合管理系統(tǒng)完成對(duì)電表信息和各項(xiàng)數(shù)據(jù)的傳輸、存儲(chǔ)和處理,具有較好的實(shí)用價(jià)值。