DSP的VCM低頻主動隔振控制系統(tǒng)設(shè)計
核心文件之間的包含調(diào)用關(guān)系如圖4所示。其中,math.h為編譯器自帶的頭文件。本文引用地址:http://www.ex-cimer.com/article/161929.htm
軟件系統(tǒng)的架構(gòu)可以用圖5所示的3個流程來表示。圖5(a)是主程序流程,即該軟件系統(tǒng)的前臺操作流程。在主程序的大循環(huán)(while(1){;})中,系統(tǒng)會不斷地從消息隊列中取消息,判斷消息類型,然后根據(jù)消息類型和消息值執(zhí)行相應(yīng)操作。圖5(b)是系統(tǒng)時鐘節(jié)拍的中斷服務(wù)函數(shù)流程。該時鐘節(jié)拍由硬件定時器Timer 2(T2)產(chǎn)生,節(jié)拍周期可調(diào),通常為20ms。每個時鐘節(jié)拍周期到了之后,系統(tǒng)中斷并進人中斷服務(wù)函數(shù),執(zhí)行T2例行程序,這是系統(tǒng)的后臺操作。圖5(c)是T2例行程序的流程。進入該例行程序,首先檢查有沒有軟件時鐘,如果有則調(diào)用軟件時鐘服務(wù)函數(shù),然后執(zhí)行系統(tǒng)例行程序。如果沒有,則直接調(diào)用系統(tǒng)例行程序。
軟件時鐘是一種基于系統(tǒng)時鐘節(jié)拍的定時操作,可以把它理解成鬧鐘,即每個一定時間都執(zhí)行某一操作,或僅是單次操作。軟件時鐘對應(yīng)的操作,可以送進消息隊列在前臺執(zhí)行,也可以在中斷中執(zhí)行。但不宜把太多的軟件鬧鐘設(shè)為在消息隊列中執(zhí)行。
消息傳遞機制是該軟件系統(tǒng)前后臺配合的紐帶。所有后臺操作或外部請求都可以通過消息包的方式送進消息隊列,然后在前臺以取消息、解消息的方式獲取需要處理的信息,然后執(zhí)行相應(yīng)的操作。目前,消息隊列是FIFO的方式,不支持優(yōu)先級,在實際應(yīng)用時一定要保證消息隊列的容量足夠大。
結(jié)語
經(jīng)過實驗調(diào)試,基于該VCM控制系統(tǒng)的低頻隔振平臺能有效地動態(tài)抑制外界振動干擾。此外,基于時鐘節(jié)拍和消息機制的軟件系統(tǒng)被多次移植到其他項目應(yīng)用上,均取得了良好的效果。
評論