波形發(fā)生器有多種類型,,任意波形發(fā)生器便是其中一種。對于任意波形發(fā)生器,,小編曾帶來相關(guān)介紹,,如高速任意波形發(fā)生器的設(shè)計等。本文中,,講為大家講解采用單片機(jī)和CPLD控制的任意波形發(fā)生器的設(shè)計,。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦,。
在電子工程設(shè)計與測試中,,常常需要一些復(fù)雜的、具有特殊要求的信號,,要求其波形可任意產(chǎn)生,,頻率方便可調(diào)。
結(jié)合實際需要,,我們設(shè)計了一種任意波形發(fā)生器,。電路設(shè)計中充分利用MATLAB的仿真功能,將希望得到的波形信號在MATLAB中完成信號的產(chǎn)生,、抽樣和模數(shù)轉(zhuǎn)換,,并將得到的數(shù)字波形數(shù)據(jù)存放在數(shù)據(jù)存儲器中,,通過單片機(jī)和CPLD控制,,將波形數(shù)據(jù)讀出,送入后向通道進(jìn)行A/D轉(zhuǎn)換和放大處理后得到所需的模擬信號波形,。利用上述方法設(shè)計的任意波形發(fā)生器,,信號產(chǎn)生靈活方便、功能擴(kuò)展靈活,、信號參數(shù)可調(diào),,實現(xiàn)了硬件電路的軟件化設(shè)計。
系統(tǒng)框圖
任意波形發(fā)生器的設(shè)計思想,,是利用MATLAB的強大仿真功能,,方便、快捷的生成給定頻率,、周期,、脈寬的任意波形數(shù)據(jù);并將數(shù)據(jù)預(yù)存在數(shù)據(jù)存儲器中。在單片機(jī)控制下,,利用CPLD電路產(chǎn)生地址讀出數(shù)據(jù),,送入D/A轉(zhuǎn)換電路,得到所需的任意波形信號,。系統(tǒng)結(jié)構(gòu)框圖如圖1;圖中分頻電路和地址發(fā)生器由CPLD實現(xiàn),。
圖1 系統(tǒng)框圖
電路設(shè)計及實現(xiàn)單片機(jī)控制電路
單片機(jī)采用AT89C52芯片,,通過軟件編程產(chǎn)生所要求的控制信號。主要的控制參數(shù)包括:信號周期,、脈寬;分頻電路的開始信號,、地址發(fā)生器的復(fù)位信號;E2PROM的選通信號;D/A轉(zhuǎn)換電路的選通信號。在具體電路中,,端口P1.0控制分頻電路的啟動,、P1.1控制地址發(fā)生器的清零,P2.0控制28C256和AD7545的選通信號,。單片機(jī)工作在定時器0方式,,軟件設(shè)計利用C語言實現(xiàn)。流程圖如圖2所示,。
圖2 軟件流程圖
波形數(shù)據(jù)生成
MATLAB作為一款優(yōu)秀的數(shù)學(xué)工具軟件,,具有強大的運算功能;可以方便的產(chǎn)生各種信號波形,在軟件中實現(xiàn)波形信號的產(chǎn)生,、抽樣和模數(shù)轉(zhuǎn)換,。設(shè)計的任意波形發(fā)生器,數(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ù)的功能擴(kuò)展,。
CPLD邏輯設(shè)計
分頻電路采用兩片74HC163實現(xiàn)。通過分頻電路,,將12MHz的晶振標(biāo)準(zhǔn)頻率分頻后,,得到500KHz的抽樣頻率,作為地址發(fā)生器的時鐘,。分頻電路的工作由單片機(jī)控制,。
地址發(fā)生器電路由3片74HC163組成,,時鐘頻率為500KHz,有分頻電路提供;和預(yù)存的波形數(shù)據(jù)抽樣頻率相一致,,以實現(xiàn)數(shù)據(jù)的無失真讀出,。
電路設(shè)計中,采用ALTRA公司的EPM7128AETC100-10芯片,,在MAX+PLUSⅡ開發(fā)環(huán)境中完成分頻;PLD的電路設(shè)計,,可以省去大部分的中小規(guī)模集成電路和分離元件;使得電路具有集成度高、工作速度快,、編程方便,、價格低廉的顯著優(yōu)點。通過CPLD和數(shù)據(jù)預(yù)生成的信號實現(xiàn)方法,,無需改變硬件電路,,即可實現(xiàn)信號參數(shù)的任意調(diào)整;同時外圍電路十分簡單,為工程調(diào)試和應(yīng)用帶來了方便,。
D/A轉(zhuǎn)換電路
D/A轉(zhuǎn)換電路的實現(xiàn)如圖3所示,。電路中,AD7545將波形數(shù)據(jù)轉(zhuǎn)換為模擬信號;LF353進(jìn)行信號濾波和整形,。
圖3 D/A轉(zhuǎn)換電路
結(jié)語
采用上述方法設(shè)計的任意波形發(fā)生器,,通過軟件和硬件結(jié)合,充分發(fā)揮MATLAB強大的仿真功能,,盡可能的減少了硬件開銷,。根據(jù)實際需要,可產(chǎn)生正弦波,、三角波,、鋸齒波,、方波等多種波形,,可以產(chǎn)生線性調(diào)頻信號(LFM),單頻脈沖信號(CW),,余弦包絡(luò)信號以及他們之間的組合信號等多種波形參數(shù);滿足了工程需要,。該任意波形發(fā)生器已應(yīng)用于在研項目“水中運動目標(biāo)軌跡測量”中,效果良好,。
以上便是此次小編帶來的“波形發(fā)生器”相關(guān)內(nèi)容,,通過本文,希望大家對單片機(jī),、CPLD控制的任意波形發(fā)生器設(shè)計方法具備一定的了解,。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,,小編將于后期帶來更多精彩內(nèi)容,。最后,,十分感謝大家的閱讀,have a nice day!