官方論壇
官方淘寶
官方博客
微信公眾號
點擊聯系吳工 點擊聯系周老師
明德揚就業班現正火熱招生中,課程主要傳授至簡設計法,100天的課程足以滿足崗位需要,包就業推薦,詳情點擊咨詢...

高速AD項目學習筆記(個人珍藏)

發布時間:2019-11-15 瀏覽量:78


黃同學高速AD項目學習筆記


本文為明德揚原創文章,轉載請注明出處!作者:黃同學

以下是我在做高速AD項目的調試經驗,現在分享出來,希望可以給大家提供一定的幫助。如果發現sync一直沒有同步上,即一直為低,那么就需要檢查同步條件,具體操作如下。

1、檢查是時鐘的正確性

1)需要使用示波器測量時鐘的正確性,示波器設置如下


2)表筆設置,使用前需要自行校準表筆,校準方法這里不再贅述,不會的同學可以在網上搜索方法。

 

3)測量點

接著對參考時鐘和同步時鐘進行測量,這兩個測量點都是AD9516AD9144的時鐘,給FPGA的時鐘需要直接測量芯片引腳,比較危險,不建議測。主要測量有無輸出和時鐘頻率是否正確。

AD9516的配置軟件生成的寄存器值不一定正確,部分寄存器的值需要自行修改。之前就遇到過同步時鐘的輸出頻率不對的問題,修改了AD95160x19B寄存器的值,問題得到解決。分頻系數=M+N+2,其它寄存器的分頻系數計算方式與此相同。

參考時鐘在開發板上的位置如下:

 

同步時鐘在開發板上的位置如下:


 

2AD9144的寄存器正確設置

ACE軟件生成出來的值基本是正確的,但是要注意一下幾點:

1)正確設置DAC PLL,如下圖所示,其中Ref_clk = 參考時鐘;Fin = 這個時鐘作用不清楚;FDAC = DAC每通道的實際工作頻率,這個值包含插值。

 

注意:要點應用


2)正確設置采樣率如下圖所示,

因為乘法器輸出的頻率范圍是6-12GHZ,所以DAC的工作頻率要≥375MHZ,如果不夠,可以通過增加插值的方式來提高頻率,同時也可以不用PLL(此方法未測試)


 


AD9144對寄存器的配置順序有要求,具體順序可以閱讀數據手冊或者看明德揚潘老師的上位機代碼。配置的順序特別注意一個0X300的寄存器,這個寄存器第一次配置要設置為0,第二次配置設置為1

AD9144的要在AD9516配置完成之后等待一段時間才能開始配置,具體等待輸出時鐘穩定的時間可以看AD9516的數據手冊,程序里面的延時是調出來的。AD9144的寄存器的配置速度不能太快,不然也會出現無法同步的現象,具體原因未知,程序里面的延時也是調出來的。

3IP核設置

公式計算和IP核設置的F,S,K,Lane,等參數是由選擇的DAC工作模式確定的,其他參數如SCR等,需要怎么設置在AD9144數據手冊里面第50頁(不同版本的數據手冊頁數可能會有偏差)開始有詳細介紹。   IP核是高電平復位的,這里要注意:如果復位住了這幾個會一直等于0,并且無法同步


4AXI總線配置

具體配置方法參考明德揚潘老師的文檔,經過一次簡單的測試,這個可以不配置也能正常工作,具體沒有詳細測試。

5、時鐘

IP核的tx_core_clk需要PLL產生一個合適的時鐘并且經過BUFGJESD204B IP核使用;Drp_clk動態調整時鐘我這里沒有用到,但是必須給一個時鐘,并且要和IP核里面設置的頻率相同;AXI時鐘頻率和IP核內設置的相同即可。

6、參數計算

參考明德揚潘老師的文檔,特別注意是要 * 還是 \

舉個例子:20MHZ正弦波,16個點組成一個正弦波,2通道,16bit,插值=2(使用DAC PLL的時候頻率必須≥375MHZ,這例子速率不夠所以要X2)。

1)有效傳輸:20MHZ*16個點*2通道*16bit=10.24Gbit

2)實際經過8b/10b編碼的速率是:10.24Gbit * 1.25=12.8Gbit這就是4Lane總共要傳輸的速率;

3)單通道的DAC采樣率(sample_clock):20MHZ*16個點=320MHZ(因為插值=2所以這個值填入ACE的時候要*2=640MHZ,計算的時候依舊使用320MHZ);

4)幀頻率(frame_clock):sample_clock / S=320 / 1 = 320MHZS值由DAC模式決定);

5)字符頻率(character_clock:frame_clock*F=320MHZ*1=320MHZF值由DAC模式決定);

6)Bit頻率(bit_clock:character_clock*10=320MHZ*10=3.2Gbit

7)多幀頻率(multi_frame_clock:frame_clock / K=320MHZ / 32 =10MHZKDAC模式決定);

8)同步時鐘(sysref_clock:multi_frame_clock / R =5MHZR=2),AD9144數據手冊規定,同步時鐘的最大值是:fdata / (K * S)  fdata是哪個沒有細看;

9)設置時鐘(device_clock:multi_frame_clock * D =80MHZD8);

10)Ref_clk:每條Lane的速率/ 40 =3.2Gbit / 40 = 80MHZ

11)device_clock要≥ref_clk,最好是等于;

12)實際上設置的頻率是160MHZ主要是考慮到插值=2,實際上應該設為80MHZ也能工作(未測試)。

7、實現同步

經過上面的設置應該就能同步上了,具體表現為tx_sync信號持續為高電平

8DAC輸出波形

必須拉高DAC的輸出使能引腳,不然會沒有波形輸出!!!

AD9144是電流型輸出DAC,并且板子上使用變壓器進行放大,所以,不能輸出直流波形只能輸出交變的波形,目前已經測試能輸出正弦波。三角波 和 方波可能無法輸出或者輸出失真。

9DAC的數據映射

用一個示例展示給大家。

2路DAC輸出 4調lane

波形數據是:

30FB

5A81

7640

7FFF

7640

5A81

30FB

0

CF05

A57F

89C0

8001

89C0

A57F

CF05

0

 

輸入到IP核的數據(tx_tdata00057fc000cfa58900057fc000cfa589

 

00 05 7f c0

00 cf a5 89

00 05 7f c0

00 cf a5 89

 

2 DAC(順序得看數據手冊)

00        05     7f       c0     lane 3

00        cf     a5       89     lane 2

 

0x0000  0xcf05  0xa57f  0x89c0

 

 

1 DAC(順序得看數據手冊)

00       05      7f      c0     lane 1

00       cf      a5      89     lane 0

 

0x0000  0xcf05  0xa57f  0x89c0

 

以上就是高速AD項目中實現sync同步的小經驗,不同情況遇到的問題有所不同,希望我的思路可以給大家帶來幫助,同學們也可以在留言評論中與我進行討論。

免費申請試聽課程

  •   
  •   
  •   
  •  
  • 提  交
  • FPGA教育領域第一品牌
  • 咨詢熱線:020-39002701
  • 技術交流Q群:97925396
    开奖直播中彩网