基于FPGA和TFT彩屏液晶的便攜示波器設(shè)計(jì)
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要完成對(duì)程控衰減放大電路的控制,時(shí)基的選擇,異步FIFO設(shè)計(jì),FPGA與單片機(jī)的通信協(xié)議設(shè)計(jì),波形參數(shù)測(cè)量以及波形顯示中的觸發(fā)設(shè)置等。軟件設(shè)計(jì)總體框圖如圖4所示。本文引用地址:http://www.ex-cimer.com/article/191214.htm
3.1 異步FIFO設(shè)計(jì)
A/D采樣得到采樣數(shù)據(jù)的數(shù)據(jù)率很高,為了保證單片機(jī)讀取數(shù)據(jù)的有效性和可靠性,系統(tǒng)中使用異步FIFO對(duì)數(shù)據(jù)進(jìn)行緩存。FIFO的設(shè)計(jì)是通過配置FPGA內(nèi)部的BlockRAM資源實(shí)現(xiàn)的。為了實(shí)現(xiàn)邊采集邊顯示的目的,配置兩塊相同的FIFO,在讀寫時(shí)鐘的控制下,通過讀使能和寫使能信號(hào)的設(shè)置,使得在同一時(shí)刻始終有一塊FIFO在進(jìn)行寫操作,而另一塊FIFO在將寫滿的數(shù)據(jù)讀出。而對(duì)于同一塊FIFO不允許讀寫信號(hào)同時(shí)有效,這樣接收A/D數(shù)據(jù)和讀取數(shù)據(jù)并交給單片機(jī)處理可以同時(shí)進(jìn)行,從而保證數(shù)據(jù)傳輸?shù)倪B續(xù)性。
3.2 FPGA與單片機(jī)通信的實(shí)現(xiàn)
FPGA與單片機(jī)之間有效的通信是系統(tǒng)實(shí)現(xiàn)正常功能的重要前提,系統(tǒng)中通過數(shù)據(jù)總線,地址總線和控制總線將兩個(gè)模塊聯(lián)系起來。在FPGA中,將不同類型的數(shù)據(jù)存放到不同的地址中,這些數(shù)據(jù)包括實(shí)時(shí)采集到的波形數(shù)據(jù),測(cè)量得到的信號(hào)參數(shù)(電壓和頻率),當(dāng)前的時(shí)基、垂直分辨率以及一些控制參數(shù)。單片機(jī)通過地址總線對(duì)FPGA的內(nèi)存進(jìn)行訪問,并對(duì)讀取的數(shù)據(jù)做出相關(guān)的譯碼處理,并將處理結(jié)果實(shí)時(shí)顯示在液晶屏幕上。
控制總線包括讀使能和寫使能信號(hào),分別控制異步FIFO的讀寫操作。當(dāng)其中一塊FIFO中存夠指定數(shù)量的采樣數(shù)據(jù)以后,讀使能信號(hào)有效,單片機(jī)開始接收數(shù)據(jù),此時(shí)另一塊FIFO開始寫入采集數(shù)據(jù)。當(dāng)數(shù)據(jù)接收完畢后,單片機(jī)向FPGA發(fā)出寫使能信號(hào),此時(shí)兩塊FIFO交換功能,單片機(jī)控制LCD將波形實(shí)時(shí)顯示出來,并以此循環(huán)交替工作。這種異步總線握手協(xié)議的設(shè)計(jì),使得單片機(jī)的讀和FIFO的讀寫協(xié)調(diào)工作,大大提高了數(shù)據(jù)傳輸?shù)目煽啃浴?br />3.3 波形參數(shù)的測(cè)量和觸發(fā)囂的軟件實(shí)現(xiàn)
對(duì)信號(hào)參數(shù)的測(cè)量是示波器的重要功能,本系統(tǒng)可以測(cè)量輸入信號(hào)的頻率和電壓。在FPGA內(nèi)利用等精度測(cè)頻技術(shù)和比較法分別進(jìn)行測(cè)頻和測(cè)壓,由單片機(jī)通過地址線讀取數(shù)據(jù)并完成數(shù)據(jù)的譯碼和顯示。
觸發(fā)器是示波器的重要組成部分,通過觸發(fā)器產(chǎn)生的控制信號(hào),控制示波器對(duì)波形數(shù)據(jù)的存儲(chǔ)和顯示,達(dá)到穩(wěn)定同步的目的。本系統(tǒng)設(shè)計(jì)的觸發(fā)器,采用全數(shù)字化結(jié)構(gòu),大大降低了系統(tǒng)硬件電路的復(fù)雜性,并且觸發(fā)條件的調(diào)整比較方便。觸發(fā)器通過引用單片機(jī)內(nèi)部的RAM資源定制了一個(gè)采集數(shù)據(jù)的緩存區(qū),將波形數(shù)讀入該緩存區(qū),按照預(yù)先設(shè)定的觸發(fā)門限,將緩存區(qū)中的數(shù)據(jù)讀出,如果滿足觸發(fā)條件,則將數(shù)據(jù)在屏幕上顯示出來。
4 系統(tǒng)調(diào)試和測(cè)試
在完成了系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì)以后,需要進(jìn)行綜合調(diào)試和測(cè)試。通過調(diào)試,不斷優(yōu)化程序代碼,使系統(tǒng)的性能得以提高,工作狀態(tài)更加穩(wěn)定。在進(jìn)行測(cè)試時(shí),輸入峰峰值為2 V,頻率為1 kHz的正弦信號(hào),在LCD上觀察到的波形及測(cè)量參數(shù)如圖5所示。從圖中可以看出,波形顯示穩(wěn)定連續(xù),測(cè)量信號(hào)參數(shù)的精度高,且包含彩色信息豐富。
5 結(jié)束語
研究了以TFT彩屏液晶作為顯示器件的手持?jǐn)?shù)字存儲(chǔ)示波器的總體方案,即信號(hào)調(diào)理電路,核心采集模塊,單片機(jī)處理模塊和液晶外圍電路組成。在確定總體方案的同時(shí),給出了實(shí)現(xiàn)此總體方案的具體方法。
通過握手協(xié)議合理解決單片機(jī)與FPGA通信的問題,用軟件設(shè)計(jì)了數(shù)字觸發(fā)器,取代了一般示波器中常用的觸發(fā)電路,降低了系統(tǒng)的硬件復(fù)雜度。該數(shù)字存儲(chǔ)示波器允許輸入信號(hào)的動(dòng)態(tài)范圍大,體積小,便于攜帶,操作簡(jiǎn)單,具有很高的應(yīng)用價(jià)值和廣闊的發(fā)展空間。
評(píng)論