一種高效DSO波形顯示算法的實(shí)現(xiàn)
摘要:介紹一種應(yīng)用于液晶顯示的數(shù)字存儲(chǔ)示波器波形顯示的算法。通過(guò)分析相鄰采樣數(shù)據(jù)之間的大小關(guān)系。得到逼近波形的系列直線段;通過(guò)分析不同通道直線段的位置關(guān)系,得到最佳的線段合成效果;通過(guò)分析待清除線段和需繪制線段的位置關(guān)系,得到最優(yōu)的清除和繪圖列表。算法可有效地提升示波器的顯示速度。
關(guān)鍵詞:線程;LCD逼近;遮蔽分析;清除和繪圖分析
數(shù)字存儲(chǔ)示波器所顯示的波形是由系列直線段有效地逼近而得到的。畫波形函數(shù)是由畫點(diǎn)函數(shù)按照一定的算法寫出的,不同的算法畫出的波形在速度和效果上會(huì)有所不同。因此有效的波形顯示算法可以很大程度上提高波形的顯示速度和視覺(jué)效果。
1 示波器程序模塊的介紹
示波器采用嵌入式μC/OS操作系統(tǒng)。每一個(gè)任務(wù)都是一個(gè)無(wú)限循環(huán)。為了降低耦合,增強(qiáng)內(nèi)聚,需要建立消息郵箱,以保證不同任務(wù)之間的通信。示波器的模塊示意圖如圖1所示。
2 波形顯示線程和畫波形函數(shù)的說(shuō)明
波形顯示功能是由波形顯示線程實(shí)現(xiàn)的,畫點(diǎn)、畫線、顯示字符等都由基本的畫點(diǎn)函數(shù)來(lái)實(shí)現(xiàn)。一種常見(jiàn)的波形顯示方法就是:分別根據(jù)示波器通道的采樣數(shù)據(jù)繪制波形,待下一屏顯示數(shù)據(jù)準(zhǔn)備就緒之后,將上一屏已經(jīng)顯示的波形全部擦除,再繪制準(zhǔn)備就緒的波形數(shù)據(jù)。由于執(zhí)行畫點(diǎn)函數(shù)比較耗時(shí),特別是在接近圖形滿屏的情況下,畫點(diǎn)函數(shù)被調(diào)用次數(shù)較多,嚴(yán)重影響其他線程獲得CPU的使用權(quán),有可能會(huì)產(chǎn)生拖屏現(xiàn)象。示波器采用一種高效地波形顯示算法,可以有效的解決上述問(wèn)題,算法是在畫波形函數(shù)中實(shí)現(xiàn)的。圖2是畫波形函數(shù)的流程圖。
評(píng)論