摘要:論述了基于嵌入式技術的遠程抄電表系統結構由服務器、通信控制模塊和電表接口三部分組成。服務器端的軟件負責對通信控制模塊的管理、數據的收發與處理。系統嵌入通信控制模塊實現抄表數據通過以太網絡進行數據傳輸。給出了嵌入式通信控制模塊的硬件結構和軟件結構的設計過程。
關鍵詞:嵌入式系統;以太網;ARM處理器;遠程抄表系統;通信控制模塊;uCLinux
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044-10342-02
Developing Remote Meter Reading System Based on Embedded Technology
GUO Xin-kun, ZHANG Gui-zu, TAN Chao-hong
(School of Information Engineering, Jiangnan University,Wuxi 214122, China)
Abstract: Based on embedded technology ,this paper discusses remote meter reading system structure from the server, communication control module to the meter interface. Server-side software is responsible for the management of the communication control module, receiver and process data. The embedded data communication control module works for meter reading data transmission via Ethernet network. It describes the hardware structure and the software implementation process for the communication control module .
Key words: embedded system; ethernet network; ARM MCU; remote meter reading system; communication control module; uCLinux
遠程電能抄表系統是一種自動抄電表系統,它可代替煩瑣的人工抄電表方式,利用某種通信控制方式將用戶的電能表所記錄的各種數據傳輸到遠程服務器中,并由服務器完成數據的存儲、統計分析、打印等管理性的工作。
目前,應用的自動抄電表系統通常有以下幾種模式:手持式抄表器、IC卡抄表系統、電力載波抄表、電話線抄表、有線總線抄表、GPRS無線抄表等。這幾種模式在一些應用場合均有一定的局限性。如電話線抄表雖然能利用原有的電話線路系統,但目前沒有很好的輔助設備來實現抄表方案。電力載波抄表是一種應用比較多的模式,國外也一直致力于其技術發展,但在國內存在電力線的信號傳輸性能差等問題,用電力線傳輸的數據很容易受到干擾而出現數據錯碼的狀況。GPRS無線抄表模式是借助通信運營商的無線通信線路來實現數據交換的,它需專門購買無線設備,且每月都有數據流量費用,它適用點分布比較廣、比較散的場合。
近年來隨著計算機應用的普及,網絡已延伸到千家萬戶,現在的小區住宅大樓、辦公大樓一般都安裝了網絡通信設施。這樣的話我們完全可以利用大樓內部的以太網絡來達到遠程采集數據的目的。基于嵌入式技術的以太網遠程抄電表系統不僅可以避免通信線路的重復建設,還可以克服以上幾種模式的弱點,利用現代網絡通信技術實現可靠的、遠距離的數據傳輸。
1 基于嵌入式技術的遠程抄電表系統組成結構
基于嵌入式技術的以太網遠程抄電表系統由服務器、通信控制模塊和電表接口三部分組成,如圖1所示。系統采用主從通信控制方式,即所有動作都由服務器發起,通信控制模塊在接受到指令后作相應操作,并將結果返回給服務器。
最上層是服務器層。服務器層主要由運行控制管理軟件的主機構成,其主要功能是對通信控制模塊的運行參數設置,負責接收電表的數據實現對計量儀表的遠程監控和控制,并可運行數據庫生成電量日報、月報及電費的結算,供用戶查詢等功能。另外服務器可與互聯網連接,通過互聯網將數據傳輸給遠方的其它主機。
中間層是通信控制層,由基于ARM平臺的通信控制模塊組成,模塊借助以太網與服務器相連,并通過RS-485總線與下層的電表接口相連。每個通信控制模塊都設定唯一的ID號,其主要功能是通過電表接口對多個電表進行參數設置和數據采集,并把采集到的數據通過以太網傳輸到服務器。
最下層是電表接口層。為連接種類繁多的多功能電能表,電表接口嵌入多功能電能表通信規約,以統一與通信控制模塊進行數據交換的格式。另外在電表接口層加入多路端口功能實現對多個電表的數據采集。
2 通信控制模塊的硬件結構
通信控制模塊的硬件結構如圖2所示,它由ARM處理器、以太網通信芯片、串口通信接口和儲存芯片組成,其中ARM芯片是通信控制模塊的核心,它使用串口獲取抄電表數據并進行存儲與處理,并通過以太網芯片與服務器建立連接并獲取操作指令或進行數據交換。
3.1 SamSung S3C44B0X ARM處理器
通信控制模塊核心芯片采用三星的S3C44B0X ARM處理器,它采用2.5V的ARM7TDMI內核,內部帶有8KB cache,可擴展外部儲存控制器、LCD控制器、IIS總線控制器、8路10bit ADC等,其集成了豐富的外圍功能便于低成本設計嵌入式應用系統。微處理器采用uCLinux操作系統,uCLinux操作系統保持了Linux系統的主要優點,如穩定性、強大的網絡功能和出色的文件系統支持等。uCLinux操作系統有一個完整的TCP/IP協議棧,同時對其他許多網絡協議都提供支持,這是系統實現以太網數據傳輸的基礎。
3.2 以太網通信芯片
以太網通信芯片采用RTL8019AS芯片,它是一種速率為10M比特/秒以太網控制器,支持8比特或16比特數據總線,內置有16K字節的SRAM用于收發緩沖數據,采用全雙工通信方式收發數據可達到l0M比特/秒。網絡控制芯片集成了以太網媒介訪問層和物理層的所有功能,實現與服務器的數據接收與發送。SamSung S3C44B0X ARM處理器與以太網通信芯片RTL8019AS的連接結構如圖3所示。
3.3 串口通信接口
串口通信接口主要通過Max485芯片擴展為RS-485總線連接電能表接口。RS-485總線是常用的局部聯網通信方式,RS-485以其數據傳輸穩定、可靠性高、傳輸距離遠、速度快、抗干擾能力強等優點在工業領域中得到廣范應用。
3.4 存儲芯片
模塊可根據實際應用情況擴展存儲芯片,一般由RAM和FLASH構成。由于存儲在FLASH中的數據在掉電以后不會丟失,我們把程序代碼和系統常量以及一些重要數據(例如電子儀表輸出的信息數據、控制器的地址信息等)保存在FLASH中,其余的數據和臨時變量等保存到RAM中。
4 通信控制模塊的軟件實現
4.1 通信控制模塊的工作流程
通信控制模塊工作流程如圖4所示。通信控制模塊啟動后首先完成程序初始化工作,從儲存芯片中讀取預先設定的配置文件如以太網配置信息,通信控制模塊的IP地址、網關、子網掩碼和網絡通信端口,配置串口工作方式如波特率、字符格式和長度等。同時通信控制模塊檢查下端的計量表的運行情況,核對計量表類型、計量表的地址、計量表是否斷開連接等。
程序初始化完成后,通信控制模塊進入工作狀態,它將等待上層服務器的連接請求。上層服務器與通信模塊雙方采用TCP/IP傳輸協議實現數據傳輸,其中,通信控制模塊作為通信的服務端等待數據請求,而另一端服務器是作為通信的客戶端向通信控制模塊發送請求。軟件實現中,通信控制模塊創建套接字,并綁定設定的IP地址和協議端口,調用監聽程序等待對方的連接并設置連接等待隊列的長度,之后進入等待連接請求狀態。一旦客戶端有連接請求,通信控制模塊將調用響應程序以獲取連接請求。當建立連接以后,模塊調用接收數據程序讀取服務器發送的指令,調用發送數據程序向服務器發送表計數據。最后“斷開連接”程序終止本次通信,并刪除套接字,并等待下次連接請求。
通常完成一次通信交互的時間很短,在通信間隔內,通信控制模塊通過RS-485接口采集電能表數據,如一些瞬時值和累計值。采集數據的模式有實時模式和固定時間間隔模式。在實時狀態下,通信控制模塊采集到的數據可以直接在交互過程中將數據上傳到服務器端,在沒有和服務器端建立連接的情況下,通信控制模塊在固定的時間間隔內將數據按固定格式存儲在存儲芯片中以便下次在通信中上傳。
4.2 通信控制模塊的數據通信格式
通信控制模塊在與RS485模塊的通信中,服務器以設定的時間間隔輪流訪問各模塊,也可以與模塊建立實時連接,服務器根據唯一的ID號來區分各個模塊,通信的建立與解除均由服務器發出的信息幀來控制,一般服務器發出命令幀,如讀數據命令或寫數據命令,模塊根據命令幀中的地址信息來判別是否該由自己來接收與處理,并以應答幀回應服務器。信息幀由幀起始符、模塊地址域、命令幀、數據長度、數據域、校驗碼及幀結束符7個部分組成,每部分由若干字節組成。信息幀格式如下:幀起始符:標識一幀數據的開始;地址域:地址域由2字節構成,地址長度取15 位,最高位為零,可設定一固定地址為廣播地址;命令幀:該字段由一個字節組成,最高位設為命令/應答幀,如置0時表由主站發出的命令幀,置1時表由從站發出的應答幀,其余各位可根據需要組合成功能位,如讀數據、寫數據、設置時間等;數據長度:一般由一個字節或兩個字節構成,表示數據域的字節數,主從站根據該字節長度來確定接受數據的長度,若為0表示無數據;數據域:存放主從站交換的數據;校驗碼:加入校驗碼字段可確保數據傳輸的正確性,一般采用CRC循環校驗碼;結束符:標識一幀信息的結束。
5 結束語
基于嵌入開發技術的以太網遠程抄電表系統以自身的優勢,不僅克服了人工抄表方式需花費大量人力、效率低且錯誤率高的弊病,并且徹底解決了其他抄表抄表存在的問題。我們利用以太網傳輸抄表數據,真正實現了遠距離的數據傳輸,隨著現代網絡技術的快速發展和普及,基于嵌入開發技術的以太網遠程抄電表系統將會得到不斷地完善和發展。
參考文獻:
[1] Andrew S.計算機網絡[M].北京:清華大學出版社,2001.
[2] Nack,F.Multimedia,The future in digital media computing is meta[J].Multimedia,IEEE,2004.
[3] 王學龍.嵌入式Linux系統設計與應用[M].北京:清華大學出版社,2001.
[4] 馬忠梅,馬廣云,徐英慧.ARM嵌入式處理器結基礎[M].北京:北京航空航天出版社,2002.
[5] 周衛玉,孫新亞.基于ARM和ucLinux的嵌入式遠程數據采集終端[J].計算機工程,2004.
[6] 吳明暉.基于ARM的嵌入式系統開發與應用[M].北京:人民郵電出版社,2004.
[7] 吳學智.基于ARM的嵌入式系統設計與開發[M].北京:人民郵電出版社,2007.
[8] 何立民.單片機高級教程-應用與設計[M].2版.北京:航空航天大學出版社,2007.