title="通信電源">通信電源系統運行質量的好壞將直接關系到通信網絡運行的可靠性及穩定性。通信電源監控系統具有“三遙”、數據的存儲及處理、告警的查詢分析和統計等功能。通信電源設備運行參數多,實時效果強,所以在監控系統當中選擇功能強大的控制芯片,應用嵌入式操作系統,采用嵌入式軟件開發技術使其盡可能地發揮出強大的控制管理功能是當前通信電源監控系統的發展趨勢。
與傳統的51單片機開發的通信電源監控系統相比,通過μC/OS-Ⅱ與TMS470R1A288結合開發的通信電源系統有足夠的實時性、可靠性和可擴展性,同時成本更低。
1 μC/OS-Ⅱ在TMS470R1A288的移植
ARM7(Advanced RISC Machines)是目前在嵌入式領域里應用非常廣泛的RISC微處理器系列,以其低成本、低功耗、高性能的優點占據了嵌入式系統應用領域的領先地位。μC/OS-Ⅱ可以看作是一個功能強大完善的多任務調度器,具有很好的可移植性。將μC/OS-Ⅱ移植到ARM系列的TMS470R1A288處理器上,需要修改三個和ARM體系結構相關的文件,下面一一介紹。
1.1OS_CPU.H
數據類型定義部分的修改是和所用的編譯器相關的,不同的編譯器會使用不同的字節長度來表示同一數據類型;由于處理器現場的寄存器在任務切換時都將會保存在當前運行任務的堆棧中,所以OS_STK數據類型必須和處理器的寄存器長度保持一致;定義堆棧的增長方向;宏定義包括開關中斷的宏定義,以及進行任務切換的宏定義。
1.2 OS_CPU_A.ASM
用ARM的匯編指令實現了下面四個函數:OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()
1.3OS_CPU_C.C
μC/OS-Ⅱ的移植要求用戶編寫以下10個簡單的C函數:ostaskstkinit(),ostaskcreatehook(),ostaskdelhook(),ostaskswhook(),ostaskstathook(),ostimetickhook(),ostaskidlehook(),osinithookbegin(),osinithookend(),ostcbinithook()。但惟一必要的函數是ostaskstkinit(),其他9個函數必須聲明,但是如果沒有特殊需求,則只需要簡單地將它們都實現為空函數即可。
2通信電源監控系統的硬件結構
本方案設計的通信電源監控系統主要實現后臺通訊、模塊通信、開關量及模擬量的測量、告警管理、電池管理、液晶顯示和鍵盤處理的功能,同時還可通過以太網、RS 485或Modem方式將系統的當前運行信息上傳后臺集中監控中心。此通信電源監控系統的硬件結構框圖如圖1所示。開關量輸入部分主要實現對交流輸入空開、交流輸出空開、防雷器狀態的監控;模擬量信號采集部分實現對交流電壓、母排電壓、電池電壓、電池電流、負載電流、電池溫度的測量;告警干結點輸出部分主要實現整流模塊故障、負載下電、電池保護、交流SPD故障、交流停電等的故障通過聲光的形式輸出,以便用戶能及時處理系統故障。
3通信電源監控系統的軟件設計
根據通信電源監控系統要實現的主要功能及嵌入式實時操作系統μC/OS-Ⅱ的任務調度,可將軟件部分劃分為如下11個相對獨立的任務,按優先級從高到低分別是:RTC任務、界面菜單顯示任務、CAN協議通訊任務、I2C協議通訊任務、后臺通信協議任務、模擬量測量任務、告警任務、電池管理任務、網絡通訊任務、自檢任務、系統配置參數存儲任務。每個任務都是一個無限的循環,在任意時刻,都只能處于以下5種狀態之一:休眠態、就緒態、運行態、掛起態(等待某一事件發生)及被中斷態。多任務運行的實現實際上是靠CPU(中央處理單元)及μC/OS-Ⅱ在許多任務之間轉換和調度來實現的。本系統任務間的通信和同步用到的系統服務是互斥型信號量,信號量用于控制共享資源的使用權。綜上所述,本監控系統的軟件框架如圖2所示。
4結語
本文介紹了在ARM7系列微處理器TMS470R1A288上移植多任務實時操作系統μC/OS-Ⅱ開發通信電源監控系統的方案,詳細介紹了其硬件設計和軟件設計。該設計改善了傳統通信電源監控系統實時性差、成本高、部分軟件故障導致整個監控單元故障的缺點,使通信電源監控系統具有足夠的靈活性、健壯性、實時性。