基于FPGA和DDS技術(shù)的任意波形發(fā)生器設計
2.1 DDS模塊的基本結構設計
整個(gè)DDS系統的設計采用層次結構,采用VHDL與原理圖輸入相結合的方法,DDS基本結構如圖2所示。
下面就各個(gè)部分的設計分別介紹:該設計中采用的頻率字為32位,即N=32,RAM為256×8位,故ROM的地址線(xiàn)寬M=8,輸出數據線(xiàn)寬L=8。由于RAM地址線(xiàn)為8位(28=256),而相位累加器的輸出為32位,為了保證它們之間的對應,將相位累加器的高8位與RAM的地址線(xiàn)相連。這樣存在多個(gè)相位地址對應同一個(gè)RAM地址的情況,如果把相位累加器輸出的所有位數全部用來(lái)查詢(xún)RAM,那么RAM的容量會(huì )非常的大,如此巨大的RAM表容量在實(shí)際工作中難以實(shí)現。因此,常使用相位地址高位來(lái)尋址,舍去低位的相位截斷方法。當然,這種方法會(huì )引入一定的噪聲,但
對于節省的資源來(lái)說(shuō),這種方法還是值得的。
2.2 DDS模塊的總體設計
該設計主要由接口部件、頻率及控制部件、相位累加器、波形數據產(chǎn)生部件和輸出選擇器組成,如圖3所示。
接口部件主要完成接收單片機發(fā)送過(guò)來(lái)的頻率參數及控制參數其中A0為數據通道和地址通道選擇位,EN為數據寫(xiě)入使能。頻率及控制部件主要完成頻率控制字及輸出控制參數的存儲,由5個(gè)帶寫(xiě)使能的8位同步寄存器組成。相位累加器為DDS主要部件實(shí)現相位的累加。波形數據產(chǎn)生部件的功能是將相位數據轉化為所需的波形數據,其中正弦波和三角波數據由查ROM表獲得,鋸齒波數據直接由相位累加器輸出得到,方波數據是相位累加器輸出數據與設定數據比較獲得。輸出選擇器的SEL端接到控制參數寄存器,它的4個(gè)數值分別選擇4種不同的波形輸出。
3 DDS仿真實(shí)驗結果
設置輸出100 kHz正弦波,由式,得,通過(guò)計算K=21 477 072=147B6DOH,按照此數據設置好頻率控制寄存器的參數,其仿真波形如圖4、圖5所示。
評論