完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
特性:
VCO频率范围:1750Mhz~2250Mhz,6对LVPECL(最大输出频率1.6Ghz)输出和4对LVDS输出(800Mhz)。 内部结构: 如下图所示,常用引脚说明: REF1:参考输入1, REF2:参考输入2, REF_SEL:选择是参考输入1或者参考输入2 LF:环路滤波器输出,使用内部VCO时使用 CLK:外部VCO输入 SYNC:同步输入,低有效,如果不同步,直接拉高。 REFMON:参考的输出,详细看datasheet STATUS:状态输出,详细看datasheet LD: PLL状态指示,详细看datasheet。 需要用的工具 AD9516_17_18 Evaluation Software.exe AD9516_17_18EvalSetup1.1.0.zip 使用步骤 软件界面如下: 输入你的参考时钟,我以我的自己的例子来讲解哈。 1我使用了REF1=61.44Mhz,那么在REF1中输入61.44,并选择为输入(点击黄色块)。 2配置N分频和R分频,这个要稍微计算下咯。以R=1为例。VCO的频率范围为1750Mhz~2250Mhz,则N的范围为1750/61.44~2250/61.44即28.48~36.6,则可选的值为29~36 考虑到我的输出,选择N=32,同时选择内部VCO作为N分频的输入。 3根据需要配置输出,并选择PLL MODE 为NormOp 4导出配置文档,导出的文档格式为stp格式,可以直接用记事本打开。 5查看配置文档,找出变化了寄存器值(也可以不找出,将全部寄存器值写进去也可以)。 配置注意事项 在配置完成后注意校准VCO。 示例如下: ——回复可见—— module Control_AD9516( input CLK, input Reset_n, input Send_Busy, // input AD9516_LD, output reg[23:0]Dataout, output reg AD9516_SYNC, output reg Start_Sig ); /***************************************/ parameter R0_R =24'h00003C; //soft reset parameter R0 =24'h000018; parameter R10 =24'h00107C; //1100 power on parameter R11 =24'h001101; // R=4 parameter R14 =24'h001404; // B=16 N=16*8=128 parameter R16 =24'h001604; // mode 8 / 9 parameter R17 =24'h001700; // status = N divider output parameter R18 =24'h001807; //initial parameter R18_R =24'h001806; //Reset VCO calibration parameter R1B =24'h001BA0; //open VCO frequency monitor and Ref1 frequency monitor parameter R1C =24'h001C02; //select ref1 power on parameter RF0 =24'h00F008; //out0 output V=780mV 1000 parameter RF1 =24'h00F108; //out1 outupt V=780mV parameter RF2 =24'h00F208; //out2 outupt V=780mV parameter RF3 =24'h00F30B; //out3 Total power down 1011 parameter RF4 =24'h00F40B; //out4 Total power down 1011 parameter RF5 =24'h00F508; //out5 output V=780mV parameter R140 =24'h014042; //out6 output I=3.5MA parameter R141 =24'h014143; //out7 power down parameter R142 =24'h01425a; //out8 COMS output parameter R143 =24'h014343; //out9 power down parameter R190 =24'h019011; // out0 & out 1 divider 4 get 245.76Mhz parameter R191 =24'h019100; parameter R193 =24'h019300; // out 3 divider 2 get 491.52Mhz parameter R196 =24'h019611; // out 5 divider 4 get 245.76Mhz parameter R199 =24'h019911; // out 6 divider 4 get 245.76Mhz parameter R19B =24'h019B00; parameter R19C =24'h019C20; parameter R19E =24'h019E11; //out 8 divider 4*4 get 61.44Mhz parameter R1A0 =24'h01A011; parameter R1E0 =24'h01E000; //VCO divider 2 get 983.04Mhz parameter R1E1 =24'h01E102; //Select VCO as source CLK parameter R232 =24'h023201; //updata all Reg /***************************************/ reg [5:0]count; reg flag; //reg [2:0]count_sync; /***************************************/ always @ (posedge CLK or negedge Reset_n) if(!Reset_n)begin Start_Sig <= 1'b0; count <= 6'd0; flag <= 1'b0; Dataout <= 24'd0; AD9516_SYNC <= 1'b1; // count_sync <= 3'd0; end else if (count < (6'd35))begin AD9516_SYNC <= 1'b1; if((!Send_Busy) && (!flag))begin flag <= 1'b1; Start_Sig <= 1'b1; case (count) 0:begin Dataout <= R0_R; end //soft reset 1:begin Dataout <= R0;end //clear reset //PLL config 2:begin Dataout <= R10; end //PPL power on 3:begin Dataout <= R11; end //VCO =1966.08Mhz; N =128; 4:begin Dataout <= R14; end //REF1 =61.44Mhz; R=4; 5:begin Dataout <= R16; end 6:begin Dataout <= R17; end 7:begin Dataout <= R1B; end 8:begin Dataout <= R1C; end //output Config 9:begin Dataout <= RF0; end //out 0 10:begin Dataout <= RF1;end //out 1 11:begin Dataout <= RF2;end //out 2 12:begin Dataout <= RF3;end //out 3 13:begin Dataout <= RF4;end //out 4 14:begin Dataout <= RF5;end //out 5 15:begin Dataout <= R140;end //out 6 16:begin Dataout <= R141;end //out 7 17:begin Dataout <= R142;end //out 8 18:begin Dataout <= R143;end //out 9 //output divider 19:begin Dataout <= R190;end 20:begin Dataout <= R191;end 21:begin Dataout <= R193;end 22:begin Dataout <= R196;end 23:begin Dataout <= R199;end 24:begin Dataout <= R19B;end 25:begin Dataout <= R19C;end 26:begin Dataout <= R19E;end 27:begin Dataout <= R1A0;end //VCO Config 28:begin Dataout <= R1E0;end 29:begin Dataout <= R1E1;end 30:begin Dataout <= R232;end //VCO calibraion 31:begin Dataout <= R18_R;end 32:begin Dataout <= R232; end 33:begin Dataout <= R18; end 34:begin Dataout <= R232; end endcase end if (flag)begin flag <= 1'b0; Start_Sig <=1'b0; count <= count + 1'b1; end end endmodule 遇见的问题 1、 输出频率有偏差,但频率稳定(PLL锁定了),检查参考频率,参考频率的极小偏差都有可能导致输出频率偏差 2、 输出为直流,检查SYNC电平,应该为高。 |
|
相关推荐
2个回答
|
|
|
|
|
|
我在配置的时候,总是无法锁定。还没找到原因
|
|
|
|
只有小组成员才能发言,加入小组>>
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1284 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1883 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4228 浏览 2 评论
8980 浏览 1 评论
3128 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1394浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1634浏览 2评论
1590浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1284浏览 2评论
194浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-16 23:34 , Processed in 0.847418 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号