基于μC/OS-II的多窗口顯示屏控制器設計
3.2 軟件設計
基于上述方案,程序的設計將變得非常簡潔。首先進行系統(tǒng)初始化,然后從Flash中讀取屏參數,進行參數初始化。接著建立任務Task Control,對各窗口顯示任務進行實時管理,它擁有比各窗口顯示任務都高的優(yōu)先級。它每隔1 s對reset標志進行一次查詢,如果reset=1,則刪除原先建立的各窗口顯示任務,從Flash中讀取新的窗口個數,然后依此建立新任務,將每個窗口的顯示交由單個任務來控制。
下面是TaskControl任務的程序演示:
窗口顯示任務用于實現(xiàn)屏幕各窗口的顯示。它可根據各窗口顯示方式的不同在其相應area區(qū)域中進行下一幀數據的運算。在完成1幀數據顯示后,調用OSTime DlyHMSM()使當前任務進入等待狀態(tài)并進行一次任務調度,將系統(tǒng)控制權交給其他處于就緒狀態(tài)的顯示任務,由此完成和窗口顯示任務之間的切換。也可以通過調整OSTimeDlyHMSM()的參數來改變各窗口2幀顯示信息之間的時間間隔,從而可調整各窗口特技顯示的效果,如移動顯示的移動速度。下面是其中一個窗口顯示任務的程序演示:
4 結論
本設計充分利用了Nios II 32位處理器的高性能和μC/OS-II實時操作系統(tǒng)高效的任務調度算法,實現(xiàn)了單屏幕多窗口顯示,顯示屏控制變得更加靈活。整個控制系統(tǒng)在1片F(xiàn)PGA芯片上完成,有效降低了系統(tǒng)的成本。
評論