基于CPLD的任意波形發(fā)生器(05-100)
CPLD電路設(shè)計(jì)
本文引用地址:http://www.ex-cimer.com/article/91575.htmCPLD主要負(fù)責(zé)以高速率(150MHz)從SRAM中取數(shù)到DAC,其核心電路是一個(gè)13位的計(jì)數(shù)器。波形數(shù)據(jù)文件的大小為8Kbytes。如果要擴(kuò)大波形文件的大小,可以根據(jù)需要增加CPLD的地址計(jì)數(shù)器容量。在CPLD內(nèi)部構(gòu)造的DAC控制電路如圖2所示,下面對(duì)其控制流程進(jìn)行分析。
PA[15:0]接AT90S8515的2個(gè)8位并行口;D[15:0]接SRAM的數(shù)據(jù)線D0-D15;AD[12:0]接SRAM的地址線A0-A12;DB[15:0]接DAC的D0-D11(D12-D15不用);CLK_SEL選擇計(jì)數(shù)器的時(shí)鐘輸入方式;CLK_AVR接MCU的一個(gè)I/O端,通過(guò)軟件編程在CLK_AVR輸出脈沖信號(hào)作為計(jì)數(shù)器的時(shí)鐘;CLK_CPLD接150MHz時(shí)鐘信號(hào);/WR和 /WE接MCU的I/O端。
當(dāng)PC機(jī)下載數(shù)據(jù)時(shí),其控制流程如下:
?、貱LK_SEL=0,選擇軟件時(shí)鐘
?、趶?fù)位地址計(jì)數(shù)器
③MCU送數(shù)據(jù)到PA[15:0]
?、?WR從0變到1,打開(kāi)從MCU到SRAM的數(shù)據(jù)緩沖器將數(shù)據(jù)寫(xiě)入SRAM
?、萁oCLK_AVR一個(gè)脈沖,讓計(jì)數(shù)器增1從而指向SRAM的下一個(gè)接收地址單元。
當(dāng)數(shù)據(jù)下載完成后, 啟動(dòng)CPLD從SRAM取數(shù)據(jù)到DAC,其控制流程如下:
?、賅E=1,打開(kāi)從SRAM到DAC的緩沖器。
?、贑LK_SEL=1,計(jì)數(shù)器的輸入時(shí)鐘選擇150MHz的外部時(shí)鐘,
?、蹚?fù)位地址計(jì)數(shù)器,外部高速時(shí)鐘的驅(qū)動(dòng)下地址計(jì)數(shù)器開(kāi)始計(jì)數(shù),從SRAM中取出數(shù)據(jù)送到DAC進(jìn)行數(shù)據(jù)轉(zhuǎn)換。
CPLD的編程在Quartus II 5.0環(huán)境下進(jìn)行,Quartus的設(shè)計(jì)輸入支持AHDL、VHDL、Verilog HDL等硬件描述語(yǔ)言的程序輸入和圖形輸入,這里采用圖形輸入的方式。完成設(shè)計(jì)輸入后,依次進(jìn)行編譯、功能仿真、時(shí)序仿真。圖3是CPLD取數(shù)據(jù)到DAC進(jìn)行轉(zhuǎn)換的時(shí)序仿真結(jié)果。圖中CPLD的工作頻率為125MHz,實(shí)際工作中最高工作在200MHz,從圖中可以看出,每來(lái)一個(gè)時(shí)鐘,CPLD從SRAM中取出一個(gè)數(shù)據(jù)送DAC進(jìn)行A/D轉(zhuǎn)換。最后將結(jié)果下載到CPLD內(nèi)部運(yùn)行。
軟件設(shè)計(jì)
AWG的軟件采用CodeVision AVR C編寫(xiě),AT90S8515支持ISP,程序編譯后經(jīng)JTAG口下載到AT90S8515中。為配合該裝置的使用,我們?cè)赩B開(kāi)發(fā)環(huán)境下設(shè)計(jì)了上位機(jī)軟件,其運(yùn)行界面如圖4所示,在該軟件中選擇要產(chǎn)生的波形,然后下載到AWG。
AWG和PC機(jī)采用RS-232串口通信, 上電運(yùn)行后等待PC傳送波形,接收完波形數(shù)據(jù)后,啟動(dòng)CPLD從SRAM中取出數(shù)據(jù)送DAC進(jìn)行D/A轉(zhuǎn)換,經(jīng)低通濾波器形成輸出波形。
結(jié)語(yǔ)
AWG和PC機(jī)通過(guò)RS-232串口連接后,運(yùn)行PC機(jī)軟件,在PC機(jī)上選擇要生成的波形,生成波形數(shù)據(jù)下載到AWG,可以選擇線性調(diào)制技術(shù)的絕對(duì)相移鍵控(BPSK)、相對(duì)相移鍵控(DPSK)、四相相移鍵控(QPSK)、交錯(cuò)正交相移鍵控(OQPSK)、p/4偏移差分相移鍵控(p/4-DQPSK),恒包絡(luò)調(diào)制的二進(jìn)制頻移鍵控(FSK)、最小頻移鍵控(MSK)、高斯濾波最小頻移鍵控(GMSK),混合線性和恒包絡(luò)調(diào)制技術(shù)的M相相移鍵控(MPSK)、多進(jìn)制正交幅度調(diào)制(QAM)、多進(jìn)制頻移鍵控(MFSK)等波形,下載到AWG生成所要的波形。圖5是DAC工作在125MHz下合成的2FSK波形。■
評(píng)論