基于SoPC的數(shù)字示波器設(shè)計(jì)
3.1.2 SoPC頂層軟件設(shè)計(jì)
SoPC的頂層軟件主要完成波形及參數(shù)的顯示、運(yùn)行/停止控制、光標(biāo)測(cè)量、波形窗口移動(dòng)、保存數(shù)據(jù)到SD卡等功能。
(1)波形參數(shù)顯示。繪制完圖形界面后首先輸出波形信息的固定部分,如Vpp:???mV,其中“???”將在讀取相關(guān)參數(shù)后更新。然后讀取相關(guān)參數(shù)并判斷是否變化,若有變化則更新相關(guān)顯示,在波形輸出結(jié)束后將峰峰值更新到屏幕上。
(2)波形顯示。波形參數(shù)顯示完成之后,CPU進(jìn)入等待狀態(tài),若FIFO寫(xiě)滿信號(hào)為1,則開(kāi)始讀FIFO數(shù)據(jù)并顯示波形。流程如圖4所示。本文引用地址:http://butianyuan.cn/article/177387.htm
(3)運(yùn)行/停止控制。波形顯示完后,若讀到stop為1,則等到FIFO寫(xiě)滿后進(jìn)入停止?fàn)顟B(tài)。在停止?fàn)顟B(tài)FIFO中的數(shù)據(jù)保持不變。在停止?fàn)顟B(tài)若檢測(cè)到用戶輸入,則執(zhí)行相應(yīng)函數(shù)。若檢測(cè)到stop為0,則清屏,重繪圖形界面,輸出運(yùn)行圖標(biāo),返回到顯示波形狀態(tài)。
(4)光標(biāo)測(cè)量。在停止?fàn)顟B(tài)若檢測(cè)到光標(biāo)測(cè)量為1,則進(jìn)入光標(biāo)測(cè)量狀態(tài)。首先將2個(gè)光標(biāo)的y軸坐標(biāo)轉(zhuǎn)換為實(shí)際電壓值輸出到LCD,然后計(jì)算2個(gè)光標(biāo)電壓的差值輸出到LCD上的相應(yīng)位置處。再根據(jù)分頻系數(shù)將2個(gè)光標(biāo)的x軸差值轉(zhuǎn)換為實(shí)際的時(shí)間,輸出到LCD。最后繪制2個(gè)十字光標(biāo),每個(gè)光標(biāo)由一橫一縱2條直線構(gòu)成,其交點(diǎn)位于波形上。
光標(biāo)繪制完成后檢測(cè)用戶按鍵,如果有左右移動(dòng)或光標(biāo)切換按鍵操作,則對(duì)相應(yīng)光標(biāo)的x坐標(biāo)做加減運(yùn)算,然后從緩沖區(qū)重新讀取波形輸出到LCD,將之前的信息覆蓋,接著再次調(diào)用光標(biāo)繪制函數(shù)繪制新的光標(biāo)位置和光標(biāo)的信息。流程如圖5所示。
評(píng)論