一.設計概述
1.1 設計目的
利用賽靈思公司 A7 系列板卡 EG01、AD9226 模塊和 DAC904 模塊, 制作一個便攜式、寬頻帶的示波器和 DDS 信號源,兩者二合一,既能產生信號波形又可以實現示波器的基本功能。
1.2 應用領域
DDS 信號源可以產生生活中用到的一些基本波形,輸出的信號具 有頻譜純度高、頻率分辨率高和頻率轉換速度快等優點,該系統可以 廣泛應用于通信、雷達等領域。示波器主要功能即“示波”,把肉眼 看不到的信號顯示在屏幕上,并測量出信號的各種參數,如頻率,幅 值,占空比,頻譜等。本次設計把 DDS 信號源以及示波器結合起來, 既可以實現它們的基本功能,也具有便攜式等特點。
1.3 適用范圍
(1)DDS 信號源可以產生任意頻率的方波、正弦波、三角波等基 本波形。
(2)示波器具有改變 時 基設置采樣頻率的功能。
(3)可以實現實時顯示波形的功能。
(4)具有對波形頻率、占空比、幅值分析的功能。
(5)具有 FFT 頻譜分析的功能。
(6)顯示波形可以左右上下移動。
1.4 設計實物
![]()
二.示波器與 DDS 信號源設計 2.1 系統介紹
![]()
![]()
DDS 系統其主要元件有相位累加器、波形存儲器、數模轉換器、 低通濾波器。其中 DDS 關鍵部分就是相位累加器,外部時鐘控制相位 累加器讀取數據的地址值,通過查表,把地址直接轉換成為所需信號 波形的幅度數字,再經由數模轉換器把信號波形幅度的數字序列進一 步轉化為模擬電壓,最后傳送到低通濾波器。經過濾波器處理,將數 模轉換器中不理想的階梯狀波形轉化為平滑的所需波形。合成信號的 正弦波、方波、三角波等波形通過特殊算法處理實現。
示波器系統由 ADC 采樣信號處理模塊、FFT 頻譜計算模塊、測頻 模塊、測峰峰值模塊、VGA 顯示模塊組成。外部模擬信號輸入 ADC 采 樣模塊,轉化為數字信號進入 FPGA 系統。數字信號引出三路分別給 FFT 模塊、測頻模塊、測峰峰值模塊進行參數測量。引出一路寫進一 片雙口 RAM 中,暫存波形數據,VGA 模塊從雙口 RAM 中讀出波形數據。FFT 模塊計算出頻譜,頻譜數據寫 入一片雙口 RAM 中,VGA 模塊讀出 頻譜數據。頻率和峰峰值參數傳給 VGA 顯示模塊。最后 VGA 顯示模塊 把數據傳給顯示器顯示。
2.2 各模塊介紹 2.2.1.AD 采樣模塊
我們采用 AD9226,AD9226 是一款 12 位,最高采樣率為 65MHz 的 高速 ADC。在本設計中,我們從 FPGA 開放板引出一路 50MHz 的時鐘 驅動 AD9226,作為 AD9226 的采樣時鐘,即采樣率為 50MHz。
2.2.2.FFT 頻譜計算模塊
FFT(快速傅里葉變換)其本質就是 DFT,只不過可以快速的計 算出 DFT 結果,要弄懂 FFT,必須先弄懂 DFT,DFT(Discrete Fourier Transform)即離散傅里葉變換。
DFT 的公式:
![]()
對應于本設計,x(n)為經 ADC 轉換后得到的序列, X(k)為對應的頻譜 序列,若 ADC 采樣率為 ,序列 x(n)長度為N ,即采集了 N 個數據點, 則 X(k)對應的頻率為k * / N , X (0)對應頻率為 0,即直流分量,頻率 分辨率為?f = /
在計算機中可以這樣展開:
![]()
Magnitude 即 X(k)的幅值,Amplitude 為對頻率點的幅值大小, 這樣便得到了各個頻率點的幅度,即幅度譜。
本設計我們在 Vivado 開發環境下使用 Xilinx 提供的 FFT IP 核 進行 FFT 運算。下面簡單介紹一下這個 IP 核。這個IP核有兩個輸入接口:S_AXIS_DATA和S_AXIS_CONFIG,一個 輸出接口 M_AXIS_DATA,一個時鐘 aclk 和一些相關標志信號。S_AXIS_DATA 為輸入數據接口,控制數據輸入的狀態,S_AXIS_CONFIG 為配置接口,M_AXIS_DATA 數據輸出接口。控制好接口和相關標志信 號,寫 IP 的驅動程序,IP 便可以開始工作,計算出 FFT 頻譜。驅動 程序見附錄。
要用好 FFT IP 核還必須了解它的時序圖,如下:
![]()
圖 2.2 :FFT 時序圖
如圖所示,輸入和輸出數據都在 AXI 總線上以流水線的的形式一 幀一幀地輸入輸出。本設計我們設計輸入序列的長度為 2048,即輸 入一幀數據為 2048 個,2048 個數依次輸入,每過一個時鐘周期更新 一次總線上的數據。輸出數據一幀也為 2048 個,每個數據依次輸出, 每過一個時鐘周期 更 新一次總線上的數據。對應于 FFT,輸入序列為 x(n),輸出序列為 X(k),長度均為 2048。IP核一幀一幀地運算,當 m_axis_data_tvalid 為 1 期間,輸出數據有效,每隔一定時間輸出 一幀有效數據。
2.2.3.測頻模塊
本設計采用等精度測量法測量輸入信號頻率。等精度測量法,主 導思想是利用一個閥門信號保證測量時間是被測頻率的整數倍,對被 測頻率和基準頻率進行計數,利用計數值求出被測頻率,由于測量誤 差只和基準頻率和閘門時間有關,與被測頻率無關,故稱為等精度測 頻。時序圖如下。
![]()
預置閘門到實際閘門由一個 D 觸發器實現。設標準時鐘頻率為 ,被 測頻率為 ,如時序圖所示,之間關系為
,則 。
2.2.4.測峰峰值模塊
我們通過檢測輸入 ADC 數據的最大值和最小值,測峰峰值,每隔一段時間測一次, 輸出一次。代碼截圖:
![]()
2.2.5.VGA 顯示模塊
VGA 顯示原理:
首先 VGA 就是如今很多顯示器上連接主機的信號傳輸接口。有三 排每排 5 個共 15 個引腳。如下圖所示:
![]()
VGA 顏色顯示是 RGB 來控制的,最高 24 位(即 RGB 各 8 位)、16 位、12 位等,本次實驗采用的是 12 位的 RGB。
顯示器的掃描方式是逐行掃描,即掃描像素點從屏幕最左上角開 始,從左向右,從上到下,每行結束時,用行同步信號進行同步;當 掃描完屏幕上所有的點,形成一幀,用場同步信號進行場同步,并使 掃描點重新回到屏幕的左上方,同時進行場消隱,開始下一幀。具體 的行同步時序與場同步時序如下圖所示:
![]()
![]()
分辨率不同其同步、顯示前沿、顯示后沿、有效數據、場掃描周 期、行掃描周期等都有不同,本次實驗采用的是 1024*800 的分辨率, 各個分辨率以上參數具體如下:
![]()
波形顯示模塊核心代碼:
![]()
邊框、坐標軸、方塊的顯示實現,核心代碼如下圖:
![]()
字符顯示實現:
每一個字符都為 8*16,在給定區域進行顯示,具體代碼如下:
![]()
對需要顯示的頻率數字進行調用,代碼如下:
![]()
2.2.6 相位累加器模塊
相位累加器可以外部時鐘信號的控制下產生讀取數據的地址值, 然后通過查表法,把地址直接轉化為所需信號波形的數字幅度序列。
2.2.7 波形存儲器模塊
波形存儲器也被稱之為正弦查詢表,它的主要功能是在任何一個 參考時鐘周期內,都可以把從上一級傳輸過來的相位二進制碼信息作 為地址,讀取查詢表中的相應地址對應的幅值二進制碼信息。
當收到上一級相位累加器傳輸過來的相位二進制碼信息時,將其 作為地址來讀取內部對應的預先存好的存儲內容即標準信號的幅值 二進制碼信息,并將這個幅值信息的 D 位二進制碼傳送給下一級。
2.2.8 低通濾波器模塊
低通濾波器(Low Pass Filter,LPF)主要是將上級(D/A 轉換 器)輸出的階梯形的正弦信號進行平滑處理,去除混疊的、無用的雜 散分量,使輸出信號更為純凈,波形變得更為平滑。
![]()
完成情況及性能參數 3.1.DDS 信號源測試
此次設計的 DDS 信號源系統可以無失真穩定產生波形頻率范圍為 1HZ 至 2MHZ。(頻率分辨率為 1HZ),1HZ、2KHZ、1MHZ 的正弦、方波、三角波如下圖 所示:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
3.2.示波器部分
![]()
![]()
![]()
![]()
![]()
![]()
示波器的時基變換,波形的上下左右移動因不方便截圖,在視頻中均有演示。
四、總結 4.1 主要創新點
本次設計完成了一個基于 FPGA 的 DDS 信號源與示波器的混合系統,其主要創新點如下:
1.該系統為便攜式 DDS 信號源與示波器的混合系統,將 DDS 信號源與示波器整合在一起,更高效率的利用了 FPGA 片上資源。
2.采用等精度測量法對頻率進行測量,其頻率測量誤差小于0.01 %。
3.自主設計 FPGA 拓展板,使系統的體積更小,整個系統更加穩定,便攜性大大提高。
4.可以實時顯示波形與頻譜。
4.2 可擴展之處
由于開發時間有限,因此目前的系統還有許多可改進和擴展之處:
1.此次設計的示波器功能可以增加一路或多路數據通道,可以實現多個波 形的顯示。
2.優化波形顯示系統,可以對濾波算法進行進一步改進,從而提高波形平 滑率。
3.優化 FPGA 算法,提升片上資源利用率,比如在字符顯示模塊,占用了較多的寄存器資源,因而后期會針對性的完善這個模塊,提高資源利用率。
4. DDS 信號源暫時只能產生頻率、幅值可調的正弦、方波、三角波等,后期會完善其功能,增加產生調頻、調幅波功能。
文章來源于 FPGA技術江湖 ,作者 The last one
芯片測試技術研討會報名(3月18日 西安)
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.