《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA+DDS的控制設(shè)計(jì)
基于FPGA+DDS的控制設(shè)計(jì)
摘要: 隨著數(shù)字信號(hào)處理和集成電路的發(fā)展,,要求數(shù)據(jù)處理速度越來(lái)越高,,基于單片機(jī)+DDS(直接數(shù)字頻率合成)的頻率合成技術(shù)已不能滿足目前數(shù)據(jù)處理速度需求,。針對(duì)這一現(xiàn)狀,,本文提出了基于FPGA+DDS的控制設(shè)計(jì).能夠快速實(shí)現(xiàn)復(fù)雜數(shù)字系統(tǒng)的功能,。
關(guān)鍵詞: FPGA DDS LFXP6C-3T144C AD99ll
Abstract:
Key words :

  1 引言

  隨著數(shù)字信號(hào)處理和集成電路的發(fā)展,,要求數(shù)據(jù)處理速度越來(lái)越高,,基于單片機(jī)+DDS(直接數(shù)字頻率合成)的頻率合成技術(shù)已不能滿足目前數(shù)據(jù)處理速度需求,。針對(duì)這一現(xiàn)狀,,本文提出了基于FPGA+DDS的控制設(shè)計(jì).能夠快速實(shí)現(xiàn)復(fù)雜數(shù)字系統(tǒng)的功能,。

  2 AD9911簡(jiǎn)介

  AD99ll是ADI公司推出的一款單片DDS器件,內(nèi)部時(shí)鐘頻率高達(dá)500 MHz,,具有2,、4、8,、16級(jí)FSK,、ASK、PSK等調(diào)制方式,,可完成線性和非線性掃頻等功能,,內(nèi)部集成有10位電流型D/A轉(zhuǎn)換器、超高速比較器,、4~20倍可編程參考時(shí)鐘倍乘器,、32位的可編程頻率寄存器、14位的可編程相位偏置寄存器,、10位幅度調(diào)制偏置寄存器,;具有多器件通信模式和可編程功能;采用先進(jìn)的O.35μm CMOS工藝,,僅需3.3 V的供電電源可輸出高達(dá)250 MHz的同步正交信號(hào),。通過(guò)其內(nèi)部幅度、頻率,、相位寄存器控制輸出信號(hào)的幅度,、頻率,、相位。

  3 FPGA控制AD9911的具體實(shí)現(xiàn)

  采用Lattice公司的FPGALFXP6C-3T144C控制AD99ll,,該器件的外部時(shí)鐘頻率為25 MHz,,內(nèi)部自帶2個(gè)鎖相環(huán),通過(guò)PLL倍頻時(shí)鐘頻率高達(dá)500 MHz,,10個(gè)RAM塊,,每一個(gè)RAM塊的容量都是9 Kbit,提供分布式RAM,,5 800個(gè)LUT,,720個(gè)PFU,共有8個(gè)模塊144位的I/O端口,,其中單獨(dú)輸入/輸出設(shè)置101個(gè)端口。一個(gè)I/O端口用作外部時(shí)鐘的輸入,,另一個(gè)I/0端口用作系統(tǒng)上電復(fù)位中斷輸入,。LatticeXP器件將非易失的Flash單元和SRAM技術(shù)組合在一起,無(wú)需配置器件提供支持“瞬間”啟動(dòng)和無(wú)限可重復(fù)配置的單芯片解決方案,。上電時(shí),。該配置在1 ms內(nèi)從Flash存儲(chǔ)器中被傳送到SRAM中,可提供瞬時(shí)上電的FPGA,。

FPGA與AD99ll的外圍電路

點(diǎn)擊看原圖

 

 

  FPGA與AD99ll的外圍電路簡(jiǎn)單,,無(wú)需外加任何驅(qū)動(dòng)電路,從而節(jié)省了硬件電路設(shè)計(jì)和調(diào)試時(shí)間,,如圖l所示,。其中SDIO_3用于控制I/O端口的工作狀態(tài),CS為片選信號(hào),,SDIO_0是數(shù)據(jù)傳輸線,,I/Oupdate使能DDS內(nèi)部各寄存器數(shù)據(jù)更新,SCLK用于輸出數(shù)據(jù)交換的控制時(shí)鐘,,DDS_RET控制DDS的系統(tǒng)復(fù)位,。另外,由于未采用多芯片數(shù)據(jù)通信,,所以需將AD9911的l引腳和2引腳懸空,,此時(shí)AD991l為單芯片獨(dú)立通信模式。

  設(shè)置AD99ll的25個(gè)寄存器,,其中地址為0X00~0X03的寄存器是控制寄存器,,分別用于控制設(shè)置工作模式、比較器,、輸出度,、系統(tǒng)時(shí)鐘等,。

  首先,設(shè)置地址為0X00的寄存器CSR,,用于選擇通道及通道輸入/輸出模式,。本系統(tǒng)設(shè)計(jì)選用最基礎(chǔ)的SINGLE-TONE工作模式,數(shù)據(jù)輸入方式定義為MSB,,則0X00寄存器中的內(nèi)容應(yīng)為0X20,。

  地址為0X0l的寄存器FRl用于控制器件的工作模式,包括器件內(nèi)部PLL倍乘器的開(kāi)關(guān)與倍數(shù),、系統(tǒng)時(shí)鐘開(kāi)關(guān),、多芯片通信同步控制、Test—tone模式,、Shift—Keying模式控制等,。AD99ll外部采用25MHz的晶體振蕩器,系統(tǒng)時(shí)鐘設(shè)定為500 MHz,,未使用Test—tone模式和Shift Keying模式,,因此將0X0l寄存器中的VCO gain control位置為l,倍乘器倍數(shù)置為20,,其他控制位全置為0,。這樣地址為0X0l寄存器中的內(nèi)容應(yīng)為0XDO_00_00。

  此外,,地址為0X02的寄存器主要控制多芯片通信模式和線性掃頻,。地址為0X03的寄存器CFR主要控制器件的輸出波形和線性掃頻。由于本系統(tǒng)設(shè)計(jì)無(wú)需對(duì)相位累加器清零,,只需使輸出波形正弦化,,因此該寄存器內(nèi)容應(yīng)為0X00_03_01。然后再設(shè)置頻率寄存器,、幅度寄存器,、相位寄存器。由于采用Single-Tone工作模式,,且只利用頻率調(diào)制,,因此只需設(shè)置地址為0X04的寄存器即可。該寄存器又稱(chēng)CTW0寄存器,,用于控制波形頻率,,精度為32位。因此,,該寄存器可控制頻率為0~250 MHz,。

  由于對(duì)輸出波形的相位和幅度無(wú)特殊要求,因此,,其他寄存器保存為默認(rèn)值即可,。

  對(duì)AD991l讀寫(xiě)操作時(shí),,需要注意AD9911的時(shí)序要求,如圖2和表1所示,。由于FPGA的系統(tǒng)時(shí)鐘可在100~300 MHz范圍內(nèi)選擇,,執(zhí)行一個(gè)指令需占用時(shí)間約為3.3~10 ns。鑒于AD9911的時(shí)序要求,,要求在時(shí)間控制方面特別注意,。

端口各狀態(tài)的建立和保持時(shí)間如表1

 

  如圖2所示,在SCLK上升沿,,寫(xiě)入數(shù)據(jù)有效,,F(xiàn)PGA控制SCLK信號(hào)的產(chǎn)生。SLCK的最大頻率為200 MHz,,即要求數(shù)據(jù)輸入的最大頻率不能大于200MHz,。具體寫(xiě)入數(shù)據(jù)的程序代碼(使用Verilog HDL編寫(xiě))如下所示:

具體寫(xiě)入數(shù)據(jù)的程序代碼(使用Verilog HDL編寫(xiě))

  該指令用于對(duì)地址為0X00的通道選擇寄存器CSR進(jìn)行寫(xiě)操作,DDS_clk控制SCLK,。但鑒于FPGA的高速處理能力,,在程序設(shè)計(jì)時(shí)需要注意一些特殊時(shí)序要求,如以下幾方面問(wèn)題,。

  (1)在Single Bit Mode和2一Bit Mode模式下,SDIO_3作為SYNC_I/O,,不能忽略應(yīng)將其懸空,,這將導(dǎo)致系統(tǒng)無(wú)法正常工作。當(dāng)SDIO_3置0時(shí),,數(shù)據(jù)通信正常,,而當(dāng)SDIO_3置l或懸空時(shí),通信中斷,。

  (2)AD99ll開(kāi)始工作時(shí)必須先將其復(fù)位,,復(fù)位時(shí)間至少應(yīng)保持lO個(gè)系統(tǒng)工作周期。

  (3)如果系統(tǒng)工作需多次使用I/O Update,,要注意I/O Update引腳置l的時(shí)間控制,,這關(guān)系到系統(tǒng)是否能順利設(shè)置各個(gè)寄存器。

  4 例程

  為了更好說(shuō)明FPGA對(duì)AD9911的控制,,以下給出相關(guān)例程:

相關(guān)例程

點(diǎn)擊看原圖

 

 

  例程中,,將update信號(hào)設(shè)置為手動(dòng),通過(guò)頻率控制寄存器寫(xiě)入頻率控制字0X3C91_D14E,,此數(shù)字轉(zhuǎn)換成十進(jìn)制為1 016 189 262,,代入頻率控制字的公式,計(jì)算出頻率為118.29 MHz,。使用示波器測(cè)量觀察,,如圖3所示,,圖像中顯示的是激光光繪機(jī)激光掃描驅(qū)動(dòng)信號(hào),可以看出,,輸出波形的頻率為118.3 MHz,,與初始設(shè)定值一致。由此可見(jiàn),,程序符合設(shè)計(jì)要求,。

使用示波器測(cè)量觀察

 

  5 結(jié)語(yǔ)

  FPGA對(duì)AD9ll的控制是通過(guò)對(duì)其各控制寄存器進(jìn)行相關(guān)設(shè)置來(lái)實(shí)現(xiàn)的。隨著FPGA的廣泛應(yīng)用,,以及更快的數(shù)據(jù)處理速度,,基于FPGA+DDS在數(shù)據(jù)處理速度上的優(yōu)勢(shì),F(xiàn)PGA控制DDS不僅可應(yīng)用于雷達(dá)線性掃描和菲林產(chǎn)品的激光掃描驅(qū)動(dòng)等領(lǐng)域,。而且還將在更多領(lǐng)域得到廣泛應(yīng)用,。  

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。