今天給大俠帶來基于 FPGA Vivado 示波器設(shè)計(jì),開發(fā)板實(shí)現(xiàn)使用的是Digilent basys 3,話不多說,上貨。
需要源工程可以在以下資料獲取里獲取。
資料匯總|FPGA軟件安裝包、書籍、源碼、技術(shù)文檔…(2023.07.09更新)
?
原理介紹
數(shù)字存儲(chǔ)示波器能夠?qū)?a href="http://www.brongaenegriffin.com/analog/" target="_blank">模擬信號(hào)進(jìn)行采樣、存儲(chǔ)以及顯示。本系統(tǒng)在DIGILENT Basys3上構(gòu)建了一個(gè)簡易數(shù)字存儲(chǔ)示波器,簡化框圖如下:

原理:首先,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模塊將波形顯示出來,并顯示計(jì)算得到的峰峰值和頻率數(shù)值。
本篇通過調(diào)用DIGILENT Basys3板上芯片中的ADC模塊,對(duì)外部電壓信號(hào)進(jìn)行采樣、存儲(chǔ),并通過VGA顯示器將波形顯示出來。在DIGILENT Basys3上電之前,需要提前將DIGILENT Basys3與VGA連接好,并準(zhǔn)備好一臺(tái)信號(hào)發(fā)生器。
操作步驟
一、基于添加文件和IP
1.?新建工程項(xiàng)目
1)?雙擊桌面圖標(biāo)打開Vivado 2017.2,或者選擇開始>所有程序>Xilinx Design Tools> Vivado 2017.2>Vivado 2017.2;
2)?點(diǎn)擊‘Create Project’,或者單擊File>New Project創(chuàng)建工程文件;
3)?將新的工程項(xiàng)目命名為‘lab4’,選擇工程保存路徑,勾選‘Create project subdirectory’,創(chuàng)建一個(gè)新的工程文件夾,點(diǎn)擊Next繼續(xù);
4)?選擇新建一個(gè)RTL工程,勾選Do not specify sources at this time(不指定添加源文件),先不添加源文件。點(diǎn)擊 Next繼續(xù);
5)?選擇目標(biāo)FPGA器件:xc7a35tcpg236-1或Basys3;
6)?最后在新工程總結(jié)中,檢查工程創(chuàng)建是否有誤。沒有問題,則點(diǎn)擊Finish,完成新工程的創(chuàng)建。
2.?添加已經(jīng)設(shè)計(jì)好的IP和源文件
工程建立完畢,我們將設(shè)計(jì)所需的IP文件夾(IP_Catalog)和實(shí)驗(yàn)需要使用的HDL(Verilog)文件復(fù)制到已經(jīng)創(chuàng)建的工程文件夾根目錄下:
源文件位于Basys3_workshopsourceslab4SrcHDL_source
復(fù)制完成后,如下圖所示:

1)?在Vivado界面左側(cè)Flow Navigator中展開PROJECT MANAGER,選擇‘Settings’;

2)?彈出窗口中,在左側(cè)Project Settings中展開IP一項(xiàng),選擇‘Repository’,點(diǎn)擊右側(cè)的添加IP;

3)?選擇復(fù)制到工程文件夾根目錄下的IP文件夾;

4)?點(diǎn)擊OK完成添加。
5)?添加IP至工程
5.1 在Flow Navigator中展開PROJECT MANAGER,選擇IP Catalog;

5.2 在右側(cè)IP Catalog窗口的搜索框中搜索‘clocking’,雙擊‘Clocking Wizard’開始配置IP;

5.3?配置IP
5.3.1?將IP的名字由‘clk_wiz_0’修改為‘clock’
5.3.2?選擇‘Output Clocks’,設(shè)置7路輸出時(shí)鐘(100MHz、25MHz、12.5MHz、25MHz、50MHz、75MHz、100MHz)
5.3.3?在Enable Optional I/O for MMCM/PLL一項(xiàng)中取消勾選‘reset’和‘locked’選項(xiàng)

5.3.4?Vivado會(huì)創(chuàng)建新的文件夾保存配置完成的IP,點(diǎn)擊OK繼續(xù)

5.3.5 彈出Generate Output Products窗口,在Synthesis Options中選擇‘Global’,點(diǎn)擊‘Generate’繼續(xù)。

5.4 同樣的,依次在IP Catalog窗口中添加debounce、vga和xadc三個(gè)IP,使用默認(rèn)IP設(shè)置,無需另外配置,并且Generate Output Products,完成后Sources窗格中如下圖所示:

6)?添加HDL文件至工程
6.1?在Flow Navigator中展開PROJECT MANAGER,選擇Add Sources

6.2?在導(dǎo)向窗口中選擇‘Add or create design sources’,點(diǎn)擊Next繼續(xù)

6.3?在Add or Create Design Sources頁面中選擇‘Add Files’

6.4 找到lab4根目錄,選中添加所有9個(gè)Verilog文件。

6.5 勾選‘Copy sources into project’,點(diǎn)擊Finish完成添加。

6.6 完成后Sources窗格中如下圖所示:

7)?添加物理約束(XDC)文件
7.1 在Flow Navigator中展開PROJECT MANAGER,選擇Add Sources;
7.2 在導(dǎo)向窗口中選擇‘Add or create constraints’,點(diǎn)擊Next繼續(xù);

7.3 在Add or Create Design Sources頁面中選擇‘Add Files’;
7.4 找到約束文件路徑Basys3_workshopsourceslab4SrcConstraint,選中并添加‘oscilloscope.xdc’文件;

7.5 勾選‘Copy sources into project’,點(diǎn)擊Finish完成添加。

3.?綜合、實(shí)現(xiàn)、生成比特流文件
1)?在左側(cè)Flow Navigator中依次點(diǎn)擊‘Run Synthesis’、‘Run Implementation’和‘Generate Bitstream’執(zhí)行綜合、實(shí)現(xiàn)和生成比特流文件操作?;蛘?,可以直接點(diǎn)擊‘Generate Bitstream’,Vivado工具會(huì)提示沒有已經(jīng)實(shí)現(xiàn)的結(jié)果,點(diǎn)擊‘Yes’,Vivado工具會(huì)依次執(zhí)行綜合、實(shí)現(xiàn)和生成比特流文件。

2)?完成后,選擇‘Open Hardware Manager’打開硬件管理器。

3)?連接Basys3開發(fā)板,點(diǎn)擊‘Open target’,選擇‘Auto connect’。

4)?連接完成后,點(diǎn)擊‘Program device’。

5)?檢查彈出框中所選中的bit文件,然后點(diǎn)擊Program進(jìn)行下載。


二、?基于Tcl
1.?運(yùn)行Tcl,創(chuàng)建新的工程
1)?打開Vivado 2017.2,在界面底部Tcl命令框輸入命令;

2)?使用‘cd’命令,進(jìn)入Oscilloscope.tcl文件所在路徑。參考路徑:C:Basys3_workshopsourceslab4SrcTcl,在Tcl命令框輸入:cd C:/Basys3_workshop/sources/lab4/Src/Tcl (注意:Vivado使用‘/’);
3)?在Tcl命令框中,輸入命令:source ./ Oscilloscope.tcl。輸入完畢按回車,運(yùn)行Tcl;
4)?等待Tcl綜合、實(shí)現(xiàn)、生成比特流文件;
5)?在Flow Navigator中,展開PROGRAM AND DEBUG,點(diǎn)擊Open Hardware Manager,點(diǎn)擊Open target>Auto Connect 連接Basys3;
6)?點(diǎn)擊Program device,選擇生成的比特流文件開始下載。
設(shè)計(jì)驗(yàn)證
待比特流文件下載完成后,可以將信號(hào)發(fā)生器的探頭連接至Basys3 的JXADC的P極,并將JXADC的N極連接信號(hào)發(fā)生器的地。本實(shí)驗(yàn),簡易示波器的可測(cè)電壓范圍為 0-1V,頻率為 4KHz 以下??梢栽赩GA上觀測(cè)波形。如果波形顯示比較密集,那就需要更改采樣時(shí)鐘,通過按Basys3開發(fā)板上的BTNC按鍵來改變采樣時(shí)鐘,以此來改變波形顯示密集程度。
1.?基于Analog Discovery2
按照下圖連接方式,將Analog Discovery2的波形發(fā)生器的輸出引線W1(黃色)和W2(黃白色)與Basys3的JXADC的pin1和pin7相連接。

1)?打開WaveForms軟件,連接Analog Discovery2設(shè)備
2)?在左側(cè)的功能選擇欄選擇‘Wavegen’,使用波形發(fā)生器。
3)?根據(jù)本實(shí)驗(yàn)示波器設(shè)計(jì)的輸入標(biāo)準(zhǔn),將波形幅值設(shè)置為400mV,直流偏移量設(shè)置為500mV,輸入的頻率可以選擇為100H~5kHz之間

4)?點(diǎn)擊左上角‘Run All’開始運(yùn)行。按下Basys3開發(fā)板上BTNC按鈕進(jìn)行采樣頻率調(diào)節(jié),在VGA顯示器上觀察輸出結(jié)果


2.?基于OpenScope
按照下圖連接方式,將OpenScope的波形發(fā)生器的輸出引線W1(黃色)與Basys3的JXADC的pin1相連接。
1)?打開Digilent Agent
2)?在Windows工具欄右側(cè),右鍵Digilent Agent圖標(biāo),選擇‘Launch WaveForms Live’,在瀏覽器中打開WaveForms Live。
3)?選擇在實(shí)驗(yàn)二中已經(jīng)添加的設(shè)備,點(diǎn)擊連接該設(shè)備

4)?在右側(cè)找到并展開Wavegen(波形發(fā)生器),按以下參數(shù)進(jìn)行配置:
選擇正弦波
Frequency:2 kHz
Amplitude:1 Vpp
DC Offset:1.4 V
5)?點(diǎn)擊右上角開關(guān)按鈕,打開波形發(fā)生器。

6)?在VGA顯示器上觀察輸出結(jié)果,可以使用Basys3開發(fā)板上BTNC按鈕進(jìn)行采樣頻率調(diào)節(jié)。
編輯:黃飛
?
電子發(fā)燒友App



















評(píng)論