《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基本信號發生器的設計方案
基本信號發生器的設計方案
電源在線網
摘要: DDS(DiFeetDigitalFrequencySynthesis)即直接數字式頻率合成,是從相位概念出發直接合成所需波形的一種頻率合成技術。與傳統信號源所采用的用模擬方式生成信號不同,它是將先進的數字信號處理理論與方法引入信號合成領域。DDS技術在精確度、靈活度等方面都超過模擬信號發生器。并且DDS可實現相位連續變化,且具有良好頻譜的信號,這是傳統方法無法實現的。FPGA的迅速發展為D
關鍵詞: FPGA 信號發生器 DDS
Abstract:
Key words :

    DDS(DiFeet Digital Frequency Synthesis)即直接數字式頻率合成,是從相位概念出發直接合成所需波形的一種頻率合成技術。與傳統信號源所采用的用模擬方式生成信號不同,它是將先進的數字信號處理理論與方法引入信號合成領域。DDS技術在精確度、靈活度等方面都超過模擬信號發生器。并且DDS可實現相位連續變化,且具有良好頻譜的信號,這是傳統方法無法實現的。

    FPGA的迅速發展為DDS提供了更加優良的技術手段,它具有處理速度快、可靠性高等特點。SOPC(System On Programmable Chip,片上可編程系統)是一種靈活、高效的SOC解決方案。它以IP Core為基礎,將處理器、存儲器、IO口等系統設計需要的功能模塊集成到一個FPGA器件上,構建成一個可編程的片上系統,具有靈活的設計方式。本設計綜合以上軟硬件可編程協同設計技術,使得DDS電路在靈活性,可行性,精確性等方面得到很大提高。

    1 DDS的基本原理

    DDS信號發生器是由:頻率控制字、相位累加器、ROM表、D/A轉換器以及模擬低通濾波器LPF組成,原理框圖如圖1所示。

    首先對波形的一個周期進行連續采樣,通過計算得到每一點對應的幅度值,然后以二進制格式存放在數據文件中。在時鐘脈沖fclk驅動下,每個時鐘周期內頻率控制字與相位累加器累加一次,產生ROM查找表的地址值,隨后通過查表變換,地址值被轉化為信號波形的數字幅度序列,即可得到幅度上離散的波形,再由數模變換器(D/A)將表示波形幅度的數字序列轉化為模擬量。最后經由LPF將D/A輸出的階梯狀波形平滑為所需的連續波形。理論上,采樣點數越多,生成波形精確度越高。

    2 基于FPGA的DDS設計

    本設計在Altera的EP2C35F672C8芯片的基礎上,在SOPCBuilder和OuartusⅡ開發環境下,利用SOPC技術,在FPGA中集成Altera的嵌入式軟核處理器NiosⅡ和其他外設,將硬件系統與軟件集成在單一可編程芯片中,從而實現片上的系統級設計。系統框圖如圖2所示,由DDS基本單元(由頻率控制字,相位累加器,ROM,DAC,LPF構成),FPGA外部硬件資源(撥扭開關SWTCH、鍵盤KEY、LCD12864)和NiosⅡ處理器系統等構成了基本電路。四位撥扭開關選擇輸出波形,鍵盤控制輸出波形信號頻率,LCD12864顯示波形信號參數,各硬件模塊之間的協調工作通過NiosⅡ微處理器在圖形化開發環境NiosⅡIDE下用C語言來編程實現控制。

    3 各模塊設計

    3.1 波形數據存儲方式

    通過對DDS基本原理的分析得知只需更換波形存儲器中的波形采樣數據,就可以得到所需波形的信號。波形數據存儲方式包括順序存儲方式和間隔存儲方式,本設計采用順序存儲方式將方波,三角波,正弦波,鋸齒波4種波形采樣數據全部依次存儲在一個查找表里,數據分布情況如表1所示。通過改變尋址首地址,并在該波形數據存儲地址范圍內循環尋址,從而實現對所需信號波形的輸出。具體實現方法在累加控制模塊中有介紹。

    DDS模塊中的波形數據存儲器是用QuartusⅡ中的MegaWizard Plug_In Manager工具添加的LPM_ROM IP核,此存儲器ROM是用波形存儲文件.mif進行初始化,波形數據可以用matlab等工具生成,用matlab生成4種波形的波表數據程序如下:
  

  

    由以上代碼生成的.mif文件即可存E盤目錄下找到,將.mif文件加載到ROM中,實現對ROM的初始化。

    3.2 累加控制模塊

    累加控制模塊如圖3所示,為了實現波形選擇性輸出,本設計在累加控制部分增加了選擇器,即圖3的sel模塊,作為系統尋址地址的高兩位,實現對波形查找表的范圍選擇功能。累加器Altaccumulate0的輸出做為累加控制模塊的低32位的輸出,實現在指定范圍內對查找表進行尋址。此設計方法相當于做了一個多路數據選擇器。四位撥扭開關作為sel模塊的輸入控制,將尋址地址轉換成所需波形首地址,即可實現對波形選擇的控制。Adder模塊將sel和Altaccumulate0模塊輸出進行位拼接運算。其部分代碼如下:

    always@(posedge clk)

    begin

    addr<={q,32’b0}+{2’b0,result};

    end

    設計中為了節省ROM的容量而采用相位截斷的方法,取累加器輸出的高十位作為ROM的尋址地址來進行查表。

    3.3 LCD 12864口核設計

    對于Altera SOPC Builder未提供的一些外設接口模塊,用戶可以通過自定義邏輯方法在SOPC設計中添加自己開發的IP核,通過Avalon的讀寫時序對各個設備進行操作。本設計通過構建IP核來直接控制NiosⅡ和LCD12864的接口,按照指定的時序將波形參數顯示在LCD上。在SOPC Builder中自己定義component,并把液晶顯示模塊看成外部存儲器,直接做成Avalon總線Slave設備,IP核設計包含軟件部分和硬件部分,需要寫HDL模塊,定義控制狀態、數據寄存器和控制位,描述組件與Avalon總線的接口以及組件與液晶屏的接口。系統編輯器從文件中讀取I/O信號和參數信息。其次對LCD模塊進行初始化,由于SOPC Builder中的LCD12864控制模塊已經考慮了LCD的讀寫時序,所以使用NIOSⅡ IDE進行LCD驅動和控制時只需對LCD進行初始化。

    3.4 NiosⅡ嵌入式處理器系統

    NiosⅡ是Altera針對其FPGA設計的嵌入式軟核處理器,它與其他IP核可構成SOPC系統的主要部分。它具有靈活的自定義指令集和自定義硬件加速單元,以及圖形化開發環境NiosⅡIDE。經由SOPC Builder生成NiosⅡ嵌入式處理器系統,其CPU模塊框圖如圖4所示。

    利用NIOSⅡIDE開發工具完成所有軟件開發任務,系統接收撥扭開關掃描模塊發來的4位掃描碼,根據掃描碼數值的不同進入不同的子程序,然后再通過FPGA的鍵盤掃描模塊向NIOSⅡ處理器發送鍵盤掃描碼,軟核處理器根據接收到的掃描碼產生相應的信號數據以及控制信號,并通過PIO傳送給FPGA中的DDS模塊,實現頻率控制字的變化,即輸出頻率可調,并將信號數據顯示在LCD上。同時DAC器件將DDS產生的8位信號數據進行數模轉換,從而產生頻率可調的方波、三角波、正弦波、鋸齒波。

    4 結束語

    該信號源能夠很好地滿足對不同波形、不同頻率的信號的需求,具有很強的實用性,并且可以方便地通過液晶顯示器直觀地觀察到波形信號的參數信息。由FPGA實現的DDS信號發生器不僅可實現頻率可調波形變換且具有頻率切換快,信號的質量和精度高于模擬方式的特點。<

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日b视频免费 | 欧美黑人巨大性极品hd | 在线有码 | 性欧美xxxx视频在线观看 | 男女视频在线免费观看 | 成年网址网站在线观看 | 看成年女人免费午夜视频 | 欧美伊人 | 天天躁夜夜躁狠狠躁2021西西 | 免费人成网站线观看合集 | 色吧欧美| 农村寡妇女人一级毛片 | 国产精品视频第一页 | 瑟瑟漫画在线观看 | 中文字幕在线观看一区 | 欧美一级日韩一级亚洲一级va | 日韩专区视频 | 天天天操| 免费看黄的网站在线看 | 草草草网站 | 在线观看黄视频 | 天天综合网天天综合色不卡 | 男女大黄18级毛片免费 | 日韩国产精品视频 | 免费成年人 | 国产精品成人观看视频网站 | 成人高清在线观看播放 | 在线看片日韩 | 国产成人精品区在线观看 | 国产伦一区二区三区高清 | 国产韩国精品一区二区三区久久 | 天天射天天爱天天干 | 久在草在线 | 国产成人在线看 | 在线视频欧美日韩 | a黄色片 | 久久888| 亚洲激情视频在线观看 | 五月在线观看 | 在线免费观看a视频 | 性欧美video另类hd高清 |