1,ad9516-4时钟芯片配置,通信协议为SPI接口协议,时序比较简单,重点是给该芯片寄出去写入合适的配置信息,让其正常工作
2,ad9516-4时钟芯片的外围电路中,环路滤波器的设计比较重要,看参考开发板或者芯片手册,选择合适的电阻电容值
3,在调试时,PFD参数可以更改,当配置正确,时序正确是,还是出不来理想的时钟信号时,可以改变PFD参数试一下,如:16M变为4M,4M变为1M,降低PFD值重新配置
4,写fpga程序的时候,可以将配置值存储在一个rom里,规划好地址空间,便于配置和检查更新等
5,附vhdl源代码,可供参考,rom配置信息请自己琢磨,可以交流
----AD9516_4������----
----Ŀ�ģ���AD9516_4�Ĵ���д���ݣ���������4·800M LVDSʱ���ź�----
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY AD9516_init IS
PORT(clk : in std_logic; -----for 16M
rst : in std_logic; -----reset signal ,low active,from pll0.
sdo : in std_logic; ----to read register
sclk: out std_logic; ---same as clk
cs : out std_logic; ---low active,to write or read
sdio: inout std_logic; ----to write register
sync : out std_logic; --manual synchronizations,not use when '1'
pd : out std_logic; --powndown,low active
ref_sel: out std_logic; --choose ref1,when '0';
refmon : in std_logic;
ld : in std_logic;
status : in std_logic;
AD9516_ready: out std_logic
);
END ENTITY;
ARCHITECTURE BEHAVE OF AD9516_init IS
signal AD9516_ready_tmp: std_logic;
signal cnt: integer range 0 to 1023; ----control address and cs output
signal address_c: std_logic_vector(9 downto 0); ----control rom output
signal clk_rom: std_logic; -----not as clk
signal cnt_cal: integer range 0 to 200000; ----need 8800*PDF cycles=140800Tclk
signal ld_rising: std_logic; ----ld ��һ��Ϊ��ʱ����10�����Ҹ�clk���ȶ�