1 引言
波形發生器已經廣泛的應用在通信、控制、測量等各個領域,如鋸齒波、正弦波、方波等波形常用于電路的設計與調試。隨著電子技術的迅猛發展,數字化正逐漸地成為電子產業的發展趨勢,各公司都將自己的產品向數字化、集成化、小型化等方向進行拓展。眾所周知,數字化的電子產品有其不可替代的優勢,譬如體積小、集成程度高、抗干擾能力強等特點。但是,數字電路只能夠較好地處理脈沖波形,即只對l和0形成的方波處理得很好.對于連續漸變的信號不能夠很好地處理,而這恰恰正是模擬電路的優勢所在。本文將數字電路與模擬電路相結合,即通過FPGA來產生所需各種模擬波形的控制信號,然后通過模擬電路來處理漸變信號,這樣町以得到各種清晰的波形。
2 示波器顯示原理
首先,對示波器的顯示原理進行簡要地說明,以便更好地了解硬件電路的工作過程。在整個顯示期間,示波器需要始終處于“X-Y”檔,即爾波器的波形是 X軸和Y軸輸入信號的疊加合成顯示。可知,一般情況下,x軸輸入的變量為信號頻率,Y軸輸入的變量為信號幅度。因此,當在x軸上輸入5KHz的信號頻率值,在Y軸上輸入0V的直流電壓幅度時,在示波器位于(5KHz,0V)的位置處就會顯示出一個亮點;同理,若在Y軸上輸入5V的直流電壓幅度,而在x軸上輸入0Hz的信號頻率值時,在示波器位于(0Hz,5V)的位置處也會顯示出一個亮點;而如果在x軸和Y軸上的輸入分別為5KHz、5V時,則亮點就會出現在示波器上的(5KHz,5V)處。這樣,如果通過程序不間斷地對兩個坐標軸進行賦值,就可以在示波器上顯示出一條清晰.連續的信號波形。
3 硬件設計
本文主要詳細地介紹了常用信號中階梯波和鋸齒波的模擬波形設計,它們的模擬電路實現簡單,并且實際的輸出波形清晰。方案中的硬件電路主要是南DSP、 FPGA以及外圍芯片構成,DSP用于控制模擬波形的輸出位置和幅度;外圍芯片用來進行模擬波形的產生,如利用兩個DAC0832來產生兩路電壓信號,一個用于控制鋸齒波的高度,另一個用于控制階梯波的高度。而FPGA則進行所需的各種控制信號的邏輯編程。
這里,FPGA采用的是ALTERA公司的10K10系列的可編程邏輯器件。ALTERA公司的FLEX 10K系列器件是業界第一塊嵌入式可編程邏輯器件,為柔性邏輯元素陣列架構,利用通用的門海架構來實現一般性的邏輯功能,還采用專用的硅片來實現規模較大的專用功能。和標準的門陣列比較,由于嵌入式功能在硅片上實現,所需的硅片面積更小、系統速度更高。FLEX 10K系列不僅能提供高密度、高速度和系統集成功能,并且在單個器件內部包含多重32比特總線、6144比特的RAM空間,還支持串行與并行兩種配置方式及JTAG模式的在線仿真,這些特點都使得FLEX IOK系列器件成為目前應用最為廣泛的可編程邏輯器件之一。與之對應,采用的開發工具是MaxplusⅡ可編程邏輯開發軟件,利用MaxplusⅡ作為 EDA的軟件工具,可實現強大的邏輯功能,還具有周期短、集成度高、價格合適等優點。并且,由于電路的邏輯模塊都是在FPGA中實現的,因此,它們具有良好的可移植性和易維護性等特點,并方便以后系統的改進。同時,這也進一步地減少了電路板面積,使電路的集成度大大地提高。在本設計方案中,主要是使用 FPGA來進行各種模擬波形的控制編程,產生各種邏輯用以作為其控制信號。其中,FPGA中邏輯控制的結構框圖如圖1所示,可分為三個部分,而粗掃、精掃信號是作為鋸齒波的控制信號。
圖1 FPGA中控制信號模塊功能框圖
FPGA的工作過程為:首先,對輸入的32KHz時鐘信號以計數器進行分頻,產生一個1600Hz的窄脈沖信號,它一方面作為外部模擬波形產生電路的掃描觸發信號,另一方面作為鋸齒波控制信號的工作起始信號,即該信號每到來一次,就啟動其它功能模塊,按照需要的時序產生所需的控制信號。由圖1可知,1600Hz頻率到來,會打開精掃計數器與粗掃計數器的輸入時鐘(2MHz),并啟動二者的初始裝載過程,然后以這個初始值對輸入脈沖進行減法計數,當減法溢出時,輸出端就會產生所需的掃描信號。同時,還要利用該信號關閉各自的輸入時鐘信號,直到下一個1600Hz的到來。當經過邏輯運算改變減法計數器的8位初始值時,輸出信號的時刻相對于1600Hz信號來講,就會有相應的變化。通過這種邏輯方式,就可以控制各種模擬波形的出現時間,從而能夠控制示波器上各種波形的顯示位置。其中,減法計數器初值的改變是通過一個8位鎖存器來實現,即將DSP的地址線、讀/寫信號線及I/O空間的訪問控制線進行邏輯運算,作為8位鎖存器的選通信號,然后利用程序將8位數據寫入減法計數器。
而階梯波控制信號則是完全由軟件程序來實現,即根據其各種時序,在不同的時刻將不同的數據寫入FPGA中進行鎖存,然后經由D觸發器輸出用以控制信號的產生。為了滿足系統的需要,還設計了一個控制波形寬度變化的邏輯用以產生顯示所需的不同寬度的脈沖序列,其T.作方式是將兩個不同頻率的方波信號和一個D觸發器的輸出端D與,D分別作邏輯與操作,然后再進行邏輯或運算,再通過程序來改變D觸發器的輸出狀態,從而得列具有兩種寬度的輸出脈沖。 function ImgZoom(Id)//重新設置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w
4 實驗結果
4.1階梯波波形
這里,簡要地介紹一下階梯波波形的具體產生過程。首先,需要設計一個可產生4種不同直流電壓的模擬電路,使其能夠在不同的控制信號組合狀態下,會輸出不同幅度的直流電壓。該模擬電路總共有4個控制信號輸入端,通過DSP的軟件程序控制組合的輸入。當組合狀態為“0001”時,電路會輸出幅度為4V的直流電壓,而當組合狀態為“0010”時,電路將輸出幅度為5v的直流電壓。同時,還要給出其塒應的輸出位置。這樣.當程序循環改變輸入的組合狀態時,在雙蹤顯示模式下,就可以得到如圖2所示的階梯波波形,將這一波形輸入到示波器的x軸上,就會在示波器的相應位置上出現四個亮點。
圖2階梯波波形
在實際工程中,通過DSP程序在FPGA中進行兩種不間脈沖寬度之間的轉換,將所需脈沖寬度的信號經過外部的單穩態觸發器設置適當的寬度,再經過微分、積分電路中,就會形成如圖3所示的波形,把這一波形輸入到示波器的Y軸上,并將其設置為“X-Y”檔,最后就會顯示出四條亮線。當圖(a)中的較窄脈沖輸入到Y軸時,通過程序使其在不同的幅值點的停留時間基本保持一致,這樣,它所對應的顯示亮線會比較均勻;而當圖 (b)中的較寬脈沖輸入到Y軸時,通過程序使其在最高幅值點處停留的時間比在其它幅值點停留的時間長,這使得它所對應的亮線頂部比亮線的其它部分較亮,最后就會在示波器上顯示出形狀類似火柴頭的亮線圖形。
圖3兩種寬度在脈沖信號
4.2鋸齒波波形
同樣地,按照相間的構想就可以產生鋸齒波波形。由上可知,FPGA會輸出1600Hz的脈沖作為外部模擬電路的觸發信號,在它的作用下,模擬電路會產生一個長為100us的掃描信號,將其作為示波器上X軸的輸入信號,而將0V的直流電壓輸入Y軸。那么,根據示波器的顯示原理,由于Y軸的輸人為0V,則亮點只能出現在x軸上,而x軸的輸入信號又是一個頻率值固定的連續信號,這樣在示波器上就會顯示出一個在x軸上連續的扣描基線的波形。然后,通過DSP 的軟件程序控制模擬電路,產生連續變化的直流電壓值,再輸出到示波器的Y軸上時,就可以在示波器上得到鋸齒波波形,如圖4所示。
圖4鋸齒波波形
5 結論
這里,利用FPGA構成核心控制電路用以產生模擬波形的控制信號,再輔以外圍的電路生成鋸齒波和階梯波。通過實驗觀察,產生的波形清晰,無雜波干擾.表明該模擬電路能夠很好地處理漸變信號,充分地體現了模擬電路的優點。并且,在實際工程中,合理地運用鋸齒波和階梯波來生成項目所需的各種模擬波形。只要將部分電路稍加改造,就可以應用于其他應用系統中。
審核編輯:湯梓紅
-
FPGA
+關注
關注
1629文章
21729瀏覽量
603008 -
模擬電路
+關注
關注
125文章
1556瀏覽量
102719 -
數字電路
+關注
關注
193文章
1605瀏覽量
80578
發布評論請先 登錄
相關推薦
評論