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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: mustangyhz

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

[复制链接]
发表于 2010-11-25 09:02:52 | 显示全部楼层
你看看这个吧,

是硕士还是博士,

硕士的话就不要闹这个了,难度有点大,

我老板带我做这个东西两年才学会,所以硕士的话时间上也来不及。

lec23 Design of Fractional-N Frequency Synthesizers and Bandwidth Extension Techniques.pdf

2.43 MB, 下载次数: 267 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2010-11-25 09:17:17 | 显示全部楼层
回复 63# ipmsn5

你给我的这个pdf是MIT的开放课程,high speed communication circuits,网上可以下它的视频课件,但是国内下不了,谁有吗?
 楼主| 发表于 2010-11-25 14:12:21 | 显示全部楼层
A 1.1-GHz CMOS Fractional-N Frequency Synthesizer with a 3-b Third-Order delta-sigma Modulator  z这篇文章中提到小数分频比设置成1/2(2)+1/2(7)[括号表示指数],第16bit用来产生抖动【伪随机序列】,所以实际小数分频比1/2(2)+1/2(7)+1/2(16),这一段怎么理解,体现在DSM的输入上应该怎么设置?
 楼主| 发表于 2010-11-25 20:44:28 | 显示全部楼层
回复 65# mustangyhz


    我个人理解是:16bit输入,输入值为【0100 0010 0000 0001】
发表于 2010-11-25 21:57:47 | 显示全部楼层
小数分频我也不懂,正在看,共同学习
 楼主| 发表于 2010-11-26 15:23:31 | 显示全部楼层
以前的那个整数分频我又仿了下,结合了行为仿真时的参数设置,改正了《Design Methodology for RF CMOS Phase Locked Loops》书上的一个错误【电荷泵的控制信号接反了】,原计划仿真40us,可恶实验室停电,在27个us停下来了,只看到了锁定的趋势,以后有空闲的时候再仿算了,反正也没有什么意义,还是得研究小数分频。先将这不怎么样的结果传上来,有点点问题也请大家帮我分析分析:
1、控制电压的变化趋势
01.JPG
2、参考频率和反馈分频后的比较
02.JPG
03.JPG

跟行为级仿真结果一样,似乎是频率锁定但是相位没有锁定,另外输出的占空比不是50&【分频系数2*2*5*2*5=200】应该不影响输出吧,相位比较时是看上升沿,与下降沿无关。但怎么是下降沿对其了,而不是上升沿对其?
3、电荷泵控制电压
04.JPG
05.JPG
发表于 2010-11-26 19:44:10 | 显示全部楼层
感謝各位大大的經驗分享!謝謝大大 下載來試試
 楼主| 发表于 2010-11-26 20:57:35 | 显示全部楼层
本帖最后由 mustangyhz 于 2010-11-27 08:31 编辑

今天看了一个单环、多位量化的sigma delta modulator 的verilog代码,总算大概明白了这个玩意是什么意思,但是还是有几个地方没有看明白,请高手指教
模型
z.JPG
仿真输出
out.JPG
代码

module modulator(clk, rst, k_in, v_out, v_out_offset);

input clk, rst;

input [23:0] k_in;

output [3:0] v_out, v_out_offset;

reg [3:0] v_out,v_out_offset;

reg [23:0] D1, D2, D3;

wire [23:0] sum1, sum2, sum3, sum4, sum5, sum6, sum7, v_fd, v_fd_neg;

assign sum1 = k_in + v_fd_neg;减量化输出=加“量化输出”的补码

assign sum2=sum1 + D1;

assign sum3=D1 + D2;

assign sum4=D2 + D3;

assign sum5=D2 + {D2[23],D2[23:1]};1.5倍D2

assign sum6={D1[22:0],D1[0]} + {D3[23],D3[23:1]} +sum5;2倍D1+0.5倍D3+1.5倍D2

assign sum7=sum6[23:19] + 1'b1;取高5位量化,低位去抖

always@(posedge clk or posedge rst) D触发器赋值

begin
if(rst) D1<=24'h0;

else D1<=sum2;

end

always@(posedge clk or posedge rst)D触发器赋值

begin
if(rst) D2<=24'h0;

else D2<=sum3;

end

always@(posedge clk or posedge rst)D触发器赋值

begin
if(rst) D3<=24'h0;

else D3<=sum4;

end

always@(posedge clk or posedge rst)

begin
if(rst)输出初始化

begin

v_out<=4'b0000;

v_out_offset<=4'b1000;不稳定问题?

end

else
begin

v_out<=sum7[4:1];量化结果输出

v_out_offset<=sum7[4:1]+ 4'b1000;加偏移【目的何在?】的量化结果输出

end

end

assign v_fd=~sum7[4:1]+1'b1;量化结果【5位的高四位】求补码

assign v_fd_neg={v_fd[3:0],20'h00000};低位取反加1在上一行已经实施

endmodule

module test;

reg clk;

reg rst;

reg [23:0] k_dth;

reg [31:0] bout_sum, clk_sum, averange;

wire [3:0] bout, bout1;

modulator M1(clk, rst, k_dth, bout1, bout);

always #2 clk = ~clk;

initial

begin
bout_sum = 25'b0;

clk_sum = 25'b0;

averange = 25'b0;

clk = 1'b0;

k_dth = 24'b0;

rst = 1'b1;

#100000 k_dth = 24'b000000100000000000000000;rst=1'b1;

#1 rst=1'b0;

#100000 k_dth = 24'b000001000000000000000000;rst=1'b1;

#1 rst=1'b0;

#100000 k_dth = 24'b000010000000000000000000;rst=1'b1;

#1 rst=1'b0;

#100000 k_dth = 24'b000010000000001000000000;rst=1'b1;

#1 rst=1'b0;

#100000 k_dth = 24'b000100000000000000000000;rst=1'b1;

#1 rst=1'b0;

#100000 k_dth = 24'b001000000000000000000000;rst=1'b1;

#1 rst=1'b0;

#100000 $stop;

end

always@(posedge clk or posedge rst)

begin
if (rst)

begin

bout_sum = 25'b0;

clk_sum = 25'b0;

averange = 25'b0;

end

else

begin

bout_sum = bout_sum + bout - 8;【减去加的偏移】

clk_sum = clk_sum + 1;

averange = {bout_sum,20'b0}/clk_sum;【补齐了后面的20位】

end

endendmodule
代码部分我有两处不明白:
1、assign sum7=sum6[23:19] + 1'b1; 这个应该是取高5位做粗略量化的意思吗?最低位加一是产生伪随机序列的意思吗?好像有篇文章中提过,有详细介绍这个的文章吗?
A 1.1-GHz CMOS Fractional-N Frequency Synthesizer with a 3-b Third-Order SDM:
The fractional division ratio is set to (1/4+1/2(7))and the 16th bit is used for dithering.【太简单了,看不懂啊:)】
2、 v_out_offset<=4'b1000;  v_out_offset<=sum7[4:1]+ 4'b1000;这个我好像是看到一篇文章中提过什么防止边沿不稳定性问题
CMOS Fractional-N Synthesizers Design for High Spectral Purity and Monolithic Integration
. In spite of the stability enhancement an  input  region for which the  modulator becomes  unstable exists at
the edges of the input range. Therefore, a 5-bit quantization  is applied, by merely isolating the 5
MSBs, although only 4 output bits are needed to control the prescaler moduli. By offsetting the
input by “1000”, the needed 4-bit output range is located in the middle of the total output range.
The resulting output bits are mapped to  their 4-bit equivalent by  taking only the  last 4 of the 5
MSBs {M1, M2, M3, M4} and by inverting Ml, i.e. a subtraction by 8.  As can be seen, the unstable input regions are avoided.

谁能帮我详细解释下吗?看得不怎么明白,输入边沿存在不稳定性问题是什么意思?然后和代码中一样,输出前加8【好像对应量化前】,量化后又减8,意义到底何在?

 楼主| 发表于 2010-11-26 21:03:49 | 显示全部楼层
回复 68# mustangyhz


    补一个谱分析图:公式-dft-26.85u-26.95u-1024-绘图-公式-db20-绘图


dft.JPG

 楼主| 发表于 2010-11-27 18:34:03 | 显示全部楼层
本帖最后由 mustangyhz 于 2010-11-27 18:35 编辑

回复 70# mustangyhz
v_out_offset<=sum7[4:1]+ 4'b1000
......
bout_sum = bout_sum + bout - 8;//bout<=v_out_offset
这个好像是针对补码操作的,0110(6)+1111(-1)=0110+1111+1000-8=0110+0111-8=6+7-8=5,是这个意思吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-20 20:24 , Processed in 0.032078 second(s), 7 queries , Gzip On, Redis On.

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