在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: mustangyhz

[原创] PLL学习历程—敬请高手指点

[复制链接]
 楼主| 发表于 2010-10-22 14:30:02 | 显示全部楼层
回复 41# wuleilei


    应该可以啊,做瞬态仿真有什么不可以的?我准备在Cadence里做晶体管级的仿真,瞬态仿真+FFT。能把你的电路发给我学习学习吗?我想初学者都是仿别人的电路,没有什么保密的必要吧?:)期待!
 楼主| 发表于 2010-10-22 15:04:31 | 显示全部楼层
本帖最后由 mustangyhz 于 2010-12-10 08:28 编辑

我的QQ:52306080,广邀对PLL感兴趣的朋友!
 楼主| 发表于 2010-10-26 08:58:31 | 显示全部楼层
回复 36# mustangyhz

找到simusyn了,但是没有M文件,有些参数不知道什么意思,需要的下吧。 Simusyn.rar (79.37 KB, 下载次数: 68 )
 楼主| 发表于 2010-10-28 10:47:38 | 显示全部楼层
真是惭愧,我看了很多文章,还是没有理解一个累加器为什么可以看成一个一阶sigma-delta调制器,有没有最最基础,最容易理解的资料给我看看?:)
 楼主| 发表于 2010-11-23 20:48:58 | 显示全部楼层
实验室晚上断电,我的仿真总是不能完成,无法验证。最近学了下verilog、verilogA、verilogams,安装了IUS8.2,学会了AMS混合仿真,建了一个简单的PLL模型,仿真结果一般。
参数

滤波器
77p
400p44k

电荷泵
0.05m;

分频器
200分频

VCO  
kvco = 210000k;



锁定于95us左右


plltop.JPG 总的原理图 out.JPG 控制电压 各端口信号.JPG 放大的各端口波形总的来看,锁定时间有点长。锁定后,相位没有锁定,频率锁定了,问题出在哪还不知道
plltop.JPG
out.JPG
各端口信号.JPG
 楼主| 发表于 2010-11-23 20:50:59 | 显示全部楼层
想进一步用晶体管管级电路替换verilog模块,但是遇到elaborate问题,无法解决,详情见贴
http://bbs.eetop.cn/thread-276227-1-1.html
 楼主| 发表于 2010-11-23 22:05:06 | 显示全部楼层
verilog代码 listing02-09.tar (20 KB, 下载次数: 67 )
发表于 2010-11-24 09:07:52 | 显示全部楼层
PM不够,需要把77P的电容改道35p 试试。

相位不锁定你把CP和VCO的电路发出来看看。
 楼主| 发表于 2010-11-24 11:08:46 | 显示全部楼层
回复 49# ipmsn5
感谢ipmsn5的关注
我做的不是晶体管级电路的仿真,是verilog建模,参考的是desigers-guide.org上的一个代码,做了些简单修改:
`timescale 1ns / 1ps
module vco (out, ps, ns);                          //电压控制振荡器器
    parameter real f0 = 1200000k;   
    parameter real kvco = 210000k;  
    parameter real rin= 2000k from (0:inf);
    output out;
    electrical ps, ns;
    reg out;
    logic out;
    real vin;
    initial out = 0;
    always begin
vin = V(ps, ns);
#(0.5e9 / (f0 + kvco * vin))
out = ~out;
    end
    analog I(ps, ns) <+ V(ps,ns)/rin;
endmodule

`timescale 10ps / 1ps
module fd (out, clk, reset);                 //分频器200分频
    input clk, reset;
    output out;
    wire out;
    reg q;
    integer i;
    always @(negedge reset) begin
i = 0;
q = 0;
    end
    always @(posedge clk) begin
if (~reset) begin
     i = i + 1;
     if (i == 100) begin
  q = ~q;
  i = 0;
     end
end
    end

`timescale 10ps / 1ps
module pfd (qinc, qdec, active, ref, reset);   //鉴相器
output qinc, qdec;
    input reset, active, ref;
    wire fv_rst, fr_rst;
    reg q0, q1;
    assign fr_rst = reset | (q0 & q1);
    assign fv_rst = reset | (q0 & q1);
    always @(posedge active or posedge fv_rst) begin
     if (fv_rst) q0 <= 0; else q0 <= 1;
    end
    always @(posedge ref or posedge fr_rst) begin
     if (fr_rst) q1 <= 0; else q1 <= 1;
    end
    assign qinc = q1;
    assign qdec = q0;
endmodule

`timescale 10ps / 1ps
module cp (pout, nout, inc, dec);                         //电荷泵
    parameter real cur = 0.05m; // output current (A)
    input inc, dec;
    electrical pout, nout;
    real out;
    analog begin
@(initial_step) out = 0.0;
if (dec && !inc)
     out = -cur;
else if (!dec && inc)
     out = cur;
else out = 0;
I(pout, nout) <+ -transition(out, 0.0, 10n, 10n);
    end
endmodule
在电荷泵和VCO之间加了一个低通滤波器,一个单独的电容(77PF),与电容(400pf)电阻(44k)串联之路并联。【这些值是用ADS优化出的结果】
 楼主| 发表于 2010-11-24 11:16:56 | 显示全部楼层
不好意思的问下,PM不够的PM是什么意思?:)锁定时间太长是因为我的初始频率设得太低的缘故,我改成2.3GHz,锁定时间基本符合ADS的仿真结果了。 lock time.JPG
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-5-17 06:00 , Processed in 0.027316 second(s), 7 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表