新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的DDS設(shè)計(jì)及實(shí)現(xiàn)

基于FPGA的DDS設(shè)計(jì)及實(shí)現(xiàn)

作者: 時(shí)間:2010-09-20 來源:網(wǎng)絡(luò) 收藏

ADC轉(zhuǎn)換芯片處理后的8位數(shù)字信號(hào),為了使合成的頻率較大,末尾補(bǔ)4個(gè)O作為參數(shù)化模塊lpm_add_sub的12位輸入datai。由于ADC信號(hào)輸出的是8位二進(jìn)制偏移碼,與計(jì)算機(jī)處理的二進(jìn)制補(bǔ)碼形式不同,需將二進(jìn)制偏移碼轉(zhuǎn)換成二進(jìn)制補(bǔ)碼,在這里與另一路輸入信號(hào)常數(shù)2 048做減法,就能達(dá)到求補(bǔ)的目的,并輸出12位有符號(hào)數(shù)。
12位的輸出接入lpm_mult模塊,lpm_mult的另一路輸入為12位任意數(shù)輸入。乘法器的輸出直接影響累加器累加相位的速度。當(dāng)乘以一個(gè)比較大的數(shù),則頻率變化加快。
同理,為了使合成頻率較大,乘法器的24位輸出在末尾補(bǔ)O成為32位數(shù)datab送到累加模塊altaccumulate中。為了節(jié)省ROM容量,最后取altaccumulate輸出的高10位作為ROM查找表的地址信號(hào)。累加控制模塊的時(shí)序仿真如圖3所示。

本文引用地址:http://m.butianyuan.cn/article/191571.htm


2.2 ROM查找表的設(shè)計(jì)
針對(duì)不同的可編程器件,ROM查找表的設(shè)計(jì)采用的方法也不相同。主要是基于lpm_rom和VHDL選擇語(yǔ)句這兩種方法。使用lpm_rom的波形存儲(chǔ)表只需要產(chǎn)生數(shù)據(jù)文件*.mif,然后直接在定制lpm_rom時(shí),添加數(shù)據(jù)文件即可。不過這種方法在支持內(nèi)部嵌入式陣列塊(EAB)時(shí)才可以使用;使用VHDL選擇語(yǔ)句比較直觀,但當(dāng)輸入數(shù)據(jù)量大的時(shí)候,這種方法是比較繁瑣的。此次設(shè)計(jì)采用第一種方法。
mif文件是在編譯和仿真過程中作為存儲(chǔ)器(ROM或RAM)初始化輸入的文件,即memory initialization file。創(chuàng)建mif文件的方式有很多種,在這次設(shè)計(jì)中,在Matlab中采用C語(yǔ)言來生成mif文件。mif文件編寫格式如下:

通常相位累加器的位數(shù)N很大,實(shí)際設(shè)計(jì)中受到體積和成本的限制。為了節(jié)省ROM的容量采用相位截?cái)嗟姆椒?,一般只取累加器輸出的高幾位作為ROM的尋址地址。設(shè)計(jì)中取累加結(jié)果的高10(M=10)位來進(jìn)行查表,也就是說正余弦ROM有210=1 024個(gè)尋址地址,數(shù)據(jù)寬度為12。如圖4所示,設(shè)計(jì)了2個(gè)lpm_rom模塊,分別是sin波形存儲(chǔ)器和cos波形存儲(chǔ)器。




關(guān)鍵詞: FPGA DDS

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉