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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應用 > 基于CPLD和單片機的任意波形發(fā)生器設(shè)計

          基于CPLD和單片機的任意波形發(fā)生器設(shè)計

          作者: 時間:2012-11-05 來源:網(wǎng)絡(luò) 收藏

          波形數(shù)據(jù)生成

          MATLAB作為一款優(yōu)秀的數(shù)學工具軟件,具有強大的運算功能;可以方便的產(chǎn)生各種信號波形,在軟件中實現(xiàn)波形信號的產(chǎn)生、抽樣和模數(shù)轉(zhuǎn)換。設(shè)計的,數(shù)據(jù)存儲器選用28C256芯片,信號波形通過MATLAB仿真產(chǎn)生;得到的波形數(shù)據(jù)存放在數(shù)據(jù)存儲器28C256中。具體設(shè)計中,我們要求產(chǎn)生周期為200ms,脈寬為5ms的單/調(diào)頻混合信號,其中單頻信號的脈寬為4ms,頻率為30KHz;調(diào)頻信號的脈寬為1ms,頻率為30KHz_35KHz。在MATLAB中設(shè)定抽樣率為500KHz,得到了2500個波形數(shù)據(jù)。這些混合波形數(shù)據(jù)在燒錄入數(shù)據(jù)存儲器的過程中,由于波形數(shù)據(jù)較多,直接用手工錄入數(shù)據(jù)存儲器中不僅費時且容易出錯。為克服這一弊端,通過MATLAB編程的方法將產(chǎn)生的波形數(shù)據(jù)按照HEX文件的INTEL格式存放,然后將這些波形數(shù)據(jù)整批次燒錄入數(shù)據(jù)存儲器中。采用上述方法,波形數(shù)據(jù)生成簡單,快捷;可根據(jù)需要在軟件程序中方便地修改信號參數(shù);無需改動硬件電路即可實現(xiàn)信號參數(shù)的功能擴展。

          邏輯設(shè)計

          分頻電路采用兩片74HC163實現(xiàn)。通過分頻電路,將12MHz的晶振標準頻率分頻后,得到500KHz的抽樣頻率,作為地址發(fā)生器的時鐘。分頻電路的工作由控制。

          地址發(fā)生器電路由3片74HC163組成,時鐘頻率為500KHz,有分頻電路提供;和預存的波形數(shù)據(jù)抽樣頻率相一致,以實現(xiàn)數(shù)據(jù)的無失真讀出。 電路設(shè)計中,采用ALTRA公司的EPM7128AETC100-10芯片,在MAX+PLUSⅡ開發(fā)環(huán)境中完成分頻緶泛偷刂販⑸器電路的設(shè)計;于的電路設(shè)計,可以省去大部分的中小規(guī)模集成電路和分離元件;使得電路具有集成度高、工作速度快、編程方便、價格低廉的顯著優(yōu)點。通過和數(shù)據(jù)預生成的信號實現(xiàn)方法,無需改變硬件電路,即可實現(xiàn)信號參數(shù)的任意調(diào)整;同時外圍電路十分簡單,為工程調(diào)試和應用帶來了方便。

          D/A轉(zhuǎn)換電路

          D/A轉(zhuǎn)換電路的實現(xiàn)如圖3所示。 電路中,AD7545將波形數(shù)據(jù)轉(zhuǎn)換為模擬信號;LF353進行信號濾波和整形。

          D

          圖3 D/A轉(zhuǎn)換電路

          結(jié)語

          采用上述方法設(shè)計的,通過軟件和硬件結(jié)合,充分發(fā)揮MATLAB強大的仿真功能,盡可能的減少了硬件開銷。根據(jù)實際需要,可產(chǎn)生正弦波、三角波、鋸齒波、方波等多種波形,可以產(chǎn)生線性調(diào)頻信號(LFM),單頻脈沖信號(CW),余弦包絡(luò)信號以及他們之間的組合信號等多種波形參數(shù);滿足了工程需要。該已應用于在研項目“水中運動目標軌跡測量”中,效果良好。


          上一頁 1 2 下一頁

          評論


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