<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 基于DSP Builder的帶寬自適應(yīng)全數(shù)字鎖相環(huán)的設(shè)計與實現(xiàn)

          基于DSP Builder的帶寬自適應(yīng)全數(shù)字鎖相環(huán)的設(shè)計與實現(xiàn)

          作者: 時間:2010-10-14 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/166449.htm


          使用 庫中的Signal Compiler模塊將圖3建立的全模型轉(zhuǎn)化為VHDL語言代碼。該通過QuartusⅡ軟件完成的整體時序仿真。圖5為輸入信號Phi_ref由20 MHz跳變到5 MHz時的時序仿真圖;圖6為輸入信號Phi_ref由31 MHz跳變到62 MHz時的時序仿真圖。通過對所的全的Matlab/Simu-link仿真和QuartusⅡ時序仿真可以看出:該系統(tǒng)能夠鎖頻的功能;同時該系統(tǒng)具有自的特性,在輸入信號很大變化范圍內(nèi)都具有良好的性能;最后該系統(tǒng)對頻率發(fā)生階躍跳變的輸入信號亦具有很好的跟蹤性能。


          3.2 FPGA及硬件測試
          由于Signal Compiler模塊可以自動地將builder建立的模型文件轉(zhuǎn)化為QuartusⅡ環(huán)境下的工程文件,因此,該在完成軟件仿真后結(jié)合FPGA試驗箱,在生成的工程下進行引腳的鎖定、編譯適配下載到FPGA芯片,所設(shè)計的全數(shù)字鎖相環(huán),并完成硬件測試。在硬件測試中需要用到信號發(fā)生器和示波器,信號發(fā)生器用來產(chǎn)生鎖相環(huán)的輸入測試信號,示波器用來觀測鎖相環(huán)的輸入/輸出波形。圖7為輸入信號Phi_ref取不同頻率時的實測波形。


          以上的軟件仿真與硬件測試都表明,設(shè)計的自適應(yīng)全數(shù)字鎖相環(huán)系統(tǒng)能過實現(xiàn)鎖頻的功能,設(shè)計是成功可行的。

          4 結(jié)語
          本文使用 建立系統(tǒng)模型完成全數(shù)字鎖相環(huán)設(shè)計,理論分析和仿真結(jié)果基本一致。從以上設(shè)計過程可以看出:DSP Buil-der完成全數(shù)字鎖相環(huán)設(shè)計的方法,使得設(shè)計者可以利用Simulink快捷靈活的建模仿真功能和Matlab強大的數(shù)據(jù)分析能力進行FPGA系統(tǒng)級的建模仿真,并使得設(shè)計者從編寫VHDL或者Verilog HDL等代碼語言的繁瑣工作中解放出來,而專注于在Matlab/Simulink下搭建系統(tǒng)模型的工作上,縮短了設(shè)計周期,提高了設(shè)計的靈活性。

          數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
          鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
          鎖相放大器相關(guān)文章:鎖相放大器原理

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();