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

  1 引言

  隨著數字信號處理和集成電路的發展,要求數據處理速度越來越高,基于單片機+DDS(直接數字頻率合成)的頻率合成技術已不能滿足目前數據處理速度需求。針對這一現狀,本文提出了基于FPGA+DDS的控制設計.能夠快速實現復雜數字系統的功能。

  2 AD9911簡介

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

  3 FPGA控制AD9911的具體實現

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

FPGA與AD99ll的外圍電路

點擊看原圖

 

 

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

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

  首先,設置地址為0X00的寄存器CSR,用于選擇通道及通道輸入/輸出模式。本系統設計選用最基礎的SINGLE-TONE工作模式,數據輸入方式定義為MSB,則0X00寄存器中的內容應為0X20。

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

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

  由于對輸出波形的相位和幅度無特殊要求,因此,其他寄存器保存為默認值即可。

  對AD991l讀寫操作時,需要注意AD9911的時序要求,如圖2和表1所示。由于FPGA的系統時鐘可在100~300 MHz范圍內選擇,執行一個指令需占用時間約為3.3~10 ns。鑒于AD9911的時序要求,要求在時間控制方面特別注意。

端口各狀態的建立和保持時間如表1

 

  如圖2所示,在SCLK上升沿,寫入數據有效,FPGA控制SCLK信號的產生。SLCK的最大頻率為200 MHz,即要求數據輸入的最大頻率不能大于200MHz。具體寫入數據的程序代碼(使用Verilog HDL編寫)如下所示:

具體寫入數據的程序代碼(使用Verilog HDL編寫)

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

  (1)在Single Bit Mode和2一Bit Mode模式下,SDIO_3作為SYNC_I/O,不能忽略應將其懸空,這將導致系統無法正常工作。當SDIO_3置0時,數據通信正常,而當SDIO_3置l或懸空時,通信中斷。

  (2)AD99ll開始工作時必須先將其復位,復位時間至少應保持lO個系統工作周期。

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

  4 例程

  為了更好說明FPGA對AD9911的控制,以下給出相關例程:

相關例程

點擊看原圖

 

 

  例程中,將update信號設置為手動,通過頻率控制寄存器寫入頻率控制字0X3C91_D14E,此數字轉換成十進制為1 016 189 262,代入頻率控制字的公式,計算出頻率為118.29 MHz。使用示波器測量觀察,如圖3所示,圖像中顯示的是激光光繪機激光掃描驅動信號,可以看出,輸出波形的頻率為118.3 MHz,與初始設定值一致。由此可見,程序符合設計要求。

使用示波器測量觀察

 

  5 結語

  FPGA對AD9ll的控制是通過對其各控制寄存器進行相關設置來實現的。隨著FPGA的廣泛應用,以及更快的數據處理速度,基于FPGA+DDS在數據處理速度上的優勢,FPGA控制DDS不僅可應用于雷達線性掃描和菲林產品的激光掃描驅動等領域。而且還將在更多領域得到廣泛應用。  

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 女人张腿让男桶免费视频网站| 国产在视频线精品视频2021| 最近2019中文免费字幕| 人妻影音先锋啪啪av资源| 日本亚洲黄色片| 影音先锋女人aa鲁色资源| 亚洲免费综合色在线视频| 综合网激情五月| 国产全黄一级毛片| 99久久国产综合精品女图图等你| 日本理论片午午伦夜理片2021| 亚洲午夜成人片| 欧美黑人又粗又大又爽免费| 免费日产乱码卡一卡2卡三卡四| 脱顶胖熊老头同性tv| 国产精品国产三级国产潘金莲| 99久久精品国产一区二区三区 | 91精品国产高清久久久久久91| 夫妇交换性2国语在线观看| 一求乳魂h肉动漫在线观看| 我×鞠婧祎的时候让你在| 亚洲一卡一卡二新区无人区| 欧美福利在线播放| 亚洲精品美女在线观看播放| 琪琪see色原网一区二区| 国产国产午夜精华免费| 午夜性福利视频| 国产精品成人免费综合| 91av手机在线观看| 少妇高潮太爽了在线观看| 久久精品国产欧美日韩亚洲 | 国产精品成在线观看| 91福利国产在线观看网站| 国语精品91自产拍在线观看二区| imim5.vip| 天天拍拍夜夜出水| 中文字幕在线视频观看| 日本三级在线观看中文字| 久久亚洲国产精品五月天婷| 日韩一区二区三区精品| 久久无码精品一区二区三区|