天天看點

關于AD9516晶片的硬體設計和FPGA程式編寫心得

      最近在做一個項目,其中有涉及時鐘晶片AD9516的硬體設計和軟體程式設計,有些使用心得,供大家參考讨論。

      AD9516,這是一個由ADI公司設計的14路輸出時鐘發生器,具有亞皮秒級抖動性能,還配有片内內建鎖相環(PLL)和電壓控制振蕩器(VCO)。片内VCO的調諧頻率範圍為2.55 GHz至2.95 GHz。或者,也可以使用最高2.4 GHz的外部VCO/VCXO。關于資料的擷取:1.ADI公司的中文技術支援網站做的非常好,可參考AD9516_0的連結:http://www.analog.com/cn/products/clock-and-timing/clock-generation-distribution/ad9516-0.html#product-overview,好好看裡面的手冊和參考資料,基本就沒什麼問題;2.關于AD9516晶片的配置,可參考連結:http://forum.eepw.com.cn/thread/228366/1,裡面有相應的工具下載下傳和說明參考,建立在了解的基礎上就很簡單啦。

      AD9516有6路(3對)LVPECL輸出,4路(2對)LVDS輸出以及8路LVCMOS(每個LVDS可以作為2路LVCMOS)輸出。每對之間共享數值為1-32的分頻數值,是以,每對LVPECL或者LVDS輸出的時鐘頻率是相同的。LVPECL輸出可達1.6GHz,LVDS輸出可達800MHz,LVCMOS可達250MHz。輸入參考時鐘頻率和VCO工作頻率有如關系: Fvco=(Fref/R)*(P*B+A) 

     每路輸出還有單路的分頻因子(1-32)可以配置,通過參考時鐘的選擇,内部P、B、A寄存器以及每路分頻寄存器的配置,可以得到我們想要的時鐘。

     給出一個參考原理圖電路,和對應配置圖:

關于AD9516晶片的硬體設計和FPGA程式編寫心得
關于AD9516晶片的硬體設計和FPGA程式編寫心得

       原理圖繪制時需要重點注意LVPECL和LVDS輸出不同,需要接下拉電阻;還有REFSEL是對REF1和REF2的選擇接口,需要特别注意,畢竟硬體設計需要我們的細心O(∩_∩)O。

       在配置AD9516晶片時,我用的是XLINX的XC3S200AN,verilog語言,配置的流程主要是:1.根據手冊弄清各個接口的意義,比如同步接口,使能端等;2.搞清每個寄存器的含義,着重關注分頻寄存器;3.關注讀寫配置時序圖,寫出對應狀态機。

       關于分頻寄存器舉個例子:

關于AD9516晶片的硬體設計和FPGA程式編寫心得

          給每個寄存器指派,具體寄存器的含義參考手冊。

       Fvco=(Fref/R)*(P*B+A);  Fref=100M   ;     R=24’h0011_0A;R=10,P=16,B=15;

關于AD9516晶片的硬體設計和FPGA程式編寫心得
關于AD9516晶片的硬體設計和FPGA程式編寫心得

       A1=0->2.4G

       Divider0=24’h01E1_01(3分頻)----->800M

       LVPECL : 24’h0190/3/6_11(4分頻)----->200M;33(8分頻)----->100M;55(12分頻)----->66.7M

轉載于:https://www.cnblogs.com/yinknight/p/6947053.html