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