需求側管理型能效監測終端的設計

發(fā)布時(shí)間:2015-3-10 11:00    發(fā)布者:designapp

        在能效監測現場(chǎng),能效監測終端是主要實(shí)現采集物理量(溫度、流量、電量等)的設備,且是用戶(hù)交互的唯一硬件設備,傳統的能效監測終端等同于能效采集終端,與用戶(hù)的交互很少。在能效需求側管理體系中,作為需求側的主要設備,能效監測終端需要承擔與監控主站的雙向交互,以及與用戶(hù)的雙向交互任務(wù)。本文研究并實(shí)現了一種基于多媒體顯示、具備雙向交互功能的能效監測終端,為能效的需求側管理提供了可靠的實(shí)現手段。
1 硬件設計
首先本文從硬件組成上來(lái)分析實(shí)現能效監測終端的細節。終端由以下幾大核心硬件單元組成:具備多媒體協(xié)處理器的中央處理器Freescale i.mx51、LVDS液晶顯示接口、以太網(wǎng)RJ45、433MHz微功率無(wú)線(xiàn)、GPRS接口、基于RS485的數字通信接口。硬件組成原理如圖1所示。


圖1 硬件組成


如圖1所示,硬件設計總體包含三部分,即數據通信接口部分、核心處理部分、人機交互部分。其中:
1)數據通信接口包含2個(gè)RS485串口,用于連接數字型傳感器;1個(gè)R232用于本地維護;1個(gè)RJ45以太網(wǎng)接口,用于與后臺主站的遠程連接;1路433MHz的微功率無(wú)線(xiàn)通信接口,用于無(wú)線(xiàn)數據采集;1路GPRS通信接口,用于遠程連接后臺主站?梢钥闯,為了增強通信適應性,終端在前端采集上預置了多路獨立串口,后端遠程通信預置了以太網(wǎng)和GPRS接口,而這些接口的基礎均為獨立串口。
2)核心處理部分由i.mx51、NAND FLASH、SDRAM構成最小系統,NAND FLASH存儲系統映像和文件系統,SDRAM為系統程序執行提供內存,在系統啟動(dòng)階段為程序重定向提供運行空間。
3)人機交互部分由LVDS液晶接口和觸摸控制接口組成,LVDS液晶接口具備很強的抗電磁干擾特性,數據防干擾能力強;觸摸屏接口采用在工業(yè)領(lǐng)域應用廣泛的電阻式觸摸屏接口,以適應復雜苛刻的現場(chǎng)環(huán)境。
除以上幾部分,終端電源采用線(xiàn)性電源方案設計,如圖2所示。




       

2 嵌入式軟件設計
能效監測終端的軟件由啟動(dòng)程序、嵌入式Linux操作系統層、中間件層、應用程序層組成。
2.1 啟動(dòng)程序bootloader設計


圖2 電源原理圖


啟動(dòng)程序bootloader是板級嵌入式軟件系統的基礎,終端上電執行的第一部分程序便是bootloader。實(shí)現終端主要硬件接口的驅動(dòng)、系統啟動(dòng)代碼等。系統啟動(dòng)代碼完成處理器初始化、內存初始化、堆?臻g準備、程序代碼重定向等系統啟動(dòng)的準備工作。啟動(dòng)程序流程如圖3所示:
以上流程較為特殊的地方在于程序重定向的過(guò)程:i.mx51冷啟動(dòng)后,NAND FLASH控制器中有2K 的SRAM會(huì )被用作boot RAM,根據硬件設計如果支持從NAND FLASH啟動(dòng)的話(huà),i.mx51會(huì )將NAND FLASH中的前2K的數據自動(dòng)拷貝到NAND FLASH 控制器中的 RAM中,并且自動(dòng)跳轉到該2K RAM的開(kāi)始地址 0xD0000000開(kāi)始執行。bootloader固件被燒寫(xiě)到NAND FLASH的0地址處,所以bootloader的前2K代碼被拷貝到0xD0000000。
2.2 特殊的驅動(dòng)程序設計
能效監測終端的軟件基于Linux系統設計完成,而典型的Linux系統框架具備常用的串口UART驅動(dòng)、FLASH驅動(dòng)等。但是對于較為特殊的以太網(wǎng)驅動(dòng)、433MHz驅動(dòng),需要做特殊的驅動(dòng)程序設計,特征如下:
a)本文所研究的能效監測終端在以太網(wǎng)通信上有較特殊的要求,因此需做特殊的移植和修改,使得以太網(wǎng)的驅動(dòng)支持直接收發(fā)以太網(wǎng)數據包;舅悸窞楸3衷序寗(dòng)框架不變,(1)加入以太網(wǎng)讀寫(xiě)接口;(2)修改以太網(wǎng)數據發(fā)送接口,截斷原來(lái)的發(fā)送數據接口;(3)修改以太網(wǎng)數據接收接口,使得數據接收后不直接向上層遞交而是送入自定義內存中。
b)433MHz的驅動(dòng)實(shí)現為字符型驅動(dòng),驅動(dòng)的工作流程為:初始化設備即初始化對應管腳并使能中斷;按照433MHz的通信協(xié)議構建數據包并發(fā)送給無(wú)線(xiàn)基帶芯片Si4432;當Si4432接收到數據與協(xié)議包格式不符時(shí),產(chǎn)生中斷,重發(fā)數據。




       

2.3 GUI中間件
為了實(shí)現需求側管理,顯示交互是終端必備的功能。本文研究實(shí)現了基于framebuffer的輕量型GUI中間件,是下一步編寫(xiě)圖形應用程序的基礎。本文實(shí)現的輕量型GUI中間件,具有如下的幾個(gè)組成部分:
1)用戶(hù)交互模塊,為應用程序提供API接口函數,屏蔽了GUI的實(shí)現細節。
2)對象管理,實(shí)現對窗口環(huán)境中的邏輯對象的組織管理。包括對象的添加和刪除,GUI窗口顯示的維護,如窗口切換、焦點(diǎn)切換、對象的隱藏和恢復等操作引發(fā)的對象屬性的更新,還有對不同控件的各種事件的響應。
3)基本圖形組件,實(shí)現了對顯示輸出設備的操作。一般獨立于具體的設備驅動(dòng)程序,與物理設備之間形成“設備抽象層”。
4)消息驅動(dòng)機制,負責GUI的消息接收和與其它任務(wù)的通訊以及消息隊列的維護。
5)定時(shí)器及顯存管理,定時(shí)器用于向服務(wù)器發(fā)送定時(shí)器消息,主要用于消息隊列的管理和定時(shí)等。顯存管理主要用于消除顯示過(guò)程中出現的屏幕閃爍現象。
消息驅動(dòng)機制是輕量型GUI中間件最大化利用有限資源實(shí)現GUI操作的重要手段,硬件設備(比如按鍵)產(chǎn)生動(dòng)作事件,系統生成消息,消息分發(fā)至對應的消息處理任務(wù)。在未收到消息時(shí),消息處理任務(wù)維持消息隊列循環(huán)等待,如圖4所示。


圖3 啟動(dòng)流程圖




圖4 應用程序流程圖





       

GUI中間件采用了客戶(hù)/服務(wù)器的工作模式,為了減輕服務(wù)器端的負荷,本文的GUI只是把輸入設備事件處理和顯示輸出任務(wù)交給服務(wù)器,以此提高執行速度。
應用程序調用GUI中間件的圖形庫、組件庫等,調用機制與windows的消息響應機制類(lèi)似。如調用圖表繪制組件,應用程序前端顯示刷新組件,應用程序后端進(jìn)入消息循環(huán),等待數據處理任務(wù)的消息,實(shí)現數據的響應刷新。
2.4 應用程序及數據傳輸協(xié)議
終端具備三大主體功能:數據采集、數據處理和存儲、數據顯示與通信。借助硬件和底層軟件的支持,應用程序實(shí)現流程如下圖4。
應用程序由圖形顯示模塊、服務(wù)器交互通信模塊、數據采集模塊、數據分析和存儲模塊、異步數據通信模塊等組成。其中,與服務(wù)器采用優(yōu)化的JSON協(xié)議作為基礎協(xié)議,實(shí)現數據的實(shí)時(shí)同步更新。
JSON是一種輕量級的數據通信協(xié)議,一定程度上類(lèi)似XML協(xié)議,但支持的數據格式更加廣泛,通信更加高效。終端實(shí)現JSON協(xié)議解析,主要依靠?jì)蓚(gè)解析類(lèi)實(shí)現:JSONObject和JSONArray。其中,JSONObject用于把對象型的JSON數據轉化成JSONObject對象,然后使用get系列方法獲取對象屬性的數據,最常用的方法是getString;JSONArray用于把數組型的JSON數據轉化成JSONArray對象,該類(lèi)所提供方法和JSONObject類(lèi)基本相同,只不過(guò)其中采用的get系列方法的參數都是整型,代表數組型數據的位置索引。
各功能模塊實(shí)現為輕量級線(xiàn)程,線(xiàn)程間采用管道、信號量等進(jìn)行通信。借組MySQL數據庫實(shí)現對能耗數據的存儲。
終端做為需求側管理的終端設備,需要維持與后臺主站的穩定網(wǎng)絡(luò )連接,此部分采用獨立的線(xiàn)程負責處理網(wǎng)絡(luò )連接,監測連接狀態(tài),斷線(xiàn)重連;采用獨立的數據收發(fā)線(xiàn)程,避免數據的擁塞,提高響應的實(shí)時(shí)性。
數據的變化,均在界面定時(shí)器的統一調度下,進(jìn)行顯示的同步以及按鍵操作的響應。




       

3 終端軟件優(yōu)化
對能效監測終端而言,因為其數據集中度高,且頻繁進(jìn)行數據通信,因此優(yōu)化軟件實(shí)現,提高性能是十分重要的工作。結合實(shí)際研發(fā)過(guò)程,對所涉及到的軟件優(yōu)化技術(shù)進(jìn)行介紹:
1)異步通信優(yōu)化:在能效監測終端的數據流向中,采集數據通過(guò)網(wǎng)絡(luò )傳輸至服務(wù)器,通常比較耗時(shí),同時(shí)本地顯示的響應卻很快。正確的做法是在新的線(xiàn)程中準備好數據,然后再通知主線(xiàn)程異步的獲取數據并顯示。
2)避免內存泄露:內存泄露指的是由于某些原因導致系統內存過(guò)度消耗的問(wèn)題。在內存資源有限的能效監測終端中,內存泄露尤其重要。避免內存泄露的方法在本文所研究的能效監測終端軟件中包括:程序邏輯的內存泄露,即注意新創(chuàng )建對象在使用完后一定要銷(xiāo)毀,即使設置為NULL,也不能保證系統垃圾回收器能夠回收這些對象的資源;在存儲數據時(shí)使用到了數據庫,在使用數據庫時(shí)如果沒(méi)有關(guān)閉游標,將會(huì )造成系統運行速度變慢;位圖資源在不使用時(shí),應該先調用recycle方法釋放內存,然后再將其設置NULL。
4 結語(yǔ)
本文對需求側管理型能效監測終端的設計進(jìn)行了深入研究。通過(guò)對終端的軟硬件進(jìn)行方案設計,并最終實(shí)現了的軟硬件設計。在實(shí)際應用中,需求側管理型能效監測終端,不僅具備能效數據采集基礎功能,同時(shí)還具備能效數據圖形化顯示,遠程監控,需求側響應功能,可用于實(shí)現依據能效情況安排生產(chǎn)調度,實(shí)現能效預警等功能。



本文地址:http://selenalain.com/thread-146601-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页