
今天給大俠帶來基于 FPGA Vivado 示波器設計,開發(fā)板實現(xiàn)使用的是Digilent basys 3,話不多說,上貨。
需要源工程可以在公眾號置頂文章資料獲取中獲取。

本篇掌握基于添加文件和IP的Vivado工程設計流程,掌握基于Tcl的Vivado工程設計流程,學習示波器的基本組成結構。獲取本篇相關源工程代碼,可在公眾號內(nèi)回復“示波器設計源工程”。
數(shù)字存儲示波器能夠將模擬信號進行采樣、存儲以及顯示。本系統(tǒng)在DIGILENT Basys3上構建了一個簡易數(shù)字存儲示波器,簡化框圖如下:

原理:首先,AD模塊對模擬信號進行采樣,觸發(fā)電路根據(jù)采樣信號判斷觸發(fā)條件(例如:上升沿觸發(fā))。滿足觸發(fā)條件后,連續(xù)采樣一定數(shù)量的點(本系統(tǒng)中為640個點),存儲到RAM中。峰峰值、頻率計算模塊對RAM中儲存的波形數(shù)據(jù)進行計算,得到波形的頻率以及峰峰值;VGA模塊將波形顯示出來,并顯示計算得到的峰峰值和頻率數(shù)值。
本篇通過調(diào)用DIGILENT Basys3板上芯片中的ADC模塊,對外部電壓信號進行采樣、存儲,并通過VGA顯示器將波形顯示出來。在DIGILENT Basys3上電之前,需要提前將DIGILENT Basys3與VGA連接好,并準備好一臺信號發(fā)生器。
一、基于添加文件和IP
1. 新建工程項目
1) 雙擊桌面圖標打開Vivado 2017.2,或者選擇開始>所有程序>Xilinx Design Tools> Vivado 2017.2>Vivado 2017.2;
2) 點擊‘Create Project’,或者單擊File>New Project創(chuàng)建工程文件;
3) 將新的工程項目命名為‘lab4’,選擇工程保存路徑,勾選‘Create project subdirectory’,創(chuàng)建一個新的工程文件夾,點擊Next繼續(xù);
4) 選擇新建一個RTL工程,勾選Do not specify sources at this time(不指定添加源文件),先不添加源文件。點擊 Next繼續(xù);
5) 選擇目標FPGA器件:xc7a35tcpg236-1或Basys3;
6) 最后在新工程總結中,檢查工程創(chuàng)建是否有誤。沒有問題,則點擊Finish,完成新工程的創(chuàng)建。
2. 添加已經(jīng)設計好的IP和源文件
工程建立完畢,我們將設計所需的IP文件夾(IP_Catalog)和實驗需要使用的HDL(Verilog)文件復制到已經(jīng)創(chuàng)建的工程文件夾根目錄下:
源文件位于Basys3_workshop\sources\lab4\Src\HDL_source
復制完成后,如下圖所示:

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

2) 彈出窗口中,在左側Project Settings中展開IP一項,選擇‘Repository’,點擊右側的添加IP;

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

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

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

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

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

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

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

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

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

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

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

6.5 勾選‘Copy sources into project’,點擊Finish完成添加。

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

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

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

7.5 勾選‘Copy sources into project’,點擊Finish完成添加。

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

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

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

4) 連接完成后,點擊‘Program device’。

5) 檢查彈出框中所選中的bit文件,然后點擊Program進行下載。


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

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

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

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


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

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

6) 在VGA顯示器上觀察輸出結果,可以使用Basys3開發(fā)板上BTNC按鈕進行采樣頻率調(diào)節(jié)。
- -THE END- -
往期精選


FPGA技術江湖廣發(fā)江湖帖
無廣告純凈模式,給技術交流一片凈土,從初學小白到行業(yè)精英業(yè)界大佬等,從軍工領域到民用企業(yè)等,從通信、圖像處理到人工智能等各個方向應有盡有,QQ微信雙選,F(xiàn)PGA技術江湖打造最純凈最專業(yè)的技術交流學習平臺。
FPGA技術江湖微信交流群

加群主微信,備注姓名+學校/公司+專業(yè)/崗位進群
FPGA技術江湖QQ交流群

備注姓名+學校/公司+專業(yè)/崗位進群
