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