【紫光同創國產FPGA教程】【第十八章】AD實驗之AD7606波形顯示


本原創教程由芯驛電子科技(上海)有限公司(ALINX)創作,版權歸本公司所有,如需轉載,需授權並注明出處()。

適用於板卡型號:

PGL22G/PGL12G

1. 實驗簡介

本實驗練習使用ADC,實驗中使用的ADC模塊型號為AN706,最大采樣率200Khz,精度為16位。實驗中把AN706的2路輸入以波形方式在HDMI上顯示出來,我們可以用更加直觀的方式觀察波形,是一個數字示波器雛形。

8路200K采樣16位ADC模塊實驗預期結果

2. 實驗原理

AD7606是一款集成式8通道同步采樣數據采集系統,片內集成輸入放大器、過壓保護電路、二階模擬抗混疊濾波器、模擬多路復用器、16位200 kSPS SAR ADC和一個數字濾波器, 2.5 V基准電壓源、基准電壓緩沖以及高速串行和並行接口。

AD7606采用+5V單電源供電, 可以處理±10V和±5V真雙極性輸入信號, 同時所有通道均以高達200KSPS的吞吐速率采樣。輸入鉗位保護電路可以耐受最高達±16.5V的電壓。

無論以何種采樣頻率工作, AD7606的模擬輸入阻抗均為1M歐姆。它采用單電源工作方式, 具有片內濾波和高輸入阻抗, 因此無需驅動運算放大器和外部雙極性電源。

AD7606抗混疊濾波器的3dB截至頻率為22kHz; 當采樣速率為200kSPS時, 它具有40dB抗混疊抑制特性。靈活的數字濾波器采用引腳驅動, 可以改善信噪比(SNR), 並降低3dB帶寬。

2.1 AD7606時序

AD7606可以對所有8路的模擬輸入通道進行同步采樣。當兩個CONVST引腳(CONVSTA和CONVSTB)連在一起時, 所有通道同步采樣。此共用CONVST信號的上升沿啟動對所有模擬輸入通道的同步采樣(V1至V8)。

AD7606內置一個片內振盪器用於轉換。所有ADC通道的轉換時間為tCONV。BUSY信號告知用戶正在進行轉換, 因此當施加CONVST上升沿時,BUSY變為邏輯高電平, 在整個轉換過程結束時變成低電平。BUSY信號下降沿用來使所有八個采樣保持放大器返回跟蹤模式。BUSY下降沿還表示,現在可以從並行總線DB[15:0]讀取8個通道的數據。

2.2 AD7606配置

在AN706 8通道的AD模塊硬件電路設計中,我們對AD7606的3個配置Pin腳通過加上拉或下拉電阻來設置AD7606的工作模式。

AD7606這款芯片支持外部基准電壓輸入或內部基准電壓。如果使用外部基准電壓,芯片的REFIN/REFOUT需要外接一個2.5V的基准源。如果使用內部的基准電壓。REFIN/REFOUT引腳為2.5V的內部基准電壓輸出。REF SELECT引腳用於選擇內部基准電壓或外部基准電壓。在本模塊中,因為考慮到AD7606的內部基准電壓的精度也非常高(2.49V~2.505V),所以電路設計選擇使用了內部的基准電壓。

Pin腳名 設置電平 說明
REF SELECT 高電平 使用內部的基准電壓2.5V

AD7606的AD轉換數據采集可以采用並行模式或者串行模式, 用戶可以通過設置PAR/SER/BYTE SEL引腳電平來設置通信的模式。我們在設計的時候,選擇並行模式讀取AD7606的AD數據。

Pin腳名 設置電平 說明
PAR/SER/BYTE SEL 低電平 選擇並行接口

AD7606的AD模擬信號的輸入范圍可以設置為±5V或者是±10V,當設置±5V輸入范圍時,1LSB=152.58uV;當設置±10V輸入范圍時,1LSB=305.175uV 。用戶可以通過設置RANGE引腳電平來設置模擬輸入電壓的范圍。我們在設計的時候,選擇±5V的模擬電壓輸入范圍。

Pin腳名 設置電平 說明
RANGE 低電平 模擬信號輸入范圍選擇:±5V

AD7606內置一個可選的數字一階sinc濾波器,在使用較低吞吐率或需要更高信噪比的應用中,應使用濾波器。數字濾波器的過采樣倍率由過采樣引腳OS[2:0]控制。下表提供了用來選擇不同過采樣倍率的過采樣位解碼。

在AN706模塊的硬件設計中, OS[2:0] 已經引到外部的接口中,FPGA或CPU可以通過控制OS[2:0]的管腳電平來選擇是否使用濾波器,以達到更高的測量精度。

2.3 AD7606 AD轉換

AD7606的輸出編碼方式為二進制補碼。所設計的碼轉換在連續LSB整數的中間(既1/2LSB和3/2LSB)進行。AD7606的LSB大小為FSR/65536。AD7606的理想傳遞特性如下圖所示:

2.4 程序設計

本實驗顯示部分是基於前面的已有的實驗,在彩條上疊加網格線和波形。

timing_gen_xy模塊完成視頻圖像的坐標生成,x坐標,從左到右增大,y坐標從上到下增大。

信號名稱 方向 寬度(bit) 說明
clk in 1 系統時鍾
rst_n in 1 異步復位,低電平復位
i_hs in 1 視頻行同步輸入
i_vs in 1 視頻場同步輸入
i_de in 1 視頻數據有效輸入
i_data in 24 視頻數據輸入
o_hs out 1 視頻行同步輸出
o_vs out 1 視頻場同步輸出
o_de out 1 視頻數據有效輸出
o_data out 24 視頻數據輸出
x out 12 坐標x輸出
y out 12 坐標y輸出

timing_gen_xy模塊端口

grid_display模塊主要完成視頻的網格線疊加,本實驗將彩條視頻輸入,然后疊加一個網格后輸出,提供給后面的波形顯示模塊使用。

信號名稱 方向 寬度(bit) 說明
pclk in 1 像素時鍾
rst_n in 1 異步復位,低電平復位
i_hs in 1 視頻行同步輸入
i_vs in 1 視頻場同步輸入
i_de in 1 視頻數據有效輸入
i_data in 24 視頻數據輸入
o_hs out 1 帶網格視頻行同步輸出
o_vs out 1 帶網格視頻場同步輸出
o_de out 1 帶網格視頻數據有效輸出
o_data out 24 帶網格視頻數據輸出

grid_display模塊端口

wav_display顯示模塊主要是完成波形數據的疊加顯示,模塊內含有一個雙口ram,寫端口是由ADC采集模塊寫入,讀端口是顯示模塊。

信號名稱 方向 寬度(bit) 說明
pclk in 1 像素時鍾
rst_n in 1 異步復位,低電平復位
wave_color in 24 波形顏色,rgb
adc_clk in 1 adc模塊時鍾
adc_buf_wr in 1 adc數據寫使能
adc_buf_addr in 12 adc數據寫地址
adc_buf_data in 8 adc數據,無符號數
i_hs in 1 視頻行同步輸入
i_vs in 1 視頻場同步輸入
i_de in 1 視頻數據有效輸入
i_data in 24 視頻數據輸入
o_hs out 1 帶網格視頻行同步輸出
o_vs out 1 帶網格視頻場同步輸出
o_de out 1 帶網格視頻數據有效輸出
o_data out 24 帶網格視頻數據輸出

wav_display模塊端口

ad7606_sample模塊有符號數轉換為無符號數,最后位寬轉換到8bit。

信號名稱 方向 寬度(bit) 說明
adc_clk in 1 adc系統時鍾
rst in 1 異步復位,高復位
adc_data in 16 ADC數據輸入
adc_data_valid in 1 adc數據有效
adc_buf_wr out 1 ADC數據寫使能
adc_buf_addr out 12 ADC數據寫地址
adc_buf_data out 8 無符號8位ADC數據

ad7606_sample模塊端口

3. 實驗現象

  1. 將AN706模塊插入開發板的擴展口 J8,注意1腳對齊,不要插錯、插偏,不能帶電操作。
  2. 連接AN706的輸入到信號發生器的輸出,AN706模塊本身沒有焊接SMA插頭,本實驗為了方便,自行焊接了一個SMA插頭。

AN706連接信號源示意圖

1)連接HDMI顯示器,注意:連接的是顯示器,不是筆記本電腦HDMI接口

HDMI接口連接示意圖

2)下載程序,調節信號發生的頻率和幅度,AN706輸入范圍-5V-5V,為了便於觀察波形數據,建議信號輸入頻率200hz到2Khz。觀察顯示器輸出,紅色波形為CH1輸入、藍色為CH2輸入、黃色網格最上面橫線代表5V,最下面橫線代表-5V,中間橫線代表0V,每個豎線間隔是10個采樣點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM