基于FPGA的任意波形發(fā)生器設(shè)計與實現(xiàn)
摘要:本文提出了一種基于可編程邏輯器件(FPGA)芯片EP2C20F484的任意波形發(fā)生器的設(shè)計方法。完成了在FPGA的控制下,USB接口控制模塊、SRAM控制模塊、DA轉(zhuǎn)換模塊等協(xié)同工作的硬件設(shè)計、固件設(shè)計以及軟件設(shè)計,并給出了實驗結(jié)果。實驗結(jié)果表明,此任意波形發(fā)生器能夠按照要求輸出相應(yīng)波形,達(dá)到了設(shè)計要求。
關(guān)鍵詞:EP2C20F484;AD9726;任意波形發(fā)生器;USB2.O
0 引言
在腐蝕領(lǐng)域和電鍍行業(yè),常常需要使用任意波形的電流電壓信號進(jìn)行生產(chǎn)和測試。任意波形是指頻率可變、幅值可變、相位可變的正弦波形和其他波形,如三角波形、鋸齒波、特殊波形等。目前任意波形發(fā)生器大多采用直接數(shù)字頻率合成(DDS)技術(shù),即將波形的數(shù)字量信號存儲于存儲器中,嵌入式主機(jī)以一定的速率依次將存儲器單元中的波形數(shù)據(jù)逐個發(fā)送給D/A轉(zhuǎn)換器,合成為需要的波形。
隨著微處理器日益廣泛的應(yīng)用和大規(guī)模集成電路技術(shù)的發(fā)展,出現(xiàn)了大量能夠產(chǎn)生多種波形且性能穩(wěn)定的任意波形發(fā)生器,但大多數(shù)方案都是基于串行或并行總線進(jìn)行數(shù)據(jù)的傳輸,這種方案雖然成本較低,但系統(tǒng)的實時性較差,難以滿足復(fù)雜波形的大數(shù)據(jù)量的傳輸要求。我們設(shè)計了一種基于FPGA芯片的任意波形發(fā)生器,充分利用了FPGA強(qiáng)大的邏輯功能,實現(xiàn)了利用單片F(xiàn)PGA芯片控制整個系統(tǒng)的方案。同時選擇USB2.0接口芯片CY7C68013,它能較好地與FPGA芯片合作,完成系統(tǒng)預(yù)先設(shè)計的功能,使總體電路簡單,成本低廉,產(chǎn)生的波形信號精度較高。數(shù)字波形數(shù)據(jù)從上位機(jī)通過USB總線直接存儲在SRAM數(shù)據(jù)存儲器中,通過FPGA控制,將波形數(shù)據(jù)讀出,送入后向通道進(jìn)行D/A轉(zhuǎn)換和放大處理后得到所需的模擬信號波形。與傳統(tǒng)的發(fā)生器在ROM或FLASH存儲波形數(shù)據(jù)的方法相比,具有更大的靈活性。
1 系統(tǒng)總體結(jié)構(gòu)及工作過程
波形發(fā)生器以FPGA為核心,它控制著整個系統(tǒng)的讀、寫、輸出等操作,系統(tǒng)框圖如圖l所示。上位機(jī)將數(shù)字波形數(shù)據(jù)通過USB2.O總線送到數(shù)據(jù)存儲器中,數(shù)據(jù)存儲器循環(huán)地將波形數(shù)據(jù)發(fā)送到DAC電路,由DDS電路產(chǎn)生相應(yīng)的DAC刷新時鐘(0~1MHz,步進(jìn)0.02Hz),DAC輸出波形經(jīng)緩沖放大、低通濾波、放大輸出。輸出的波形頻率為0.1Hz(DC)~1MHz(-3dB),頻率分辨率為0.01Hz。
本系統(tǒng)主要由五部分組成:
(1)上位機(jī)。主要功能是利用仿真軟件(如CVI、MATLAB、VB等)產(chǎn)生所需波形數(shù)據(jù),并通過USB接口下載到波形發(fā)生器中,其次就是存儲USB2.0接口芯片的驅(qū)動程序。
(2)USB2.0接口控制器芯片。本設(shè)計使用的是Cvpress Semiconductor公司的EZ-USB FX2系列芯片CY7C68013AE。
評論