《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 低壓電力載波抄表終端遠程升級系統(tǒng)開發(fā)
低壓電力載波抄表終端遠程升級系統(tǒng)開發(fā)
李香泉,崔家瑞,,毛永靜,,倪元敏
摘要: 低壓電力載波抄表終端遠程升級系統(tǒng)開發(fā),隨著技術的發(fā)展,低壓電力載波抄表終端已廣泛應用于電力各行業(yè),,為電力部門節(jié)省了人力物力資源,并提高了效率,。另一方面,,電力載波抄表終端系統(tǒng)的維護卻需要大量的工程人員去現(xiàn)場進行維護,這是各相關企業(yè)和公司急需解決的問題,。針對這一問題,,將POP3郵件接收協(xié)議和ARM的IAP功能相結合,提出了基于POP3的低壓電力載波抄表終端的遠程升級系統(tǒng),,該系統(tǒng)通過連接POP3升級服務器,,下載新程序并進行。Base 64解碼,,最后利用ARM7的IAP功能實現(xiàn)程序的實時更新,,解決了終端系統(tǒng)程序現(xiàn)場維護的問題,真正意義上節(jié)省了人力物力資源,。實踐證明了該系統(tǒng)的有效性,。
Abstract:
Key words :

 引 言
   
隨著科技的發(fā)展,低壓電力載波抄表終端已廣泛應用于電力的各個行業(yè),,為電力部門節(jié)省了人力物力資源并提高了效率,。另一方面,,電力載波抄表終端系統(tǒng)卻需要大量的工程人員去現(xiàn)場維護。這是各相關企業(yè)和公司急需解決的問題,,針對這一問題,,提出了基于POP3的低壓電力載波抄表終端的遠程升級系統(tǒng),該系統(tǒng)通過連接POP3升級服務器,,下載新程序并進行Base 64解碼,,最后利用ARM7的IAP功能實現(xiàn)程序的實時更新,解決了終端系統(tǒng)程序現(xiàn)場維護的問題,,真正意義上節(jié)省了人力物力資源,。該系統(tǒng)已應用于低壓電力載波抄表終端中,并取得了明顯的成效,。

1 系統(tǒng)工作原理
   
該系統(tǒng)主要有GPRS連接,、POP3接收郵件、Base 64解碼和IA P編程4部分組成,。GPRS連接通過SIM300模塊將低壓電力載波抄表終端連接到遠程升級服務器,;然后,通過POP3協(xié)議將郵件服務器上的新程序下載到低壓電力載波抄表終端上,;之后,,對下載的程序進行Base 64解碼,最后通過LPC2214的IAP功能將解碼后的程序寫到LPC2214的FLASH中,,完成遠程升級的功能,。系統(tǒng)框圖如圖1所示。

2 POP3協(xié)議和Base 64編碼原理
2.1 POP3協(xié)議

    POP3適用于C/S結構的脫機模型,,是因特網電子郵件的第一個離線協(xié)議標準,,POP3允許用戶從服務器上把郵件存儲到本地主機(即自己的計算機)上,,同時刪除保存在郵件服務器上的郵件,,而POP3服務器則是遵循POP3協(xié)議的接收郵件服務器,用來接收電子郵件的,。POP3協(xié)議有三種狀態(tài):認可狀態(tài),、處理狀態(tài)和更新狀態(tài)。當客戶機與服務器建立聯(lián)系時,,一旦客戶機提供了自己身份并成功確認,,即由認可狀態(tài)轉入處理狀態(tài),在完成相應的操作后客戶機發(fā)出Quit命令,,則進入更新狀態(tài),,更新之后重返認可狀態(tài)。
2.2 Base 64編碼原理
    Base 64是一種很常見的編碼規(guī)范,,被設計用來將任意序列的8字節(jié)描述為一種不易被人直接識別的形式,。它的作用是將二進制序列轉換為人類可讀的ASCII字符序列,常用在需用通過文本來傳輸二進制數(shù)據(jù)的協(xié)議中,如HTTP和SMTP等,。
    Base 64編碼規(guī)則為對于待編碼數(shù)據(jù),,以3個字節(jié)為單位,依次取6位,,前兩位補0形成8位編碼,,由于3×8=4×6,3個字節(jié)的輸入會編碼成4個字節(jié)的輸出,。如果剩下的字符不足3個字節(jié),,則用0填充,輸出字符使用“=”,,因此編碼后輸出的文本末尾可能會出現(xiàn)1個或2個“=”,。因此,Base 64解碼過程與編碼過程正好相反,。這里給出解碼的關鍵程序示例:



3 LPC2214的IAP功能及FLASH Boot裝載程序

    LPC2214的FLASH存儲器系統(tǒng)包含256 KBFLASH器件的17個扇區(qū),。FLASH存儲器從地址0開始并向上增加。Boot裝載程序控制復位后的初始化操作,,并提供實現(xiàn)FLASH編程的方法,。Boot裝載器可啟動對空片的編程、已編程器件的擦除和再編程以及在運行系統(tǒng)中由應用程序對FLASH存儲器進行編程,。
    對于IAP來說,,應當通過寄存器r0中的字指針指向存儲器(RAM)包含的命令代碼和參數(shù),以調用IAP程序,。IAP的命令結果返回到寄存器r1所指向的返回表,。用戶可通過傳遞寄存器r0和r1中的相同指針重用命令表來得到結果。參數(shù)表應當大到足夠保存所有的結果,,以防結果的數(shù)目大于參數(shù)的數(shù)目,。參數(shù)和結果的數(shù)目根據(jù)IAP命令而有所不同。參數(shù)的最大數(shù)目為5,,由“將RAM內容復制到FLASH”命令傳遞,;結果的最大數(shù)目為2,由“扇區(qū)查空”命令返回,。命令處理程序在接收到一個未定義的命令時發(fā)送狀態(tài)代碼IN-VALID_COMMAND,。IAP程序是thumb代碼,位于地址0x7FFFFFF0,。

4 遠程升級軟件設計
   
首先,,系統(tǒng)對SIM300模塊進行初始化,然后連接遠程升級服務器,,接著通過POP3協(xié)議登錄郵件服務器,,并下載新程序,,主ARM將下載的程序進行Base 64解碼,最后通過IAP將解碼后的程序寫到ARM的FLASH中,,以完成遠程升級的目的,。詳細流程圖如圖2所示。由于遠程升級需要低壓電力載波抄表終端抄表主程序的配合,,因此這里給出了遠程升級相關的部分,。在IAP寫FLASH的過程中,需要注意FLASH存儲器在寫或擦除操作過程中不可被訪問,。執(zhí)行FLASH寫/擦除操作的IAP命令使用片內RAM頂端的32個字節(jié)空間,。用戶程序不應使用該空間。IAP擦除FLASH的部分源碼如下:

   

   

5 結 語
    針對各電力相關企業(yè)和公司需要大量的工程人員現(xiàn)場維護低壓電力載波抄表終端的問題,,提出基于POP3的遠程升級系統(tǒng),,該系統(tǒng)可以通過GPRS連接到遠程的升級服務器,下載最新的程序,,并對齊進行Base64解碼,,最后利用IAP將其寫于低壓電力載波抄表終端中.實現(xiàn)低壓電力載波抄表終端遠程升級功能。該系統(tǒng)解決了工程人員必須現(xiàn)場維護的問題,,為企業(yè)和公司節(jié)省了人力,、物力資源,并提高了效率,。

此內容為AET網站原創(chuàng),,未經授權禁止轉載。