隨著技術的發展,抄表方式也從現場人工抄表到遠程自動抄表轉變,目前用于抄表的技術有多種,如RS485總線、紅外和電力線載波等,這些抄表技術相對比較成熟,但應用卻各有其局限性,如RS 485總線抄表需要布線而增加投資,且傳輸距離不能超過1200m,紅外抄表需要人工現場抄表,電力載波抄表由于電磁干擾等的影響傳輸距離受限。GPRS通信技術成熟,網絡覆蓋廣,可以永久在線,按流量計費,費用低廉,且不受距離和空間的限制,使得在抄表行業的應用非常適合。
1 GPRS網絡電能表
GPRS網絡電能表就是GPRS通信技術和電表技術的結合體,他將三相多功能電能表和GPRS通信模塊相結合,形成具有無線網絡通信能力的電能計量裝置。GPRS網絡電能表由基表和GPRS無線通信模塊兩部分組成。
1.1 基表
基表可實現普通三相多功能電能表的基本功能,在未接入GPRS通信模塊的情況下,不影響其作為普通多功能電能表的使用。它對交流模擬量進行實時采樣、處理和存儲,實現電能計量、需量測量、復費率、負荷曲線計算和存儲、數據凍結、事件記錄、復費率等,可實現用戶預購電控制、負荷控制、遠程控制等功能。具備RS 485通信接口、紅外通信接口、GPRS通信模塊接口,以實現數據的抄讀和設置;基表還具有本地液晶顯示,可支持本地巡顯和鍵顯功能。
1. 2 GPRS通信模塊
GPRS通信模塊是GPRS網絡電能表的數據上傳的關鍵節點,作為網絡電能表的一個獨立模塊,在不影響基表計量的情況下,滿足用戶抄表系統的技術要求和傳輸規約,實現數據的可靠傳輸。GPRS通信模塊與基表的下行通信滿足DT/L645多功能電能表通信協議,與主站的上行通信滿足《電力用戶用電信息采集系統通信協議》(Q/GDW 376.1-2009)標準。
在此著重描述GPRS通信模塊的軟硬件設計。
2 GPRS通信模塊硬件結構
2.1 系統框圖
GPRS無線通信模塊的系統框圖如圖1所示。系統包括:ARM微處理器(LPC2138)、GPRS模塊、FLASH和鐵電存儲器、紅外收發、RS 232串行調試接口、RS 485通信接口、JTAG仿真接口、LED指示及電源轉換等。
2.2 模塊功能
2.2.1 微處理器
采用基于ARM7TDMI-S內核的32位微處理器LPC2138,其內嵌了512 KB的高速FLASH存儲器和32 KB的RAM,具有豐富的外設資源,如:2個32位定時器(帶捕獲、比較通道);2個10位8路ADC;1個10位DAC;PWM通道;47路GPIO;9個邊沿或電平觸發的外部中斷;具有獨立電源和時鐘的RTC;多個串行接口(UART,I2C,SPI,SSP);內含向量中斷控制器,可配置中斷優先級和向量地址;片內Boot裝載程序,可以實現在系統/在應用編程(ISP/IAP),通過片內PLL可實現60 MHz的CPU操作頻率,具有空閑和掉電2種低功耗模式,并且可通過外部中斷喚醒。
2.2.2 GPRS模塊
采用深圳有方科技出品的M580z模塊,其內部集成了TCP/IP協議棧,具有兩個通信鏈路,一路標準TTL串行通信端口,精簡的AT指令集,通過AT命令可實現模塊的參數設置和數據發送。M580與CPU通過一個TTL電平的串行口連接。
2.2.3 存儲器
由于與主站的上行通信應滿足《電力用戶用電信息采集系統通信協議》,需要存儲規約要求的一類數據(實時數據)、二類數據(曲線數據、統計數據)和三類數據(事件),特別是曲線數據要求存儲的數據量大,因此采用大容量的FLASH存儲器來存儲二類和三類數據。由于鐵電存儲器可無限制的擦寫,所以用來存儲需要經常更新的實時數據和設置參數。存儲器與MPU的接口為SPI接口。
2.2.4 串行接口和JTAG仿真端口
利用RS 232串行口、紅外通信口可實現模塊參數的本地設置和維護。其中,RS 232串口可實現對GPRS模塊狀態的監測,通過RS 485串行口可抄讀滿足《電力用戶用電信息采集系統通信協議》的數據;JTAG仿真端口可對ARM處理器進行仿真和程序燒寫。
2.2.5 LED指示
LED指示燈用來指示模塊的電源狀態、模塊登陸狀態、網絡通信狀態及保電狀態等。
2.2.6 三相電能表
三相電能表實現電能量及電壓電流等數據的采集與計算。它與MPU通過一個串行口連接,通信規約滿足DT/L645協議,模塊定時抄讀三相表數據,包括電量、需量、電壓、電流等實時數據,并將抄讀到的數據進行轉換和存儲,以滿足主站對模塊的訪問要求。
3 軟件設計
3.1 總體架構
軟件設計基于μC/OS-Ⅱ嵌入式操作系統的多任務設計,整體架構如圖2所示。
系統軟件包括:主任務、上行任務、下行任務、模擬串口任務、事件處理任務和控制處理任務。
3.1.1 主任務
實現全局變量初始化,硬件環境初始化,信號量和消息隊列的建立、其他任務的創建和啟動、鍵盤掃描、系統時間和定時處理、復位處理等功能。
3.1.2 上行任務
上行任務實現GPRS通信鏈路的建立、維護及與主站的數據交換,包括鏈路維護、數據收發、協議解析等功能。
3.1.3 下行任務
實現對基表數據定時抄讀、數據處理、數據存儲、數據的轉發等功能。
3.1.4 模擬串口管理任務
由于系統必須實現上行通信端口、下行通信端口、RS 485通信端口、RS 232通信端口和紅外通信端口5個串行通信口,而LPC2138內部只有兩個串行口,所以必須對串口進行擴展。在此,用軟件來模擬串口通信,以實現串口擴展。建立一個模擬串口管理任務,專門管理下行抄表模擬串口、紅外通信模擬串口和調試模擬串口。
3.1.5 事件處理任務
事件處理任務處理系統發生的各類事件,包括事件記錄、事件上報等。
3.1.6 控制任務
控制任務執行一些控制操作,包括預購電控制、保電控制、告警控制等。
3.1.7 任務間的通信
任務與任務之間數據傳遞通過消息發送和接收來實現,消息結構為:
消息傳遞函數定義為:
3.2 軟件模塊實現流程
軟件采用模塊化設計,每個任務包含不同的功能模塊,由于系統包含模塊較多,在此只給出主任務模塊流程圖及上行任務中的GPRS鏈路維護模塊流程圖。
3.2.1 主任務流程
主任務程序流程如圖3所示。
3.2.2 GPRS鏈路維護流程
上行任務中的鏈路維護模塊包括:GPRS網絡登陸、鏈路狀態檢測以及心跳維護等。其中,GPRS網絡登陸程序流程如圖4所示。在GPRS通信鏈路建立后,如果長時間無數據傳輸,則GPRS網絡連接將被斷開,所以必須在一定時間間隔內發一個心跳幀至主站,確認主站應答后說明鏈路狀態正常。不同品牌GPRS模塊的AT指令集不同,因此在編程前須熟悉相關GPRS模塊的指令集,以實現鏈路的建立和維護。
4 結語
介紹了GPRS網絡電能表的功能和GPRS無線通信模塊的軟硬件設計,它是對GPRS網絡電能表開發項目的總結。系統軟件移植了μC/OS-Ⅱ嵌入式操作系統,采用多任務設計,提高了系統的實時性,對實現遠程無線抄表具有積極意義,設計的產品已在國家電網公司成功應用,且運行穩定,應用效果良好。