《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業(yè)界動態(tài) > 波形發(fā)生器設計,單片機、CPLD控制的任意波形發(fā)生器設計實例

波形發(fā)生器設計,單片機、CPLD控制的任意波形發(fā)生器設計實例

2020-02-13
來源:中國電子網

  波形發(fā)生器有多種類型,任意波形發(fā)生器便是其中一種。對于任意波形發(fā)生器,小編曾帶來相關介紹,如高速任意波形發(fā)生器的設計等。本文中,講為大家講解采用單片機和CPLD控制的任意波形發(fā)生器的設計。如果你對本文即將要講解的內容存在一定興趣,不妨繼續(xù)往下閱讀哦。

  在電子工程設計與測試中,常常需要一些復雜的、具有特殊要求的信號,要求其波形可任意產生,頻率方便可調。

  結合實際需要,我們設計了一種任意波形發(fā)生器。電路設計中充分利用MATLAB的仿真功能,將希望得到的波形信號在MATLAB中完成信號的產生、抽樣和模數轉換,并將得到的數字波形數據存放在數據存儲器中,通過單片機和CPLD控制,將波形數據讀出,送入后向通道進行A/D轉換和放大處理后得到所需的模擬信號波形。利用上述方法設計的任意波形發(fā)生器,信號產生靈活方便、功能擴展靈活、信號參數可調,實現了硬件電路的軟件化設計。

  系統(tǒng)框圖

  任意波形發(fā)生器的設計思想,是利用MATLAB的強大仿真功能,方便、快捷的生成給定頻率、周期、脈寬的任意波形數據;并將數據預存在數據存儲器中。在單片機控制下,利用CPLD電路產生地址讀出數據,送入D/A轉換電路,得到所需的任意波形信號。系統(tǒng)結構框圖如圖1;圖中分頻電路和地址發(fā)生器由CPLD實現。

  

7af951c7b1911c50db58c498e8c407a7.jpg

  圖1 系統(tǒng)框圖

  電路設計及實現單片機控制電路

  單片機采用AT89C52芯片,通過軟件編程產生所要求的控制信號。主要的控制參數包括:信號周期、脈寬;分頻電路的開始信號、地址發(fā)生器的復位信號;E2PROM的選通信號;D/A轉換電路的選通信號。在具體電路中,端口P1.0控制分頻電路的啟動、P1.1控制地址發(fā)生器的清零,P2.0控制28C256和AD7545的選通信號。單片機工作在定時器0方式,軟件設計利用C語言實現。流程圖如圖2所示。

 

2.jpg

  圖2 軟件流程圖

  波形數據生成

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

  CPLD邏輯設計

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

  地址發(fā)生器電路由3片74HC163組成,時鐘頻率為500KHz,有分頻電路提供;和預存的波形數據抽樣頻率相一致,以實現數據的無失真讀出。

  電路設計中,采用ALTRA公司的EPM7128AETC100-10芯片,在MAX+PLUSⅡ開發(fā)環(huán)境中完成分頻;PLD的電路設計,可以省去大部分的中小規(guī)模集成電路和分離元件;使得電路具有集成度高、工作速度快、編程方便、價格低廉的顯著優(yōu)點。通過CPLD和數據預生成的信號實現方法,無需改變硬件電路,即可實現信號參數的任意調整;同時外圍電路十分簡單,為工程調試和應用帶來了方便。

  D/A轉換電路

  D/A轉換電路的實現如圖3所示。電路中,AD7545將波形數據轉換為模擬信號;LF353進行信號濾波和整形。

  

3.jpg

  圖3 D/A轉換電路

  結語

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

  以上便是此次小編帶來的“波形發(fā)生器”相關內容,通過本文,希望大家對單片機、CPLD控制的任意波形發(fā)生器設計方法具備一定的了解。如果你喜歡本文,不妨持續(xù)關注我們網站哦,小編將于后期帶來更多精彩內容。最后,十分感謝大家的閱讀,have a nice day!


本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。