本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處(http://www.alinx.com)。
適用于板卡型號:
PGL22G/PGL12G
1. 實驗簡介
本實驗練習(xí)使用AN9767模塊,實驗中使用的模塊是采用ANALOG DEVICES公司的AD9767芯片,支持獨立雙通道、14位、125MSPS的數(shù)模轉(zhuǎn)換。在教程中介紹了利用該模塊與FPGA開發(fā)板相連輸出雙通道14位的正弦波,然后通過示波器查看把輸出的正弦波的波形。
AN9767模塊實物照片如下:
AN9767模塊正面圖AN9767模塊背面圖
AN9767雙通道DA模塊的詳細參數(shù):
-
DA轉(zhuǎn)換芯片:AD9767;
-
通道數(shù):2通道;
-
DA轉(zhuǎn)換位數(shù):14bit;
-
DA更新速率:125 MSPS;
-
輸出電壓范圍:-5V~+5V;
-
模塊接口:40針2.54mm間距排座,方向向下;
-
工作溫度:-40°~85°模塊使用芯片均滿足工業(yè)級溫度范圍
-
輸出接口:2路BNC模擬輸出接口(用BNC線可以直接連接到示波器);
2. 實驗原理
2.1 AN9767模塊原理框圖
AN9767模塊的原理設(shè)計框圖如下:
2.2 AD9767芯片簡介
AD9767是雙端口、高速、雙通道、14位CMOS DAC,芯片集成兩個高品質(zhì)TxDAC+?內(nèi)核、一個基準電壓源和數(shù)字接口電路,采用48引腳小型LQFP封裝。器件提供出色的交流和直流性能,同時支持最高125 MSPS的更新速率。AD9767的功能框圖如下:
2.3 電流電壓轉(zhuǎn)換及放大
AD9767的兩路DA輸出都為補碼形式的電流輸出IoutA和IoutB。當(dāng)AD9767數(shù)字輸入為滿量程時(DAC的輸入的14位數(shù)據(jù)都為高),IoutA輸出滿量程的電流輸出20mA。IoutB輸出的電流為0mA。具體的電流和DAC的數(shù)據(jù)的關(guān)系如下公式所示:
其中IoutFS=32 x Iref,在AN9767模塊設(shè)計中, Iref的值由電阻R16的值決定,如果R16=19.2K,那Iref的值就是0.625mA。這樣IoutFS的值就是20mA。
AD9767輸出的電流通過第一級運放AD6045轉(zhuǎn)換成-1V~+1V的電壓。具體的轉(zhuǎn)換電路如下圖所示:
第一級運放轉(zhuǎn)換后的-1V~+1V的電壓通過第二級運放變換到更高幅度的電壓信號,這個運放的幅度大小可以通過調(diào)整板上的可調(diào)電阻來改變。通過第二級運放,模擬信號的輸出范圍高達-5V~+5V。
下表為數(shù)字輸入信號和各級運放輸出后的電壓對照表:
DAC數(shù)據(jù)輸入值 | AD9767電流輸出 | 第一級運放輸出 | 第二級運放輸出 |
3fff(14位全高) | +20mA | -1V | +5V |
0(14位全低) | -20mA | +1V | -5V |
2000(中間值) | 0mA | 0V | 0V |
AD9767芯片的數(shù)字接口可以通過芯片的模式管腳(MODE)來配置成雙端口模式(Dual)或者交叉(Interleaved)模式。在AN9767模塊設(shè)計中,AD9767芯片是工作在雙端口模式,雙通道的DA數(shù)字輸入接口是獨立分開的。雙端口模式(Dual)的數(shù)據(jù)時序圖如下圖所示:
給AD9767芯片的DA數(shù)據(jù)通過時鐘CLK和寫信號WRT的上升沿輸入到芯片進行DA轉(zhuǎn)換。
3. 程序設(shè)計
例程中提供了AN9767模塊的DA測試程序,通過AN9767模塊來實現(xiàn)正弦波信號的輸出。
正弦波測試程序是通過讀取FPGA內(nèi)部的一個ROM中存儲的正弦波數(shù)據(jù),然后把正弦波的數(shù)據(jù)輸出到AN9767模塊進行數(shù)模的轉(zhuǎn)換,從而得到正弦波的模擬信號。正弦波測試程序的示意圖如下:
3.1 生成ROM初始化文件
程序中我們會用到一個ROM用于存儲1024個14位的正弦波數(shù)據(jù), 首先我們需要準備ROM的初始化文件。以下為生成正弦波ROM數(shù)據(jù)文件的方法:
在軟件工具及驅(qū)動文件夾下找到工具,其圖標如下所示:
-
雙擊.exe打開工具,打開界面如下:
2. 可以根據(jù)需要自選波形,本例程中選擇正弦波,數(shù)據(jù)長度1024,數(shù)據(jù)位寬14,其它默認:
3. 點擊保存按鈕,將生成的數(shù)據(jù)文件保存到工程目錄文件下(注意保存的文件類型.dat):
4. 保存后點擊確定后關(guān)閉工具
將 .dat文件保存到生成的Rom IP核中即可,在字符顯示實驗教程中已做介紹,這里不再重復(fù)。
3.2 雙通道正弦波發(fā)生程序
`timescale1ns/1ps////////////////////////////////////////////////////////////////////////////////////Twosinewaveoutputs-10V~+10V//////////////////////////////////////////////////////////////////////////////////modulead9767_test(inputsys_clk,//inputclock50Mhzoutputda1_clk,//AD9767CH1clockoutputda1_wrt,//AD9767CH1enableoutput[13:0]da1_data,//AD9767CH1dataoutputoutputda2_clk,//AD9767CH2clockoutputda2_wrt,//AD9767CH2enableoutput[13:0]da2_data//AD9767CH2dataoutput);reg[9:0]rom_addr;wire[13:0]rom_data;wireclk_125M;assignda1_clk=clk_125M;assignda1_wrt=clk_125M;assignda1_data=rom_data;assignda2_clk=clk_125M;assignda2_wrt=clk_125M;assignda2_data=rom_data;//DAoutputsinwaveformalways@(negedgeclk_125M)begin rom_addr<=?rom_addr?+1'b1;//The?output?sine?wave?frequency?is?122Khz//?rom_addr?<=?rom_addr?+?4?;??????????????//The?output?sine?wave?frequency?is?488Khz//?rom_addr?<=?rom_addr?+?128?;????????????//The?output?sine?wave?frequency?is?15.6Mhz????????????????????????? endROM?ROM_inst(.clka(clk_125M),//?input?clka.addra(rom_addr),//?input?[8?:?0]?addra.douta(rom_data)//?output?[7?:?0]?douta);PLL?PLL_inst(//?Clock?in?ports.clk_in1????(sys_clk????????),//?IN//?Clock?out?ports.clk_out1???(),//?OUT.clk_out2???(clk_125M???????),//?OUT//?Status?and?control?signals.reset??????(1'b0),//?IN.locked?????());endmodule
程序中通過一個PLL IP來產(chǎn)生125M的DA輸出時鐘,然后就是循環(huán)讀取存放在ROM中的1024個數(shù)據(jù),并同時輸出到通道1和通道2的DA數(shù)據(jù)線上。程序中可以通過地址的加1,加4, 或者加128來選擇輸出不同的頻率的正弦波。
4. 實驗現(xiàn)象
1)將AN9767模塊插入開發(fā)板擴展口J8,注意1腳對齊,不要插錯、插偏,不能帶電操作。
2)用我們提供的BNC線連接AN9767的輸出到示波器的輸入如下圖,然后開發(fā)板上電,下載程序就可以從示波器上觀察從DA模塊輸出的模擬信號的波形了。
AN9767與開發(fā)板連接圖
3)示波器上看到的正弦波如下:
4)我們可以把程序中的地址修改成+4的方式,如下修改,這樣一個正弦波的輸出的點為256個,輸出的正弦波的頻率會提高4倍:
程序修改后,重新下載FPGA后,正弦波的頻率變高,示波器顯示的波形如下:
用戶也可以通過調(diào)節(jié)AN9767模塊上的可調(diào)電阻來改變2個通道輸出波形的幅度。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602982 -
正弦波
+關(guān)注
關(guān)注
11文章
642瀏覽量
55339 -
adc
+關(guān)注
關(guān)注
98文章
6495瀏覽量
544461 -
數(shù)模轉(zhuǎn)換
+關(guān)注
關(guān)注
3文章
107瀏覽量
28982 -
紫光同創(chuàng)
+關(guān)注
關(guān)注
5文章
85瀏覽量
27503
發(fā)布評論請先 登錄
相關(guān)推薦
評論