<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于DSP的鋁電磁鑄造磁場(chǎng)控制器的設計和實(shí)現

基于DSP的鋁電磁鑄造磁場(chǎng)控制器的設計和實(shí)現

作者: 時(shí)間:2009-10-23 來(lái)源:網(wǎng)絡(luò ) 收藏

(5)人機接口
人機接口處理采用專(zhuān)門(mén)的單片機進(jìn)行管理,單片機與系統主控制核心間采用SPI總線(xiàn)形式通信,編程簡(jiǎn)單且容易。單片機主要完成鍵盤(pán)掃描(參數的設置等)、液晶顯示(運行檢測的參數顯示)功能。根據人機接口功能的需要,考慮性?xún)r(jià)比,選用新華龍推出的C8051F410單片機,顯示裝置則選擇北京青云公司的LCM128×64藍色背光液晶,按照總體規劃設置6個(gè)按鍵,采用矩陣式結構即可。人機接口框圖如圖6所示。

本文引用地址:http://dyxdggzs.com/article/152311.htm

1.2 系統軟件
(1)系統軟件架構
鑒于整個(gè)系統要的任務(wù)繁多,各外設均被應用,對處理的實(shí)時(shí)性要求比較高,并且(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ō),要首先對復合控制系統軟件的各功能模塊進(jìn)行管理。

根據復合控制系統的特殊性,將控制軟件分為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í)鐘中斷來(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的控制權并采取相應的糾錯方案以保證系統的穩定運行。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>