一、目的
1)掌握基于v文件的vivado工程設(shè)計(jì)流程
2)學(xué)習(xí)示波器的基本組成結(jié)構(gòu)
二、原理介紹
數(shù)字存儲(chǔ)示波器能夠?qū)⒛M信號(hào)進(jìn)行采樣、存儲(chǔ)以及顯示。本系統(tǒng)在Basys3上構(gòu)建了一個(gè)簡(jiǎn)易數(shù)字存儲(chǔ)示波器,簡(jiǎn)化框圖如下:
原理:首先,AD模塊對(duì)模擬信號(hào)進(jìn)行采樣,觸發(fā)電路根據(jù)采樣信號(hào)判斷觸發(fā)條件(例如:上升沿觸發(fā))。滿足觸發(fā)條件后,連續(xù)采樣一定數(shù)量的點(diǎn)(本系統(tǒng)中為640個(gè)點(diǎn)),存儲(chǔ)到RAM中。峰峰值、頻率計(jì)算模塊對(duì)RAM中儲(chǔ)存的波形數(shù)據(jù)進(jìn)行計(jì)算,得到波形的頻率以及峰峰值;VGA模塊將波形顯示出來(lái),并顯示計(jì)算得到的峰峰值和頻率數(shù)值。
本實(shí)驗(yàn)通過(guò)調(diào)用Basys3板上芯片中的ADC模塊,對(duì)外部電壓信號(hào)進(jìn)行采樣、存儲(chǔ),并通過(guò)VGA顯示器將波形顯示出來(lái)。
在Basys3上電之前,需要提前將Basys3與VGA連接好,并準(zhǔn)備好一臺(tái)信號(hào)發(fā)生器。
三、步驟:
1、創(chuàng)建新工程
1) 打開(kāi)Vivado2014.4設(shè)計(jì)開(kāi)發(fā)軟件,選擇CreateNew Project.
2)在彈出的創(chuàng)建新工程的界面中,點(diǎn)擊Next,開(kāi)始創(chuàng)建新工程。
3)在Project Name界面中,將工程名稱修改為Oscilloscope,并設(shè)置好工程存放路徑。同時(shí)勾選上創(chuàng)建工程子目錄的選項(xiàng)。這樣,整個(gè)工程文件都將存放在創(chuàng)建的Oscilloscope子目錄中。點(diǎn)擊Next。
4)在選擇工程類型的界面中,選擇RTL工程。由于本工程無(wú)需創(chuàng)建源文件,故將Do notspecify sources at this time(不指定添加源文件)勾選上。點(diǎn)擊Next。
5)在器件板卡選型界面中,在Search欄中輸入xc7a35tcpg236搜索本次實(shí)驗(yàn)所使用的Basys3板卡上的FPGA芯片。并選擇xc7a35tcpg236-1器件。(器件命名規(guī)則詳見(jiàn)xilinx官方文檔)點(diǎn)擊Next。
6)最后在新工程總結(jié)中,檢查工程創(chuàng)建是否有誤。沒(méi)有問(wèn)題,則點(diǎn)擊Finish,完成新工程的創(chuàng)建。
2、添加已設(shè)計(jì)好的IPcore以及verilog文件。
工程建立完畢,我們需要將Oscilloscope這個(gè)工程所需的IP_Catalog文件夾復(fù)制到本工程文件夾下(IP_Catalog位于B3_lablab3Oscilloscope下),并將所需的verilog文件也復(fù)制到本工程文件夾下(verilog文件位于B3_lablab3OscilloscopeHDL_files下)。
添加完后的本工程文件夾如下圖:
1)在Vivado設(shè)計(jì)界面的左側(cè)設(shè)計(jì)向?qū)谥校c(diǎn)擊ProjectManager目錄下的Project Setting。
2)在Project Setting界面中,選擇IP選項(xiàng),進(jìn)入IP設(shè)置界面。點(diǎn)擊Add Respository...添加本工程文件夾下的IP_Catalog目錄:
3)完成目錄添加后,可以看到所需IP已經(jīng)自動(dòng)添加。點(diǎn)擊OK完成IP添加。
4)上述步驟的目的是完成目錄添加,接下來(lái)需要在本工程中添加IP核。在Project Navigator下的project manager目錄下,點(diǎn)擊IP Catalog選項(xiàng):
在IP Catalog界面的搜索欄,輸入xadc,會(huì)出現(xiàn)xadc_v1_0的Ip。雙擊會(huì)打開(kāi)ip配置界面,保持默認(rèn),點(diǎn)擊ok,會(huì)彈出如下窗口。點(diǎn)擊generate添加:
同樣的方式,添加vga ip以及debounce ip。另外,還需要一個(gè)clock ip。在IP Catalog界面的搜索欄中,輸入clock,點(diǎn)擊clocking wizard,打開(kāi)clock ip的配置界面:
將IP的名字由clk_wiz_0修改為clock,然后增加幾路clock的輸出。這些不同頻率的clock能提供不同的采樣時(shí)鐘。如下圖紅色框內(nèi)所示:
將output clocks界面下方的reset以及l(fā)ocked勾掉,點(diǎn)擊OK完成配置;
5)添加所需的verilog文件。在ProjectNavigator下的project manager目錄下,點(diǎn)擊add source選項(xiàng):
在彈出的Add sources界面中,勾選Add orcreate design source選項(xiàng),點(diǎn)擊next:
點(diǎn)擊Add files,如下圖:
選擇所需的verilog文件,點(diǎn)擊ok添加,如下圖:
回到Add source界面,勾選上Copy sources into project選項(xiàng),點(diǎn)擊finish:
6)此時(shí)verilog文件添加完畢。點(diǎn)擊工具欄window->Source,打開(kāi)source窗口:
Source窗口顯示如下:
3、對(duì)工程添加引腳約束文件。
1)點(diǎn)擊Project Manager目錄下的Add Source。選擇添加約束文件。點(diǎn)擊next。
2)點(diǎn)擊Add Files,進(jìn)行文件添加。找到本工程所需約束文件的所在路徑(約束文件位于B3_lablab3Oscilloscopeconstraints下),點(diǎn)擊OK進(jìn)行添加。注意,要勾選copy constraints files into project。
3)點(diǎn)擊Finish,完成約束文件添加。
4、綜合、實(shí)現(xiàn)、生成bitstream
1)進(jìn)行綜合驗(yàn)證,如下圖:
2)完成綜合驗(yàn)證后選擇,Run Implementation。進(jìn)行工程實(shí)現(xiàn)。
3)工程實(shí)現(xiàn)完成后,選擇Generate Bitstream,生成編譯文件。
4)生成編譯文件后,選擇Open Hardware Manager,打開(kāi)硬件管理器。進(jìn)行板級(jí)驗(yàn)證。
5)打開(kāi)目標(biāo)器件,點(diǎn)擊Open target。如果初次連接板卡,選擇OpenNew Target。如果之前連接過(guò)板卡,可以選擇RecentTargets,在其列表中選擇相應(yīng)板卡。
在打開(kāi)新硬件目標(biāo)界面中,點(diǎn)擊Next進(jìn)行創(chuàng)建。選擇Local server,點(diǎn)擊Next。
點(diǎn)擊Next,再點(diǎn)擊Finish,完成創(chuàng)建。
6)下載bit文件。
點(diǎn)擊Hardware Manager上方提示語(yǔ)句中的Program device。選擇目標(biāo)器件。
檢查彈出框中所選中的bit文件,然后點(diǎn)擊Program進(jìn)行下載。進(jìn)行板級(jí)驗(yàn)證。
待下載bit成功后,可以將信號(hào)發(fā)生器的探頭連接至Basys3的JXADC1的P極,并將JXADC1的N極連接信號(hào)發(fā)生器的地。本實(shí)驗(yàn),簡(jiǎn)易示波器的可測(cè)電壓范圍為0-1V,頻率為4KHz以下。可以在VGA上觀測(cè)波形。如果波形顯示比較密集,那就需要更改采樣時(shí)鐘——可以通過(guò)按Basys3板上的BTNC按鍵來(lái)改變采樣時(shí)鐘,以此來(lái)改變波形顯示密集程度。
注:本博文所需工程文件下載鏈接:
評(píng)論