基于DSP的鋁電磁鑄造磁場(chǎng)控制器的設計和實(shí)現
(5)人機接口設計
人機接口處理采用專(zhuān)門(mén)的單片機進(jìn)行管理,單片機與系統主控制核心DSP間采用SPI總線(xiàn)形式通信,編程簡(jiǎn)單且實(shí)現容易。單片機主要完成鍵盤(pán)掃描(參數的設置等)、液晶顯示(運行檢測的參數顯示)功能。根據人機接口功能的需要,考慮性?xún)r(jià)比,選用新華龍推出的C8051F410單片機,顯示裝置則選擇北京青云公司的LCM128×64藍色背光液晶,按照總體設計規劃設置6個(gè)按鍵,采用矩陣式結構即可。人機接口框圖如圖6所示。 本文引用地址:http://dyxdggzs.com/article/152311.htm
1.2 系統軟件設計
(1)系統軟件架構
鑒于整個(gè)系統要實(shí)現的任務(wù)繁多,DSP各外設均被應用,對處理的實(shí)時(shí)性要求比較高,并且DSP(TMS320F2808)平臺支持和能承載RTOS的開(kāi)發(fā),所以系統軟件采用mC/OS-II設計。mC/OS-II是一種源碼公開(kāi)、可移植、可固化(ROMable)、可裁減(scalable)、可剝奪性(preemptive)、占先式的實(shí)時(shí)多任務(wù)操作系統[3,5]。整個(gè)系統軟件分為兩步:a.μ C/OS-II到DSP移植;b.μC/OS-II平臺上軟件的編寫(xiě)。μ C/OS-II到DSP移植只需要修改與處理器相關(guān)的OS_CPU.H、OS_CPU_C.C和OS CPU A.A三個(gè)文件的代碼,移植的工作量相對較小。由于μ C/OS-II是基于優(yōu)先級的搶占式實(shí)時(shí)多任務(wù)操作系統,因此,在進(jìn)行代碼編寫(xiě)之前,應先確認系統的任務(wù)數,每個(gè)任務(wù)的優(yōu)先級別,并為每個(gè)任務(wù)分配一定數量的堆??臻g以供運行時(shí)調用。也就是說(shuō),要首先對復合磁場(chǎng)控制系統軟件的各功能模塊進(jìn)行管理。
根據復合磁場(chǎng)控制系統的特殊性,將控制軟件分為0~9十個(gè)級別,表1為軟件各功能模塊以及分別對應的任務(wù)名稱(chēng)、任務(wù)優(yōu)先級別。
控制程序的流程是:首先進(jìn)行CPU及程序數據初始化;再進(jìn)行操作系統初始化,主要完成任務(wù)控制塊(TCB)初始化、TCB優(yōu)先級表初始化、TCB鏈表初始化、事件控制塊(ECB)鏈表初始化、空任務(wù)的創(chuàng )建等等;然后創(chuàng )建任務(wù)D TK ST,在任務(wù)D TK ST中再創(chuàng )建其他任務(wù);最后啟動(dòng)多任務(wù)調度。在多任務(wù)調度開(kāi)始后,啟動(dòng)時(shí)鐘節拍源開(kāi)始計時(shí),此節拍源給系統提供周期性的時(shí)鐘中斷信號,實(shí)現延時(shí)和超時(shí)確認。當時(shí)鐘中斷來(lái)臨時(shí),系統把當前正在執行的任務(wù)掛起,保護現場(chǎng),進(jìn)行中斷處理,判斷有無(wú)任務(wù)延時(shí)到期,若有,則使該任務(wù)進(jìn)入就緒態(tài),并把所有進(jìn)入就緒態(tài)的任務(wù)的優(yōu)先級進(jìn)行比較,通過(guò)任務(wù)切換去執行最高優(yōu)先級的任務(wù),若沒(méi)有別的任務(wù)進(jìn)入就緒態(tài),則恢復現場(chǎng)繼續執行原任務(wù)。任務(wù)之間通過(guò)信號量和消息郵箱進(jìn)行通信,任務(wù)和中斷之間通過(guò)消息郵箱進(jìn)行通信。
在保證功能實(shí)現的基礎上,為進(jìn)一步提高系統的可靠性,增加了系統監控任務(wù)。該任務(wù)功能是監視系統其他任務(wù)的運行。被監視任務(wù)在其即將運行完畢時(shí)監視任務(wù)發(fā)送消息說(shuō)明自身運行正常。被監視任務(wù)運行時(shí),監視任務(wù)等待被監視任務(wù)給它發(fā)送消息,等待時(shí)間被設定為預計的任務(wù)正常運行所需的最大時(shí)間。若等待時(shí)間內監視任務(wù)收到消息,則認為發(fā)送消息的任務(wù)運行正常,依照各任務(wù)執行順序的開(kāi)始運行下一任務(wù),監視任務(wù)等待下一任務(wù)發(fā)送的消息。若等待時(shí)間已過(guò),監視任務(wù)仍未收到消息,則系統的時(shí)間管理函數將強行把監視任務(wù)視為就緒狀態(tài)。因為監視任務(wù)的優(yōu)先權是最高的,它將搶占對CPU的控制權并采取相應的糾錯方案以保證系統的穩定運行。
評論