波形發生器的應用在生活中隨處可見,其中使用較多的波形發生器為任意波形發生器。為增進大家對波形發生器的理解,本文特帶來高速任意波形發生器的設計實例。如果你對本文內容存在一定興趣,不妨耐心往下閱讀哦。
任意波形發生器是目前電子測量儀器中發展最為快速的產品之一。它既可輸出標準函數信號,也可以產生由用戶定義的非標準函數波形(任意波形)信號,并且有豐富的模擬調制(AM,FM,PM)和數字調制 (FSK,PSK)功能,能為不同的應用領域提供各種標準或非標準信號,尤其在水下聲納、通信、雷達導航、電子對抗等裝備的研制、生產、維修中,是必不可少的信號發生器。基于數字頻率合成技術,給出高速任意波形發生器的設計方案。
1 高速任意波形發生器的硬件設計
1.1 任意波形發生器的工作原理
目前任意波形發生器的產生有兩種方案,一種方案是采用直接數字頻率合成(DDS)技術產生任意波形,工作原理如圖1所示。
一個標準的DDS電路應當由以下幾部分構成,既相位累加器、波形存儲器、D/A轉換器、低通或帶通濾波器構成。任意波形數據預先通過人機接口寫入波形存儲器中,相位累加器的作用是根據輸入的頻率控制字對參考振蕩器輸出的時鐘相位進行采樣。當相位累加器的步長為K時。任意波形的輸出頻率
式中,Fs為固定采樣時鐘頻率,n為相位累加器長度,改變頻率控制字K,就可以改變DDS的輸出頻率。
采用DDS技術構成的任意波形發生器具有輸出頻率分辨率高、頻率改變相位連續等優點,但也存在兩個重要缺陷。首先是當相位累加器的相位增量步長較大時,輸出波形將產生抖動;其次由于DDS技術不是逐點讀取波形存儲器中的數據,因此輸出波形會丟失許多有用的信息。
任意波形發生器的另外一種設計方案如圖2所示,其工作原理是任意波形發生器的時鐘通過使計數器加1來改變由計數器構成的地址產生電路的輸出地址,計數器順序掃過波形存儲器中的每一個地址直到波形數據的末端,每個地址中的波形數據都被送至D/A轉換器中以將數字信號轉為模擬信號,而后D/A轉換器的輸出信號還需經過低通濾波器對D/A轉換器輸出信號的躍變邊緣進行平滑處理得到所需的任意波形。在這種方案中,所有波形數據都被送入D/A轉換器中,所以不會丟失波形數據,但要全部輸出波形存儲器中定義的波形數據內容,并且任意波形的輸出信號頻率可變,那么取樣時鐘的頻率就必需是可變的,這點與由DDS構成的任意波形發生器有著明顯的區別。采用該方案任意波形的輸出頻率
式中,Fs為可變采樣時鐘頻率。
使用該方案電路結構簡單,能夠輸出復雜的任意波形,對于高速任意波形發生器最為適合。基于該方案的任意波形發生器采樣速率可達200百萬次/秒,任意波形的最高輸出頻率可以達到50 MHz。高速任意波形發生器波形總體電路的方框圖如圖3所示。
1.2 任意波形產生電路的設計
如圖4所示,一個完整的任意波形產生電路主要由時鐘發生電路、地址計數器、波形存儲器、鎖存器、奇偶數據選擇電路以及D/A轉換器構成。
時鐘發生電路用于產生任意波形發生器所需的可變時鐘,通常可以由單片機控制的鎖相環電路構成,在實際設計中采用鎖相環集成電路,產生最高頻率為100 MHz的時鐘信號,時鐘電路的輸出信號送往地址計數器的時鐘輸入端,以驅動地址計數器掃描波形存儲器中的數據,地址計數器采用15位二進制同步計數器,邏輯上等同于4片74F161級聯,地址計數器輸出的15位地址數據與波形存儲器的地址輸入端相連,波形存儲器使用四片32 K×8(讀寫速度為12 ns)的SRAM級聯成32 K×32的SRAM陣列,SRAM陣列輸出端的32比特數據中,24比特為波形數據,2比特為控制信號,其余6比特數據線不使用。每個波形點分辨率為12 比特,每個地址存放兩個波形點的數據,單片段任意波信號最長可達64 K個點,2個控制信號分別為停止位、同步位,停止位數據線通過D觸發器與地址計數器的預置數控制端端相連,當檢測到掃描至最后一個波形地址時,停止位將地址計數器的預置數控制端置位,這樣在下一個時鐘到來時,地址計數器又從該任意波形的首地址尋址,讀取波形數據。控制信號中的同步位用于輸出外同步信號。波形存儲器輸出的24位任意波形數據由鎖存器鎖存后送往12位奇偶數據選擇電路的輸入端。如前所述,波形存儲器的每個地址存放兩個點的波形數據,在通過人機接口向波形存儲器寫入波形數據時,一個點的波形數據由每個地址中的奇數位數據構成,另外一個點的數據由偶數位構成,這樣做的好處是每個采樣時鐘到來時,可同時讀取2個波形點的數據,使得輸出波形的最高頻率增大了1倍,相當于采樣時鐘的頻率提高了1倍,大大提高儀器性能。12位奇偶數據選擇電路邏輯上等同于3片74F157。奇偶數據選擇電路的輸出端與 D/A轉換器的輸入端相連,D/A轉換器的作用是將從波形存儲器中讀取的數字信號轉換為模擬信號,由于最高時鐘頻率為100 MHz,所以D/A轉換器選擇速率為125百萬次/秒的AD975。根據采樣定律輸出信號的基波頻率將低于所用的參考時鐘頻率的一半,在本方案中采樣時鐘最高頻率為100 MHz,一個任意波形最少可由4個點構成,并且每個時鐘周期讀取兩個波形數據,因此所輸出的任意波形信號的最高頻率為50 MHz。上述電路中,15位同步二進制地址計數器、24位鎖存器、12位奇偶數據選擇電路及相關控制電路也可由高速CPLD實現。
1.3 濾波器設計
經過D/A轉換后的信號通常含有較多的時鐘成分及較為陡峭的躍變邊緣,為了減少輸出波形的抖動、抑制高次諧波,在任意波形發生器的設計中選擇有效的濾波器就顯得非常重要,高速任意波形發生器即能輸出正弦波,又可輸出三角波、鋸齒波、脈沖波以及任意波型,因此要根據不同頻段和波形來選擇不同性能的濾波器,橢圓(EllipTIc)濾波器具有陡峭的過渡特性,適合用作正弦波的輸出濾波器,三角波、鋸齒波和任意波具有豐富的頻譜,因此要求濾波器在通帶范圍內具有良好的幅頻特性,以保證信號通過濾波器后即不產生失真,又能濾去雜散信號。橢圓濾波器對正弦波以外的其他波形會產生劇烈的振鈴,而具有線形相位的高斯 (Gaussian)濾波器可以滿足這些要求,在本方案中由于任意波形發生器的采樣時鐘可變,因此它的低通濾波器的截止頻率也必須變化,否則在有些頻段就不起濾波作用,或者是在高頻段有用信號會被衰減,為此本設計方案中采用截止頻率為25 MHz、50 MHz的七階橢圓濾波器以及截止頻率為20 MHz高斯濾波器,由單片機根據不同情況編程選擇。圖5給出了截止頻率為50 MHz的七階橢圓濾波器以及截止頻率為20 MHz高斯濾波器的電路。
1.4 GPIB接口設計
盡管目前在智能儀器中有許多新的接口標準,比如USB、LAN等,但是GPIB(General Purpose InteRFace Bus)接口仍然是業界公認的智能儀器標準接口,在本方案中采用GPIB接口由PC機向任意波形發生器下載數據,并可通過GPIB總線遠程控制任意波形發生器,GPIB接口電路由采用NI公司的NAT7210 GPIB專用集成電路和TI公司生產的GPIB總線驅動器SN75160以及SN75162構成,NAT7210輸出的是標準的GPIB格式數據,符合 IEEE488.2標準,GPIB總線驅動器的作用是增強接口的驅動能力。NAT7210與SN75160、SN75161以及單片機之間的連接方法參見文獻。
2 高速任意波形發生器的軟件設計
高速任意波形發生器的軟件包括PC機部分的波形編輯及下載軟件以及儀器內部的單片機控制軟件兩部分,波形編輯及下載軟件具備各種任意波形編輯能力,例如直線編輯方式、曲線編輯方式、公式編輯方式、調制波形編輯方式。波形編輯及下載軟件能夠通過GPIB接口與任意波形發生器通信完成任意波形數據的下載及儀器的遠程監控。儀器內部的單片機控制軟件結構采用經典的主程序循環和中斷服務模式,其流程圖如圖6所示。儀器加電后,首先進行自檢和軟、硬件的初始化,再進入主程序的循環,主程序的循環是等待中斷處理的過程,它依據中斷請求判斷中斷源,開中斷并轉向相應的中斷處理子程序,完成對應操作或硬件控制。
3 結束語
經過對完成的任意波形發生器樣機進行測試,采用該方案的任意波形發生器能夠輸出低至10 MHz、高達50 MHz的任意波形,輸出波形穩定,無波形數據丟失現象,通過PC機上的波形編輯軟件,能夠產生種類豐富的任意波形,可廣泛應用在國防、科研、教育及工業生產等各個領域。