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