搜索
bottom↓
回复: 44

10M怎么分频成256K

[复制链接]

出0入0汤圆

发表于 2012-5-25 10:47:08 | 显示全部楼层 |阅读模式
想把10M的晶振频率分频为256K,有什么小数分频芯片吗?用PLL可以实现吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入663汤圆

发表于 2012-5-25 10:53:37 | 显示全部楼层
16倍频到160MHz然后625分频。

出0入442汤圆

发表于 2012-5-25 12:17:45 | 显示全部楼层
39分频就行了。那一点频率差别可以忽略。

出0入0汤圆

发表于 2012-5-25 12:37:55 | 显示全部楼层
查一下什么叫小数分频。

出0入0汤圆

发表于 2012-5-25 13:16:04 | 显示全部楼层
用DDS的相位累加器的原理也可以

出0入0汤圆

 楼主| 发表于 2012-5-28 09:26:46 | 显示全部楼层
①试了一下,用二楼说的似乎比较靠谱,之前考虑的是先对10M分频成100K在倍频成256K,用FPGA的PLL输入频率好像至少得5M,这样就不行了,按照二楼的先对10M倍频成160M,在对160M整数分频成256就正好了
②此处要求精度比较高,不能用39
③关于小数分频,参考一下人家的博客:http://www.cnblogs.com/sleepy/archive/2010/12/11/1903438.html,其中这个小数分频似乎也就是将16.11328125后面的0.11328125进行累加,然后平均来看是实现了小数分频,但是总觉得不理想
④DDS的相位累加器不知道是不是CrazyBingo博文中提到的那种,或者是③中博文中提到的,这个还没弄明白,还在继续Modelsim仿真看

出0入0汤圆

发表于 2012-5-28 09:27:52 | 显示全部楼层
可以                  !

出0入300汤圆

发表于 2012-5-28 10:28:58 | 显示全部楼层
module epm2210_01(
            //用于输入的I/O
            clk,
            rst,
            clkin,
            numerator,      //分子值
            denominator,    //分母值
            //分频器输出
            pulse      
            );

input clk;
input rst;
input clkin;
input [9:0] numerator;
input [9:0] denominator;
output pulse;
reg pulse;

  parameter HIGHTIME=10'd2;
wire [9:0] quotient;   //商
wire [9:0] remainder;  //余数
reg ina;
reg inb;
reg upclk;
reg counter_clkin;
reg [9:0] counter;
reg [9:0] divnum;
reg [9:0] sum;
reg flag;
reg [9:0] counter_pulseh;
wire [9:0] hightime;



assign quotient=(denominator)?numerator/denominator:10'h0;
assign remainder=(denominator)?numerator%denominator:10'h0;
assign hightime={1'b0,quotient[9:1]};
  //assign hightime=16'h1;
//save the prior and current state of clkin
always @(posedge clk or negedge rst)
    begin
    if(!rst)
        begin
        //numerator<=16'd25;
       // denominator<=16'd12;
        ina<=0;
        inb<=0;
        end
    else
        begin
        ina<=clkin;
        inb<=ina;
        end
    end


//check posedge pf clkin
always @(posedge clk or negedge rst)
    begin
    if(!rst) upclk<=0;
    else if(!inb&ina) upclk<=1'b1;
    else upclk<=0;
    end
//fre div counter
always @(posedge clk or negedge rst)
    begin
    if(!rst)
        begin
        counter<=0;
        end
    else if(counter==divnum) counter<=10'h0;
    else if(upclk) counter<=counter+1'b1;
    else counter<=counter;
    end
always @(posedge clk or negedge rst)
    begin
    if(!rst)
        begin
        sum<=0;
        flag<=0;
        end
    else if(counter==divnum)
        begin
        if((sum+remainder)>=denominator)        //分母
            begin
            sum<=sum+remainder-denominator;
            flag<=1;
            end
        else
            begin
            sum<=sum+remainder;
            flag<=0;
            end
        end
    end

always @(posedge clk or negedge rst)
    if(!rst) divnum<=0;
    else if(flag) divnum<=quotient+1'b1;
    else divnum<=quotient;
//counter_plush

always @(posedge clk or negedge rst)
    begin
    if(!rst) counter_pulseh<=hightime+10'h1;
    else if((counter==divnum)&&divnum) counter_pulseh<=0;
    else if(upclk) counter_pulseh<=counter_pulseh+1'b1;
    end
//pulse produce
always @(posedge clk or negedge rst)
    if(!rst) pulse<=1'b0;
    else if(counter_pulseh<=(hightime-1)) pulse<=1'b1;
    else pulse<=1'b0;

endmodule

出0入663汤圆

发表于 2012-5-28 11:05:36 | 显示全部楼层
lan_lingshan 发表于 2012-5-28 09:26
①试了一下,用二楼说的似乎比较靠谱,之前考虑的是先对10M分频成100K在倍频成256K,用FPGA的PLL输入频率好 ...

如果你是用FPGA内部PLL倍频,那么10M -> 160M是最方便的。
如果你不用FPGA,那么160M的PLL做起来可能比较困难,另一种方案就是10M先分频到1K,然后256倍频到256K,用4片74就可以实现。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-5-28 11:29:25 | 显示全部楼层
gzhuli 发表于 2012-5-28 11:05
如果你是用FPGA内部PLL倍频,那么10M -> 160M是最方便的。
如果你不用FPGA,那么160M的PLL做起来可能比较 ...

4046 PLL?相位噪声怎么样?

出0入663汤圆

发表于 2012-5-28 11:49:10 | 显示全部楼层
catvevs 发表于 2012-5-28 11:29
4046 PLL?相位噪声怎么样?

LZ没说要求相噪怎么样呀。
不过实话实说,HC4046的RC VCO对电源噪声非常敏感,256倍频后相噪肯定是很大的,远不如160倍频再625分频的方案。

出0入300汤圆

发表于 2012-5-28 12:33:28 | 显示全部楼层
相噪的位置也很重要呀,比如要想远于100kHz好,还是要求10k以内要好,做法也不一样。
要想象晶体振荡器那样一层一层下来是不现实的。毕竟是pll
我上面的小数分频不能用吗。当然吞脉冲以后的抖动是不可避免的。

出0入0汤圆

 楼主| 发表于 2012-5-28 14:52:33 | 显示全部楼层
gzhuli 发表于 2012-5-28 11:05
如果你是用FPGA内部PLL倍频,那么10M -> 160M是最方便的。
如果你不用FPGA,那么160M的PLL做起来可能比较 ...

用FPGA来倍频,的确方便多了,内部的IP核设置一下就OK了,如果不用FPGA似乎就要麻烦许多,在TI官网上找了几款倍频和分频的芯片:
①倍频的芯片CD4046(模拟的),这个应该和74HC4046差不多吧,但是对10M倍频程160M有点儿不适用了,10M的频率太高了点儿,如果先将10M的分频成1K,在倍频成256K,CD4046可以用,就如楼上说的引入了相位噪声,会影响到IF板的精度;CD54HC297/CD74HC297/CD74HCT297(数字的)这款还没大看明白,所以还在纠结这个倍频的芯片选择上
②分频的芯片CD4059A(CMOS Programmable Divide-by-“N” Counter),这个可配置的分频芯片,看文档说明配置挺灵活的

出0入663汤圆

发表于 2012-5-28 15:01:35 | 显示全部楼层
lan_lingshan 发表于 2012-5-28 14:52
用FPGA来倍频,的确方便多了,内部的IP核设置一下就OK了,如果不用FPGA似乎就要麻烦许多,在TI官网上找了 ...

干脆考虑用DDS吧,淘宝的AD9850白菜价,比你用FPGA划算多了。

出0入0汤圆

发表于 2012-5-28 15:30:07 | 显示全部楼层
直接一个1.024M或8.192Mhz或其他有源晶体分频不就行啦

出0入0汤圆

 楼主| 发表于 2012-5-28 15:47:44 | 显示全部楼层
温补晶振有这个频率的不好买啊

出0入0汤圆

发表于 2012-5-28 16:05:12 | 显示全部楼层
小数分频精度是可以的

出0入663汤圆

发表于 2012-5-28 16:28:40 | 显示全部楼层
lan_lingshan 发表于 2012-5-28 15:47
温补晶振有这个频率的不好买啊

12.8 19.2 24.576的TCXO都很好买呀。

出0入0汤圆

发表于 2012-5-28 16:29:47 | 显示全部楼层
基于PLL的有附加相位抖动

出0入300汤圆

发表于 2012-5-28 16:43:49 | 显示全部楼层
我感觉大家你一言我一语的楼主已然晕菜了.还是先打通2脉吧,到时候想出什么就出什么.

出0入0汤圆

 楼主| 发表于 2012-5-28 17:55:04 | 显示全部楼层
gzhuli 发表于 2012-5-28 16:28
12.8 19.2 24.576的TCXO都很好买呀。

不要求现货的就好买,因为这个许多生产TCXO的大多数都是国外的,一周之内拿不到现货,结果找的Connor-Winfield才找到,要一周之内拿到货的只有10M的,所以···

出0入663汤圆

发表于 2012-5-28 18:18:14 | 显示全部楼层
lan_lingshan 发表于 2012-5-28 17:55
不要求现货的就好买,因为这个许多生产TCXO的大多数都是国外的,一周之内拿不到现货,结果找的Connor-Win ...

有那么赶么?你这问题都研究3天了吧,还没个结论。
相噪要求高的话,依我看比较简单的就两条路,一个就是FPGA PLL倍频再分频,另一个就是DDS。

出0入300汤圆

发表于 2012-5-28 18:34:12 | 显示全部楼层
我手里有19.2温补150只,可以便宜点出,1ppm/-30 - +75

出0入0汤圆

发表于 2012-5-28 18:37:40 | 显示全部楼层
先10分频,然后再4分频。
10分频的器件,忘记器件型号了。

出0入300汤圆

发表于 2012-5-28 18:58:38 | 显示全部楼层
gzhuli 发表于 2012-5-28 15:01
干脆考虑用DDS吧,淘宝的AD9850白菜价,比你用FPGA划算多了。

老大,现在的白菜真的比9850贵多了.我现在十分想念一片89c51可以买5颗白菜的日子。

出0入0汤圆

发表于 2012-5-28 19:01:20 | 显示全部楼层
4017,可以10分频,74ls74四分频

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入663汤圆

发表于 2012-5-28 19:01:41 | 显示全部楼层
ibmx311 发表于 2012-5-28 18:58
老大,现在的白菜真的比9850贵多了.我现在十分想念一片89c51可以买5颗白菜的日子。 ...

你天天大鱼大肉的,还用怀念白菜什么价?

出0入663汤圆

发表于 2012-5-28 19:05:23 | 显示全部楼层
gaoxy2008 发表于 2012-5-28 19:01
4017,可以10分频,74ls74四分频

回帖先看帖,要是40分频可以这个帖子3天前就结了。

出0入300汤圆

发表于 2012-5-28 19:12:15 | 显示全部楼层
gzhuli 发表于 2012-5-28 19:01
你天天大鱼大肉的,还用怀念白菜什么价?

见笑见笑,都是小鱼小肉

出0入0汤圆

发表于 2012-5-28 20:17:49 | 显示全部楼层
gaoxy2008 发表于 2012-5-28 18:37
先10分频,然后再4分频。
10分频的器件,忘记器件型号了。

你的分频结果是10M/40 = 250k。楼主要求的是10M/256k = 39.0625

出0入0汤圆

发表于 2012-5-28 20:36:00 | 显示全部楼层
楼主要求的是10M/256k = 39.0625


1/0.0625 = 16.

a far simpler approach is to use your crystal to drive a frequency synthesizer that's programmed for Fcrystal * 16 / (39.0625 * 16).

there are many such chips, some requires mcu programming, others can be programmed and then run free. Try TI/ON for more information.

出0入0汤圆

发表于 2012-5-28 21:11:22 | 显示全部楼层
不好意思答错题了。

出0入0汤圆

发表于 2012-5-28 21:14:31 | 显示全部楼层
那就10M/10=1M,
1Mx16=16M
16M/10=1.6M
1.6M*4=6.4M
6.4M/10=0.64M
0.64M*4=2.56M
2.56M/10=256k

出0入0汤圆

发表于 2012-5-28 21:14:49 | 显示全部楼层
可以吗?

出0入0汤圆

发表于 2012-5-28 21:16:24 | 显示全部楼层
只不过要4片4016,4片74LS74,共8片芯片。

出0入0汤圆

发表于 2012-5-28 21:19:17 | 显示全部楼层
还想还是错了。74LS74是分频,相当于/2,要PLLx2才行。

出0入0汤圆

发表于 2012-5-28 21:20:40 | 显示全部楼层
谁能推荐一款4倍频的芯片?

出0入0汤圆

 楼主| 发表于 2012-5-29 09:00:21 | 显示全部楼层
gzhuli 发表于 2012-5-28 18:18
有那么赶么?你这问题都研究3天了吧,还没个结论。
相噪要求高的话,依我看比较简单的就两条路,一个就是 ...

正如你所说的,现在就是走这两条路,先用FPGA做出来,时间充裕在弄DDS,没想到ADI这方面的器件挺多的,有现成的Fractional-N PLLs,还得谢谢你的那个AD9850啊

出0入0汤圆

 楼主| 发表于 2012-5-29 09:19:21 | 显示全部楼层
millwood0 发表于 2012-5-28 20:36
1/0.0625 = 16.

a far simpler approach is to use your crystal to drive a frequency synthesizer tha ...

这个跟二楼的是一个道理啊

出0入0汤圆

 楼主| 发表于 2012-5-29 09:20:57 | 显示全部楼层
ibmx311 发表于 2012-5-28 18:34
我手里有19.2温补150只,可以便宜点出,1ppm/-30 - +75

但是要求的是0.5PPM······

出0入0汤圆

发表于 2012-5-29 09:44:02 | 显示全部楼层
LZ要求的256K信号相噪要到什么指标!

出0入300汤圆

发表于 2012-5-29 10:17:21 | 显示全部楼层
h572 发表于 2012-5-29 09:44
LZ要求的256K信号相噪要到什么指标!

看样子恐怕1k的地方至少要-150dbc

出0入663汤圆

发表于 2012-5-29 10:53:15 | 显示全部楼层
gaoxy2008 发表于 2012-5-28 21:14
那就10M/10=1M,
1Mx16=16M
16M/10=1.6M

说了回帖先看帖,不要梦呓般自言自语,真怀疑你是来混莫元的……
我在9楼已经给出类似的电路了,2片74HC390组成10000分频得到1kHz参考信号,74HC4046 VCO振荡频率范围约240~270kHz,经过74HC4040 256分频后和1kHz参考信号锁相,VCO输出频率就是256kHz了。
乘除法结合律是小学知识了,按你那方法倍频分频分几次来,10片74系列都搞不定。而且前面也说了,这个方法相噪大,楼主没法用。

出0入663汤圆

发表于 2012-5-29 10:58:51 | 显示全部楼层
ibmx311 发表于 2012-5-29 10:17
看样子恐怕1k的地方至少要-150dbc

感觉这个指标对于LZ来说有点mission impossible...

出0入0汤圆

发表于 2012-5-29 21:17:16 | 显示全部楼层
2片74HC390组成1250(5*5*5*5*2)分频,得8k,用8k做鉴相噪音会好点。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 09:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表