新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的幅值可調信號發生器設計

        基于FPGA的幅值可調信號發生器設計

        作者: 時間:2011-09-20 來源:網絡 收藏

        DAC是本模塊的核心器件,其轉換速度等特性直接影響整個系統的性能。DAC器件的選擇應從分辨率、轉換速度、量化誤差和線性度等幾個方面考慮。因為本系統的工作頻率較高,所以首先應選用高速DAC。其次是考慮分辨率和量化誤差問題,增大DAC的位數可減小量化誤差,提高分辨率。因此,本文采用的DAC器件是德州儀器公司生產的高速低功耗、10位分辨率的DAC芯片THS5651。
        DAC的參考電壓可通過EXTL0端來選擇內部或外部。當該端口為低電平時(即:EXTL0=AGND),選擇內部參考電壓;當該端口為高電平時(即:EXTL0=AVDD),選擇外部參考電壓。只要改變參考電壓的大小,就可以改變輸出波形的。THS5651外部參考電壓范圍為0~5V,因此,采用10位DAC(最小分辨率為4.88x10-2V)。圖中第2片THS5651的輸出接到第1片THS5651的參考電壓輸入端EXT10,通過單片機控制第2片THS5651輸出,進而控制第1片THS5651的參考電壓。
        2.3 低通濾波模塊
        經過D/A轉換后輸出的階梯波信號通常含有較多的時鐘成分及較為陡峭的躍變邊緣,為了減少輸出波形的抖動、抑制高次諧波、取出主頻fo,必須在D/A轉換器的輸出端接入截止頻率為fc/2的低通濾波器。
        2.4 鍵盤與顯示模塊
        本系統需要設置并顯示輸出波形的類型、頻率和等參數。為使系統擁有一個友好、便捷、美觀的用戶界面,設計中采用鍵盤和液晶顯示器作為系統的輸入輸出模塊。鍵盤輸入模塊選用8279控制4x4陣列鍵盤,采用掃描方式由8279得到鍵盤碼并由中斷服務程序把數據送給單片機。此方案不用單片機掃描,占用資源少。輸出模塊采用HZ128-64D20漢顯液晶模塊,該模塊自帶一、二級漢字字庫點陣,通過串行接口與單片機相連。用液晶顯示器可以實現多級菜單,用戶界面友好,操作方便。

        3 系統軟件設計
        系統采用硬件描述語言VHDL按模塊化方式進行設計,并將各模塊集成于芯片中,然后通過QuartusⅡ軟件開發平臺對設計文件進行編譯、優化、綜合、布局布線和邏輯仿真,最后對芯片進行編程,實現系統的設計要求。單片機控制程序采用C語言進行設計,設計中采用了結構化和層次化的設計方法,通過按鍵判斷程序選擇進入不同的模式:波形選擇、頻率設置、幅度設置、波形參數顯示4種模式和1個復位模式(圖中省略)。在不同的模式下分別執行相應的子程序,最后分別向FPGA寫入相應的控制字。該系統程序流程如圖4所示。

        本文引用地址:http://www.104case.com/article/191006.htm

        h.JPG



        4 系統測試
        由鍵盤設置輸出信號波形的類型、頻率和幅度等參數,在50Ω負載下,用示波器測試輸出波形的頻率和,并與設置值進行比較。由于在FPGA中經分/倍頻后的結果與計算時鐘存在一定誤差,因此,需通過軟件進行補償修正,以便使頻率誤差降到最低。對于信號幅度的控制,在程序中也采用軟件進行補償修正。經過多次測試和反復改進,最終實現了如下技術指標:
        1)輸出波形正弦波、方波、三角波、鋸齒波。通過對波形查找表ROM的修改,可實現其它波形,易于系統升級。
        2)輸出頻率1 Hz~10MHz。
        3)頻率分辨率 1Hz~1MHz時為1Hz。1~10MHz時為10Hz。
        4)頻率穩定度優于10-4。
        5)輸出電壓0~5V。
        6)幅度分辨率10bits。

        5 結束語
        本文給出了一種基于FPGA和DDS技術的設計方案,解決了輸出信號幅值可調的問題,能產生較為理想的正弦波、方波、三角波和鋸齒波等信號波形,波形平滑,無明顯毛刺,響應速度快,頻率范圍廣,穩定性好,幅值調節精度高。系統實現簡單、靈活,易于升級,實用性較強,具有較好的應用前景。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南木林县| 莒南县| 屏东县| 汪清县| 碌曲县| 谢通门县| 尚志市| 株洲市| 六盘水市| 庄浪县| 界首市| 菏泽市| 巢湖市| 罗源县| 石首市| 颍上县| 阜新市| 江华| 河北省| 盐津县| 台山市| 龙江县| 游戏| 马龙县| 连城县| 台湾省| 汕头市| 五原县| 横峰县| 鲜城| 鄱阳县| 贵阳市| 南皮县| 信丰县| 怀集县| 龙里县| 开阳县| 日土县| 江川县| 临沧市| 阿合奇县|