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