【正点原子FPGA连载】第三十五章高速AD/DA实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
1)實(shí)驗(yàn)平臺(tái):正點(diǎn)原子新起點(diǎn)V2開發(fā)板
2)平臺(tái)購買地址:https://detail.tmall.com/item.htm?id=609758951113
2)全套實(shí)驗(yàn)源碼+手冊(cè)+視頻下載地址:http://www.openedv.com/thread-300792-1-1.html
3)對(duì)正點(diǎn)原子FPGA感興趣的同學(xué)可以加群討論:994244016
4)關(guān)注正點(diǎn)原子公眾號(hào),獲取最新資料更新
第三十五章高速AD/DA實(shí)驗(yàn)
ADC/DAC(Analog to Digital Converter/ Digital to Analog Converter,即模數(shù)轉(zhuǎn)換器/數(shù)模轉(zhuǎn)換器)是大多數(shù)系統(tǒng)中必不可少的組成部件,用于將連續(xù)的模擬信號(hào)轉(zhuǎn)換成離散的數(shù)字信號(hào),或者將離散的數(shù)字信號(hào)轉(zhuǎn)換成連續(xù)的模擬信號(hào),它們是連接模電電路和數(shù)字電路必不可少的橋梁。在很多場合下,ADC/DAC的轉(zhuǎn)換速度甚至直接決定了整個(gè)系統(tǒng)的運(yùn)行速度。本章我們將使用高速DA芯片實(shí)現(xiàn)數(shù)模轉(zhuǎn)換,產(chǎn)生正弦波模擬電壓信號(hào),并通過高速AD芯片將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。
本章包括以下幾個(gè)部分:
3434.1簡介
34.2實(shí)驗(yàn)任務(wù)
34.3硬件設(shè)計(jì)
34.4程序設(shè)計(jì)
34.5下載驗(yàn)證
35.1簡介
本章我們使用的AD-DA模塊是正點(diǎn)原子推出的一款高速模數(shù)-數(shù)模轉(zhuǎn)換模塊(ATK_HS_AD_DA),高速AD轉(zhuǎn)換芯片和高速DA轉(zhuǎn)換芯片都是由ADI公司生產(chǎn)的,分別是AD9280/3PA9280(兩款芯片兼容)和AD9708。
ATK_HS_AD_DA模塊的硬件結(jié)構(gòu)圖如下圖所示。
圖 35.1.1 ATK_HS_AD_DA模塊硬件結(jié)構(gòu)圖
由上可知,AD9708芯片輸出的是一對(duì)差分電流信號(hào),為了防止受到噪聲干擾,電路中接入了低通濾波器,然后通過高性能和高帶寬的運(yùn)放電路,實(shí)現(xiàn)差分變單端以及幅度調(diào)節(jié)等功能,使整個(gè)電路性能得到了最大限度的提升,最終輸出的模擬電壓范圍是-5V~+5V。
AD9280芯片的輸入模擬電壓轉(zhuǎn)換范圍是0V2V,所以電壓輸入端需要先經(jīng)過電壓衰減電路,使輸入的-5V+5V之間的電壓衰減到0V~2V之間,然后經(jīng)過AD9280芯片將模擬電壓信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。
下面我們分別介紹下這兩個(gè)芯片。
AD9708芯片
AD9708是ADI公司(Analog Devices,Inc.,亞德諾半導(dǎo)體技術(shù)有限公司)生產(chǎn)的TxDAC系列數(shù)模轉(zhuǎn)換器,具有高性能、低功耗的特點(diǎn)。AD9708的數(shù)模轉(zhuǎn)換位數(shù)為8位,最大轉(zhuǎn)換速度為125MSPS(每秒采樣百萬次Million Samples per Second)。
AD9708的內(nèi)部功能框圖如下圖所示:
圖 35.1.2 AD9708內(nèi)部功能框圖
AD9708在時(shí)鐘(CLOCK)的驅(qū)動(dòng)下工作,內(nèi)部集成了+1.2V參考電壓(+1.20V REF)、運(yùn)算放大器、電流源(CURRENT SOURCE ARRAY)和鎖存器(LATCHES)。兩個(gè)電流輸出端IOUTA和IOUTB為一對(duì)差分電流,當(dāng)輸入數(shù)據(jù)為0(DB7DB0=8’h00)時(shí),IOUTA的輸出電流為0,而IOUTB的輸出電流達(dá)到最大,最大值的大小跟參考電壓有關(guān);當(dāng)輸入數(shù)據(jù)全為高點(diǎn)平(DB7DB0=8’hff)時(shí),IOUTA的輸出電流達(dá)到最大,最大值的大小跟參考電壓有關(guān),而IOUTB的輸出電流為0。
AD9708必須在時(shí)鐘的驅(qū)動(dòng)下才能把數(shù)據(jù)寫入片內(nèi)的鎖存器中,其觸發(fā)方式為上升沿觸發(fā),AD9708的時(shí)序圖如下圖所示:
圖 35.1.3 AD9708時(shí)序圖
上圖中的DBO-DB7和CLOCK是AD9708的8位輸入數(shù)據(jù)和為輸入時(shí)鐘,IOUTA和IOUTB為AD9708輸出的電流信號(hào)。由上圖可知,數(shù)據(jù)在時(shí)鐘的上升沿鎖存,因此我們可以在時(shí)鐘的下降沿發(fā)送數(shù)據(jù)。需要注意的是,CLOCK的時(shí)鐘頻率越快,AD9708的數(shù)模轉(zhuǎn)換速度越快,AD9708的時(shí)鐘頻率最快為125Mhz。
IOUTA和IOUTB為AD9708輸出的一對(duì)差分電流信號(hào),通過外部電路低通濾波器與運(yùn)放電路輸出模擬電壓信號(hào),電壓范圍是-5V至+5V之間。當(dāng)輸入數(shù)據(jù)等于0時(shí),AD9708輸出的電壓值為5V;當(dāng)輸入數(shù)據(jù)等于255(8’hff)時(shí),AD9708輸出的電壓值為-5V。
AD9708是一款數(shù)字信號(hào)轉(zhuǎn)模擬信號(hào)的器件,內(nèi)部沒有集成DDS(Direct Digital Synthesizer,直接數(shù)字式頻率合成器)的功能,但是可以通過控制AD9708的輸入數(shù)據(jù),使其模擬DDS的功能。例如,我們使用AD9708輸出一個(gè)正弦波模擬電壓信號(hào),那么我們只需要將AD9708的輸入數(shù)據(jù)按照正弦波的波形變化即可,下圖為AD9708的輸入數(shù)據(jù)和輸出電壓值按照正弦波變化的波形圖。
圖 35.1.4 AD9708正弦波數(shù)據(jù)(左)、電壓值(右)
由上圖可知,數(shù)據(jù)在0至255之間按照正弦波的波形變化,最終得到的電壓也會(huì)按照正弦波波形變化,當(dāng)輸入數(shù)據(jù)重復(fù)按照正弦波的波形數(shù)據(jù)變化時(shí),那么AD9708就可以持續(xù)不斷的輸出正弦波的模擬電壓波形。需要注意的是,最終得到的AD9708的輸出電壓變化范圍由其外部電路決定的,當(dāng)輸入數(shù)據(jù)為0時(shí),AD9708輸出+5V的電壓;當(dāng)輸入數(shù)據(jù)為255時(shí),AD9708輸出-5V的電壓。
由此可以看出,只要輸入的數(shù)據(jù)控制的得當(dāng),AD9708可以輸出任意波形的模擬電壓信號(hào),包括正弦波、方波、鋸齒波、三角波等波形。
在了解完高速DA轉(zhuǎn)換芯片后,接下來我們介紹下高速AD轉(zhuǎn)換芯片AD9280。
AD9280芯片
AD9280是ADI公司生產(chǎn)的一款單芯片、8位、32MSPS(Million Samples Per Second,每秒采樣百萬次)模數(shù)轉(zhuǎn)換器,具有高性能、低功耗的特點(diǎn)。
AD9280的內(nèi)部功能框圖如下圖所示:
圖 35.1.5 AD9280內(nèi)部功能框圖
AD9280在時(shí)鐘(CLK)的驅(qū)動(dòng)下工作,用于控制所有內(nèi)部轉(zhuǎn)換的周期;AD9280內(nèi)置片內(nèi)采樣保持放大器(SHA),同時(shí)采用多級(jí)差分流水線架構(gòu),保證了32MSPS的數(shù)據(jù)轉(zhuǎn)換速率下全溫度范圍內(nèi)無失碼;AD9280內(nèi)部集成了可編程的基準(zhǔn)源,根據(jù)系統(tǒng)需要也可以選擇外部高精度基準(zhǔn)滿足系統(tǒng)的要求。
AD9280輸出的數(shù)據(jù)以二進(jìn)制格式表示,當(dāng)輸入的模擬電壓超出量程時(shí),會(huì)拉高OTR(out-of-range)信號(hào);當(dāng)輸入的模擬電壓在量程范圍內(nèi)時(shí),OTR信號(hào)為低電平,因此可以通過OTR信號(hào)來判斷輸入的模擬電壓是否在測量范圍內(nèi)。
AD9280的時(shí)序圖如下圖所示:
圖 35.1.6 AD9280時(shí)序圖
模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)并不是當(dāng)前周期就能轉(zhuǎn)換完成,從采集模擬信號(hào)開始到輸出數(shù)據(jù)需要經(jīng)過3個(gè)時(shí)鐘周期。比如上圖中在時(shí)鐘CLK的上升沿沿采集的模擬電壓信號(hào)S1,經(jīng)過3個(gè)時(shí)鐘周期后(實(shí)際上再加上25ns的時(shí)間延時(shí)),輸出轉(zhuǎn)換后的數(shù)據(jù)DATA1。需要注意的是,AD9280芯片的最大轉(zhuǎn)換速度是32MSPS,即輸入的時(shí)鐘最大頻率為32MHz。
AD9280支持輸入的模擬電壓范圍是0V至2V,0V對(duì)應(yīng)輸出的數(shù)字信號(hào)為0,2V對(duì)應(yīng)輸出的數(shù)字信號(hào)為255。而AD9708經(jīng)外部電路后,輸出的電壓范圍是-5V+5V,因此在AD9280的模擬輸入端增加電壓衰減電路,使-5V+5V之間的電壓轉(zhuǎn)換成0V至2V之間。那么實(shí)際上對(duì)我們用戶使用來說,當(dāng)AD9280的模擬輸入接口連接-5V電壓時(shí),AD輸出的數(shù)據(jù)為0;當(dāng)AD9280的模擬輸入接口連接+5V電壓時(shí),AD輸出的數(shù)據(jù)為255。
當(dāng)AD9280模擬輸入端接-5V至+5V之間變化的正弦波電壓信號(hào)時(shí),其轉(zhuǎn)換后的數(shù)據(jù)也是成正弦波波形變化,轉(zhuǎn)換波形如下圖所示:
圖 35.1.7 AD9280正弦波模擬電壓值(左)、數(shù)據(jù)(右)
由上圖可知,輸入的模擬電壓范圍在-5V至5V之間,按照正弦波波形變化,最終得到的數(shù)據(jù)也是按照正弦波波形變化。
35.2實(shí)驗(yàn)任務(wù)
本節(jié)實(shí)驗(yàn)任務(wù)是使用新起點(diǎn)開發(fā)板及高速AD-DA擴(kuò)展模塊(ATK_HS_AD_DA模塊)實(shí)現(xiàn)數(shù)模及模數(shù)的轉(zhuǎn)換。首先FPGA產(chǎn)生正弦波變化的數(shù)字信號(hào),經(jīng)過DA芯片后轉(zhuǎn)換成模擬信號(hào),將DA的模擬電壓輸出端連接至AD的模擬電壓輸入端,AD芯片將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),然后通過ILA觀察數(shù)字信號(hào)的波形是否按照正弦波波形變化。
35.3硬件設(shè)計(jì)
ATK_HS_AD_DA模塊由DA轉(zhuǎn)換芯片(AD9708)和AD轉(zhuǎn)換芯片(AD9280)組成。AD9708的原理圖如下圖所示。
圖 35.3.1 AD9708原理圖
由上圖可知,AD9708輸出的一對(duì)差分電流信號(hào)先經(jīng)過濾波器,再經(jīng)過運(yùn)放電路得到一個(gè)單端的模擬電壓信號(hào)。圖中右側(cè)的W1為滑動(dòng)變阻器,可以調(diào)節(jié)輸出的電壓范圍,推薦通過調(diào)節(jié)滑動(dòng)變阻器,使輸出的電壓范圍在-5V至+5V之間,從而達(dá)到AD轉(zhuǎn)換芯片的最大轉(zhuǎn)換范圍。
AD9280的原理圖如下圖所示。
圖 35.3.2 AD9280原理圖
上圖中輸入的模擬信號(hào)SMA_IN(VI)經(jīng)過衰減電路后得到AD_IN2(VO)信號(hào),兩個(gè)模擬電壓信號(hào)之間的關(guān)系是VO=VI/5+1,即當(dāng)VI=5V時(shí),VO=2V;VI=-5V時(shí),VO=0V。
ATK_HS_AD_DA模塊的實(shí)物圖如下圖所示。
圖 35.3.3 ATK-HS-AD-DA模塊實(shí)物圖
本實(shí)驗(yàn)中,各端口信號(hào)的管腳分配如下表所示。
表 35.3.1 高速AD-DA轉(zhuǎn)換實(shí)驗(yàn)管腳分配
對(duì)應(yīng)的TCL約束語句如下所示:
set_location_assignment PIN_M2 -to sys_clk set_location_assignment PIN_M1 -to sys_rst_n set_location_assignment PIN_T11 -to da_data[0] set_location_assignment PIN_R10 -to da_data[1] set_location_assignment PIN_G2 -to da_data[2] set_location_assignment PIN_R11 -to da_data[3] set_location_assignment PIN_T13 -to da_data[4] set_location_assignment PIN_R12 -to da_data[5] set_location_assignment PIN_T14 -to da_data[6] set_location_assignment PIN_R13 -to da_data[7] set_location_assignment PIN_N6 -to da_clk set_location_assignment PIN_M8 -to ad_clk set_location_assignment PIN_P8 -to ad_data[7] set_location_assignment PIN_N8 -to ad_data[6] set_location_assignment PIN_L9 -to ad_data[5] set_location_assignment PIN_K9 -to ad_data[4] set_location_assignment PIN_M9 -to ad_data[3] set_location_assignment PIN_L10 -to ad_data[2] set_location_assignment PIN_P9 -to ad_data[1] set_location_assignment PIN_N9 -to ad_data[0] set_location_assignment PIN_P6 -to ad_otr35.4程序設(shè)計(jì)
根據(jù)本章的實(shí)驗(yàn)任務(wù),FPGA需要連續(xù)輸出正弦波波形的數(shù)據(jù),才能使AD9708連續(xù)輸出正弦波波形的模擬電壓,如果通過編寫代碼使用三角函數(shù)公式運(yùn)算的方式輸出正弦波數(shù)據(jù),那么程序設(shè)計(jì)會(huì)變得非常復(fù)雜。在工程應(yīng)用中,一般將正弦波波形數(shù)據(jù)存儲(chǔ)在RAM或者ROM中,由于本次實(shí)驗(yàn)并不需要寫數(shù)據(jù)到RAM中,因此我們將正弦波波形數(shù)據(jù)存儲(chǔ)在只讀的ROM中,直接讀取ROM中的數(shù)據(jù)發(fā)送給DA轉(zhuǎn)換芯片即可。
圖 35.4.1是根據(jù)本章實(shí)驗(yàn)任務(wù)畫出的系統(tǒng)框圖。ROM里面事先存儲(chǔ)好了正弦波波形的數(shù)據(jù),DA數(shù)據(jù)發(fā)送模塊從ROM中讀取數(shù)據(jù),將數(shù)據(jù)和時(shí)鐘送到AD9708的輸入數(shù)據(jù)端口和輸入時(shí)鐘端口;AD數(shù)據(jù)接收模塊給AD9280輸出驅(qū)動(dòng)時(shí)鐘信號(hào)和使能信號(hào),并采集AD9280輸出模數(shù)轉(zhuǎn)換完成的數(shù)據(jù)。
高速AD/DA實(shí)驗(yàn)的系統(tǒng)框圖如圖 35.4.1所示:
圖 35.4.1 高速AD/DA系統(tǒng)框圖
頂層模塊的原理圖如下圖所示:
圖 35.4.2 頂層模塊原理圖
FPGA頂層模塊(hs_ad_da)例化了以下三個(gè)模塊:DA數(shù)據(jù)發(fā)送模塊(da_wave_send)、ROM波形存儲(chǔ)模塊(rom_256x8b)和AD數(shù)據(jù)接收模塊(ad_wave_rec)。
DA數(shù)據(jù)發(fā)送模塊(da_wave_send):DA數(shù)據(jù)發(fā)送模塊輸出讀ROM地址,將輸入的ROM數(shù)據(jù)發(fā)送至DA轉(zhuǎn)換芯片的數(shù)據(jù)端口。
ROM波形存儲(chǔ)模塊(rom_256x8b):ROM波形存儲(chǔ)模塊由Vivado軟件自帶的Block Memory Generator IP核實(shí)現(xiàn),其存儲(chǔ)的波形數(shù)據(jù)可以使用波形轉(zhuǎn)存儲(chǔ)文件的上位機(jī)來生成.coe文件。
AD數(shù)據(jù)接收模塊(ad_wave_rec):AD數(shù)據(jù)接收模塊輸出AD轉(zhuǎn)換芯片的驅(qū)動(dòng)時(shí)鐘和使能信號(hào),隨后接收AD轉(zhuǎn)換完成的數(shù)據(jù)。
頂層模塊的代碼如下:
DA數(shù)據(jù)發(fā)送模塊輸出的讀ROM地址(rd_addr)連接至ROM模塊的地址輸入端,ROM模塊輸出的數(shù)據(jù)(rd_data)連接至DA數(shù)據(jù)發(fā)送模塊的數(shù)據(jù)輸入端,從而完成了從ROM中讀取數(shù)據(jù)的功能。
在代碼的第32行至第36行例化了ROM IP核,我們?cè)谇懊嬲f過,ROM中存儲(chǔ)的波形數(shù)據(jù)可以使用上位機(jī)波形轉(zhuǎn)MIF軟件或者M(jìn)atlab軟件生成,在這里我們介紹一個(gè)簡單易用的波形轉(zhuǎn)MIF工具的使用方法,該工具位于開發(fā)板所隨附的資料“6_軟件資料/1_軟件/WaveToMif”目錄下,雙擊“WaveToMif_V1.0.exe”運(yùn)行軟件。
接下來我們對(duì)MIF文件進(jìn)行設(shè)置,直接使用默認(rèn)的設(shè)置即可,點(diǎn)擊“一鍵生成”按鈕,在彈出的界面中選擇MIF文件的存放路徑并輸入文件名。WaveToMif轉(zhuǎn)換過程中的軟件界面如圖 35.4.3所示:
圖 35.4.3 WaveToMif軟件界面
生成的MIF文件打開界面如下圖所示:
圖 35.4.4 MIF文件打開界面
工程中創(chuàng)建了一個(gè)單端口ROM,在調(diào)用ROM IP核時(shí),需要設(shè)置ROM位寬為8bit,深度為256,如圖 35.4.5所示。
圖 35.4.5 配置ROM位寬及深度
此外,為了保證ROM的讀使能信號(hào)拉高到有效數(shù)據(jù)輸出之間僅存在一個(gè)時(shí)鐘周期的延時(shí),需要取消寄存端口輸出,如圖 35.4.6紅色方框所示。
圖 35.4.6 取消寄存端口輸出
最后,在“Mem Init”頁點(diǎn)擊“Browse”按鈕,選擇前面生成的初始化文件“dds_256x8b_wave.mif”,如圖 35.4.7所示。注意需要將該MIF文件置于工程目錄下,本工程中的MIF文件位于hs_ad_da/doc/文件夾下。
圖 35.4.7 選擇存儲(chǔ)器初始化文件
DA數(shù)據(jù)發(fā)送模塊的代碼如下:
在代碼的第14行定義了一個(gè)參數(shù)FREQ_ADJ(頻率調(diào)節(jié)),可以通過控制頻率調(diào)節(jié)參數(shù)的大小來控制最終輸出正弦波的頻率大小,頻率調(diào)節(jié)參數(shù)的值越小,正弦波頻率越大。頻率調(diào)節(jié)參數(shù)調(diào)節(jié)正弦波頻率的方法是通過控制讀ROM的速度實(shí)現(xiàn)的,頻率調(diào)節(jié)參數(shù)越小,freq_cnt計(jì)數(shù)到頻率調(diào)節(jié)參數(shù)值的時(shí)間越短,讀ROM數(shù)據(jù)的速度越快,那么正弦波輸出頻率也就越高;反過來,頻率調(diào)節(jié)參數(shù)越大,freq_cnt計(jì)數(shù)到頻率調(diào)節(jié)參數(shù)值的時(shí)間越長,讀ROM數(shù)據(jù)的速度越慢,那么正弦波輸出頻率也就越低。由于freq_cnt計(jì)數(shù)器的位寬為8位,計(jì)數(shù)范圍是0255,所以頻率調(diào)節(jié)參數(shù)FREQ_ADJ支持的調(diào)節(jié)范圍是0255,可通過修改freq_cnt計(jì)數(shù)器的位寬來修改FREQ_ADJ支持的調(diào)節(jié)范圍。
WaveToMif軟件設(shè)置ROM深度為256,倍頻系數(shù)為1,而輸入時(shí)鐘為50Mhz,那么一個(gè)完整的正弦波周期長度為25620ns = 5120ns,當(dāng)FREQ_ADJ的值為0時(shí),即正弦波的最快輸出頻率為1s/5120ns(1s = 1000000000ns) ≈ 195.3Khz。如果把FREQ_ADJ的值設(shè)置為5時(shí),一個(gè)完整的正弦波周期長度為5120ns(5+1) = 30720ns,頻率約為32.55KHz。也可以在WaveToMif軟件設(shè)置中增加倍頻系數(shù)或者增加AD的驅(qū)動(dòng)時(shí)鐘來提高正弦波輸出頻率。
AD數(shù)據(jù)接收模塊的代碼如下:
由于AD轉(zhuǎn)換芯片支持的最大時(shí)鐘頻率為32Mhz,而FPGA的系統(tǒng)時(shí)鐘頻率為50Mhz,所以需要先對(duì)時(shí)鐘進(jìn)行分頻,將分頻后的時(shí)鐘作為AD轉(zhuǎn)換芯片的驅(qū)動(dòng)時(shí)鐘(分頻計(jì)數(shù)見代碼的第16行至第21行)。
圖 35.4.8為AD數(shù)據(jù)接收模塊采集到的SignalTap波形圖,從圖中可以看出,ad_otr信號(hào)固定為低電平,ad_data(輸入的ad數(shù)據(jù))為正弦波變化的波形,說明數(shù)據(jù)采集正確。
圖 35.4.8 AD數(shù)據(jù)接收模塊采集到的SignalTap波形圖
在這里介紹一下如何將數(shù)據(jù)設(shè)置成波形圖顯示,首先選中SignalTap波形圖中的ad_data,右鍵選擇Bus Display Format,然后選擇Unsigned Line Chart即可。如果要切換成數(shù)據(jù)顯示的話,同樣選中ad_data,右鍵選擇Bus Display Format,然后選擇Unsigned Decimal就可以了,如下圖所示:
圖 35.4.9 SignalTap波形顯示設(shè)置界面
35.5下載驗(yàn)證
首先將ATK-HS-ADDA模塊插入開發(fā)板的P6擴(kuò)展口位置,插入的時(shí)候注意擴(kuò)展口電源引腳方向和開發(fā)板電源引腳方向一致,然后將下載器一端連接電腦,另一端與開發(fā)板上對(duì)應(yīng)端口連接,最后連接電源線并打開電源開關(guān)。
開發(fā)板硬件連接實(shí)物圖如圖 35.5.1所示:
圖 35.5.1開發(fā)板硬件連接實(shí)物圖
接下來我們下載程序,驗(yàn)證高速AD-DA功能。程序下載完成后,接下來我們使用示波器測量DA輸出通道的波形。首先將示波器帶夾子的一端連接到開發(fā)板的GND位置(可使用杜邦線連接至開發(fā)板擴(kuò)展IO的GND管腳),然后將另一端探針插入高速AD-DA模塊DA通道中間的金屬圓圈內(nèi),如圖 35.5.2所示;或者直接測試高速AD-DA模塊的TP引腳也可以,如圖圖 35.5.3所示。
圖 35.5.2 DA測量孔位
圖 35.5.3 DA模擬電壓測試點(diǎn)(TP)
此時(shí)觀察示波器可以看到正弦波的波形,如果觀察不到波形,可以旋轉(zhuǎn)ATK-HS-ADDA模塊上的旋鈕來調(diào)節(jié)輸出的模擬電壓幅值,也可以嘗試按下示波器的“AUTO”,再次觀察示波器波形,示波器的顯示界面如圖 35.5.4所示:
圖 35.5.4 示波器顯示界面
觀察到正弦波波形后,說明DA已經(jīng)正確輸出模擬電壓波形了,接下來我們來驗(yàn)證AD的功能,首先使用兩頭都是公頭的杜邦線,將DA輸出通道和AD輸入通道連接起來,杜邦線連接圖如圖 35.5.5所示。
連接然后使用SignalTap觀察ad_data數(shù)據(jù)的變化(鼠標(biāo)右擊d_wave_recad_data->“Bus_Display_Format”->“signed Line Chart”,數(shù)據(jù)即可以波形的形式展示出來)。這里需要注意的是,采樣時(shí)鐘使用AD數(shù)據(jù)接收模塊的sample_clk時(shí)鐘,使用其它時(shí)鐘可能會(huì)造成數(shù)據(jù)采集錯(cuò)誤,觀察到的SignalTap波形如圖 35.5.6所示。
圖 35.5.5 AD-DA通道杜邦線連接圖
圖 35.5.6 AD數(shù)據(jù)SignalTap波形圖
由上圖可知,輸入的ad_data數(shù)據(jù)為正弦波變化的波形,說明AD-DA實(shí)驗(yàn)驗(yàn)證成功。
總結(jié)
以上是生活随笔為你收集整理的【正点原子FPGA连载】第三十五章高速AD/DA实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DebitCredit for Mac(
- 下一篇: CODEVS——T 1005 生日礼物