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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于CPLD的雷達仿真信號設(shè)計實現(xiàn)

          基于CPLD的雷達仿真信號設(shè)計實現(xiàn)

          ——
          作者:電子科技大學(xué)自動化工程學(xué)院 郭爽 黃建國 時間:2006-12-06 來源:今日電子 收藏

          引言

          隨著新一代作戰(zhàn)飛機大量裝備現(xiàn)役,機載雷達設(shè)備的維修任務(wù)越來越繁重,現(xiàn)代化的仿真測試系統(tǒng)成為重要的維修設(shè)備。雷達信號的仿真又是測試系統(tǒng)中必不可少的。但采用函數(shù)/任意波發(fā)生器組成測試系統(tǒng),不僅增加系統(tǒng)成本,而且還給系統(tǒng)軟件設(shè)計增加不必要的負(fù)擔(dān)。為此,提出了一種基于的雷達的實現(xiàn)方案,它能為機載雷達測試系統(tǒng)提供所需的多種典型的重頻脈沖及制導(dǎo)信號。

          雷達發(fā)生器的結(jié)構(gòu)

          雷達發(fā)生器主要由輸入輸出控制和產(chǎn)生仿真信號的芯片兩部分組成。輸入輸出控制信號是利用測試系統(tǒng)的工控機通過數(shù)字I/O卡來產(chǎn)生,當(dāng)工控機通過數(shù)字I/O卡輸出有效信號時,發(fā)生器將會輸出相應(yīng)的脈沖信號。雷達仿真信號發(fā)生器的結(jié)構(gòu)如圖1所示。

           雷達仿真信號發(fā)生器結(jié)構(gòu)

          圖1  雷達仿真信號發(fā)生器結(jié)構(gòu)

          圖中,雷達仿真信號發(fā)生器的控制信號有雷達仿真信號脈沖開關(guān)、聯(lián)合信號UNITED開關(guān)、制導(dǎo)信號SA-H開關(guān)、制導(dǎo)信號SA-L開關(guān)和照射輸出SA-W開關(guān)。上述開關(guān)都是低電平有效,當(dāng)“脈沖開關(guān)”有效時,雷達仿真信號發(fā)生器即處于工作狀態(tài)。這時只要任何控制信號有效就能使其輸出相

          應(yīng)的雷達仿真信號?!癝A-H”有效時,“out1”輸出高重頻脈沖信號;“SA-L”有效時,“out1”輸出中重頻脈沖信號;“SA-W”有效時,“out2”輸出照射脈沖信號;“UNITED”有效時,“out3”輸出聯(lián)合脈沖信號,即在照射脈沖底電平時加入高重頻或中重頻脈沖信號。

          內(nèi)電路設(shè)計及仿真

          本設(shè)計中選用的CPLD為Altera公司的EPM7128SLC84,屬于MAX7000系列。MAX7000系列提供600~5000可用門(器件上提供1200~10000門),引腳到引腳的延時為6ns,計數(shù)器頻率可達151.5MHz。

          CPLD是雷達仿真信號發(fā)生器的核心所在,其內(nèi)部電路主要分為6個子模塊,分別是5分頻及脈寬整形模塊、10分頻及脈寬整形模塊、60分頻及脈寬整形模塊、100分頻電路、625分頻電路和脈沖輸出選擇器。各模塊之間連接關(guān)系如圖2所示。

          CPLD內(nèi)部各模塊之間連接關(guān)系

          圖2  CPLD內(nèi)部各模塊之間連接關(guān)系

          時鐘脈沖輸入CLK頻率為外部晶振提供的10MHz的信號,為10分頻及脈寬整形電路、60分頻及脈寬整形電路、100分頻電路提供50ns脈寬的輸入信號。100分頻和625分頻電路是采用MAX+PLUSⅡ自帶宏函數(shù)LPM-COUNTER(可預(yù)置計數(shù)器)設(shè)計的,10MHz的信號由LPM-COUNTER的clk端輸入,而cout作為分頻后的脈沖輸出端,根據(jù)需要的脈沖頻率來設(shè)置函數(shù)modulus和width參數(shù),以100分頻電路為例,將modulus設(shè)置為100相應(yīng)的width設(shè)置為7,當(dāng)宏函數(shù)各控制信號設(shè)置為計數(shù)狀態(tài)后,在clk上升沿來到時開始計數(shù)。當(dāng)計數(shù)到100時,計數(shù)器歸零并在cout輸出一脈寬為clk時鐘周期的脈沖,如此反復(fù),從而達到100分頻的目的,圖3給出100分頻的仿真波形。

          100分頻的仿真波形

          圖3  100分頻的仿真波形

          60分頻及脈寬整形電路產(chǎn)生周期  6μs、脈寬1.2μs的高重頻脈沖,其結(jié)構(gòu)如圖4所示。分頻電路采用上述同樣的設(shè)計方法,只需將modulus和width參數(shù)分別設(shè)置為60和6,即產(chǎn)生周期為6μs脈寬100ns的脈沖(圖5中clk100ns)。將此信號作為D觸發(fā)器的時鐘信號,而該D觸發(fā)器的輸入端始終保持高電平,這樣當(dāng)D觸發(fā)器在時鐘上升沿到來后輸出會始終保持“1”,但為了得到1.2μs脈寬的脈沖必需在1.2μs后對D觸發(fā)器清零。清零信號的設(shè)計同樣利用LPM-COUNTER函數(shù),函數(shù)的輸入信號為10MHz的脈沖信號,modulus和width參數(shù)分別設(shè)置為13和4,當(dāng)計數(shù)到13時(clk輸入端出現(xiàn)第13個上升沿,即時鐘過去12個周期1.2μs)計數(shù)器歸零并在cout產(chǎn)生脈沖通過反相器接D觸發(fā)器(圖5中D:CLRN)清零端對觸發(fā)器清零使其輸出“0”。為了使計數(shù)器在D觸發(fā)器輸出“0”時不處于計數(shù)狀態(tài),將D觸發(fā)器的輸出端通過反相器接入LPM-COUNTER的同步清零端aclr。這樣便能在D觸發(fā)器輸出端得到需要的高重頻信號(圖5中f166k),圖5給出了其仿真波形。

          60分頻及脈寬整形結(jié)構(gòu)圖

          圖4  60分頻及脈寬整形結(jié)構(gòu)圖

          高重頻信號仿真波形

          圖5  高重頻信號仿真波形

          10分頻及脈寬整形電路產(chǎn)生周期60μs、脈寬3μs的中重頻脈沖。它

          的設(shè)計采用和高重頻信號一樣的方法,只是將高重頻信號作為其10分頻電路的輸入。

          5分頻及脈寬整形電路產(chǎn)生周期50ms、脈寬31.25ms的照射脈沖。它主要由一個LPM-COUNTER函數(shù)和譯碼器74138構(gòu)成,LPM-COUNTER的時鐘輸入利用100分頻和625分頻產(chǎn)生的周期6.25ms、脈寬10us的脈沖(見圖2)。將LPM-COUNTER函數(shù)width參數(shù)設(shè)置為3,其q[2..0]輸出0~7,將其作為譯碼器的輸入,這時在譯碼器的8個輸出端y0~y7會分別保持6.25ms的“0”。將y0~y4作為輸入,到5輸入與門就可得到31.25ms的脈寬。而譯碼器8個時鐘周期的循環(huán)則構(gòu)成50ms的脈沖周期。圖6為照射脈沖仿真波形。

          照射脈沖仿真波形

          圖6  照射脈沖仿真波形

          輸出選擇器主要完成聯(lián)合狀態(tài)和各脈沖輸出管腳的選擇。聯(lián)合狀態(tài)輸出利用照射脈沖來控制高重頻和中重頻信號LPM-COUNTER函數(shù)的aclr清零信號,以便到達控制重頻信號的輸出。圖7為聯(lián)合狀態(tài)的仿真波形。

            聯(lián)合狀態(tài)仿真波形

          圖7  聯(lián)合狀態(tài)仿真波形 



          評論


          相關(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); })();