基于CPLD和單片機的任意波形發(fā)生器設計
引言
本文引用地址:http://dyxdggzs.com/article/189785.htm在電子工程設計與測試中,常常需要一些復雜的、具有特殊要求的信號,要求其波形可任意產(chǎn)生,頻率方便可調。通常的信號產(chǎn)生器難以滿(mǎn)足要求,市場(chǎng)上出售的任意信號產(chǎn)生器價(jià)格昂貴。結合實(shí)際需要,我們設計了一種任意波形發(fā)生器。電路設計中充分利用MATLAB的仿真功能,將希望得到的波形信號在MATLAB中完成信號的產(chǎn)生、抽樣和模數轉換,并將得到的數字波形數據存放在數據存儲器中,通過(guò)單片機和CPLD控制,將波形數據讀出,送入后向通道進(jìn)行A/D轉換和放大處理后得到所需的模擬信號波形。利用上述方法設計的任意波形發(fā)生器,信號產(chǎn)生靈活方便、功能擴展靈活、信號參數可調,實(shí)現了硬件電路的軟件化設計。具有電路結構簡(jiǎn)單、實(shí)用性強、成本低廉等優(yōu)點(diǎn)。
系統框圖

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

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

圖2 軟件流程圖
評論