基于CPLD的函數信號發生器設計
摘要:針對傳統信號源精度低的特點,提出一種新的函數信號發生器設計方案。這里介紹的函數信號發生器由CPLD、單片機控制模塊、鍵盤、LED顯示、D/A轉換模塊組成。采用直接數字頻率合成(DDFS)技術,用單片機控制CPLD的方法產生正弦波、方波、三角波和占空比可調的矩形波。該系統具有頻率范圍寬,步進小,幅度和頻率的精度高等特點。
關鍵詞:CPLD;DDFS;單片機控制;80C196
0 引 言
傳統的信號源設計常采用模擬分立元件或單片壓控函數發生器MAX038,可產生正弦波、方波、三角波,并通過調整外部元件改變輸出頻率,但由于采用模擬器件。所用元件的分散性太大,即使使用單片函數發生器,也因參數與外部元件有關(外接的電阻電容對參數影響很大),使頻率穩定度較差.精度低,抗干擾能力低,成本也高;況且其靈活性較差.而不能實現多種波形以及波形運算輸出等功能。
在此,采用直接數字頻率合成(DDFS)技術,并使用單片機控制CPLD的方法。由于CPLD具有可編程重置特性,因而可以方便地改變控制方式或更換波形數據。而且簡單易行,易于系統升級,同時具有很高的性價比。頻率合成是將一個高穩定度和一個高精度的標準頻率經過運算,產生同樣穩定度和精度的大量離散頻率技術,一定程度上解決了既要頻率穩定、精確,又要頻率在較大范圍內可變的矛盾。
1 DDFS的原理和特點
1.1 DDFS的基本原理
DDFS的基本原理圖如圖1所示。
一個完整輸出波形的周期、幅值都被順序地存放在RAM中。當RAM的地址變化時,DAC將該波形數據轉換成電壓波形,該電壓波形的頻率與RAM地址變化的速率成正比。DDFS發生器使用了相位累加技術,以控制波形在RAM中的地址。它用一個加法器代替計數器來產生RAM的順序地址。在每一個時鐘周期,存儲于相位遞增寄存器(Phase Increment Register,PIR)中的常數都被加到相位累加器的當前結果上。相位累加器輸出的最大有效位數被用來確定波形在RAM中的地址。通過改變PIR的常數,確定每個周期中的點數,而這些點數正是用來改變整個波形的頻率。當一個新相位遞增寄存器的(PIR)常數被存進寄存器中,波形的輸出頻率便隨下一個時鐘周期連續地改變相位。相位累加器將依據PIR中存儲的常數來改變RAM的地址,若PIR數值很小(即頻率較低)時,累加器便逐步地經過每個RAM地址;當PIR的值較大時,相位累加器將跳躍某些RAM地址。
1.2 DDFS的特點
DDFS的特點如下:
(1)DDFS的頻率分辨率在相位累加器的位數N足夠大時,理論上可以獲得相應的分辨精度,這是傳統方法難以實現的。
(2)由于DDFS中不需要相位反饋控制,頻率建立及頻率切換快,并且與頻率分辨率、頻譜純度相互獨立,這一點明顯優于PPL。
(3)DDFs的相位誤差主要依賴于時鐘的相位特性,相位誤差小。另外,DDFS的相位是連續變化的,形成的信號具有良好的頻譜,這是傳統的直接頻率合成方法無法實現的。
(4)DDFS的失真度除了受到D/A轉換器本身的噪聲影響外,還與離散點數N和D/A字長有著密切的關系。在高輸出頻率取樣點數32和相應的量化級數256條件下,失真度(5.676%)已經足夠小了。
評論