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