GPRS網(wǎng)絡(luò)電能表的設(shè)計(jì)方案
3.1 總體架構(gòu)
軟件設(shè)計(jì)基于μC/OS-Ⅱ嵌入式操作系統(tǒng)的多任務(wù)設(shè)計(jì),整體架構(gòu)如圖2所示。
系統(tǒng)軟件包括:主任務(wù)、上行任務(wù)、下行任務(wù)、模擬串口任務(wù)、事件處理任務(wù)和控制處理任務(wù)。
3.1.1 主任務(wù)
實(shí)現(xiàn)全局變量初始化,硬件環(huán)境初始化,信號(hào)量和消息隊(duì)列的建立、其他任務(wù)的創(chuàng)建和啟動(dòng)、鍵盤(pán)掃描、系統(tǒng)時(shí)間和定時(shí)處理、復(fù)位處理等功能。
3.1.2 上行任務(wù)
上行任務(wù)實(shí)現(xiàn)GPRS通信鏈路的建立、維護(hù)及與主站的數(shù)據(jù)交換,包括鏈路維護(hù)、數(shù)據(jù)收發(fā)、協(xié)議解析等功能。
3.1.3 下行任務(wù)
實(shí)現(xiàn)對(duì)基表數(shù)據(jù)定時(shí)抄讀、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)的轉(zhuǎn)發(fā)等功能。
3.1.4 模擬串口管理任務(wù)
由于系統(tǒng)必須實(shí)現(xiàn)上行通信端口、下行通信端口、RS 485通信端口、RS 232通信端口和紅外通信端口5個(gè)串行通信口,而LPC2138內(nèi)部只有兩個(gè)串行口,所以必須對(duì)串口進(jìn)行擴(kuò)展。在此,用軟件來(lái)模擬串口通信,以實(shí)現(xiàn)串口擴(kuò)展。建立一個(gè)模擬串口管理任務(wù),專(zhuān)門(mén)管理下行抄表模擬串口、紅外通信模擬串口和調(diào)試模擬串口。
3.1.5 事件處理任務(wù)
事件處理任務(wù)處理系統(tǒng)發(fā)生的各類(lèi)事件,包括事件記錄、事件上報(bào)等。
3.1.6 控制任務(wù)
控制任務(wù)執(zhí)行一些控制操作,包括預(yù)購(gòu)電控制、保電控制、告警控制等。
3.1.7 任務(wù)間的通信
任務(wù)與任務(wù)之間數(shù)據(jù)傳遞通過(guò)消息發(fā)送和接收來(lái)實(shí)現(xiàn),消息結(jié)構(gòu)為:
消息傳遞函數(shù)定義為:
3.2 軟件模塊實(shí)現(xiàn)流程
軟件采用模塊化設(shè)計(jì),每個(gè)任務(wù)包含不同的功能模塊,由于系統(tǒng)包含模塊較多,在此只給出主任務(wù)模塊流程圖及上行任務(wù)中的GPRS鏈路維護(hù)模塊流程圖。
3.2.1 主任務(wù)流程
主任務(wù)程序流程如圖3所示。
3.2.2 GPRS鏈路維護(hù)流程
上行任務(wù)中的鏈路維護(hù)模塊包括:GPRS網(wǎng)絡(luò)登陸、鏈路狀態(tài)檢測(cè)以及心跳維護(hù)等。其中,GPRS網(wǎng)絡(luò)登陸程序流程如圖4所示。在GPRS通信鏈路建立后,如果長(zhǎng)時(shí)間無(wú)數(shù)據(jù)傳輸,則GPRS網(wǎng)絡(luò)連接將被斷開(kāi),所以必須在一定時(shí)間間隔內(nèi)發(fā)一個(gè)心跳幀至主站,確認(rèn)主站應(yīng)答后說(shuō)明鏈路狀態(tài)正常。不同品牌GPRS模塊的AT指令集不同,因此在編程前須熟悉相關(guān)GPRS模塊的指令集,以實(shí)現(xiàn)鏈路的建立和維護(hù)。
4 結(jié)語(yǔ)
介紹了GPRS網(wǎng)絡(luò)電能表的功能和GPRS無(wú)線(xiàn)通信模塊的軟硬件設(shè)計(jì),它是對(duì)GPRS網(wǎng)絡(luò)電能表開(kāi)發(fā)項(xiàng)目的總結(jié)。系統(tǒng)軟件移植了μC/OS-Ⅱ嵌入式操作系統(tǒng),采用多任務(wù)設(shè)計(jì),提高了系統(tǒng)的實(shí)時(shí)性,對(duì)實(shí)現(xiàn)遠(yuǎn)程無(wú)線(xiàn)抄表具有積極意義,設(shè)計(jì)的產(chǎn)品已在國(guó)家電網(wǎng)公司成功應(yīng)用,且運(yùn)行穩(wěn)定,應(yīng)用效果良好。
電能表相關(guān)文章:電能表原理
評(píng)論