搜索
bottom↓
回复: 17

怎么解决CPLD时钟歪斜问题,可以给出具体的方法吗?

[复制链接]

出0入0汤圆

发表于 2012-7-28 23:42:14 | 显示全部楼层 |阅读模式
用一片EPM240,全局时钟1MHZ,做12路时序输出波形时用到了12个15位的定时器,由于资源限制,我将1MHZ时钟50分频后作为其中8路时序控制的时钟,另外2路仍用1MHZ时钟,结果采用分频的二次时钟作为触发时钟的8路时序输出波形总是随机的缺少一个周波,而另两路用1MHZ时钟路触发得到的波形没有发现丢失的情况,我觉得是由于二次时钟歪斜造成计数过程数据丢失而导致时序波形不正确的,请问大家在设计时序过程中出现过类似的问题吗?怎么来解决?我如果把1MHZ晶振换成20K晶振可以解决此问题吗?有20K的有源晶振吗??

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

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

出0入0汤圆

发表于 2012-7-29 08:35:33 | 显示全部楼层
应当是分频计数器写的不好,1MHz很慢了,根本不用考虑啥歪斜

出0入0汤圆

发表于 2012-7-29 08:40:10 | 显示全部楼层
ls有理                        

出0入0汤圆

 楼主| 发表于 2012-7-29 09:58:04 | 显示全部楼层
NJ8888 发表于 2012-7-29 08:35
应当是分频计数器写的不好,1MHz很慢了,根本不用考虑啥歪斜

分频的程序如下,可以指点一下吗?谢谢。
reg [4:0] counter = 5'b00000;

always @(posedge CLK)   //clk --1MHZ--ius
begin
        if(counter==24) //
            counter <= 0;
          else
            counter <= counter+1;
          end

reg CLK_K = 1'b0 ;
always @(posedge CLK)

    begin
        if(counter==24) //
            CLK_K <= ~CLK_K;///分频,CLK_K=CLK/50---50us
        else
            CLK_K <= CLK_K ;
    end

出0入442汤圆

发表于 2012-7-29 09:58:46 | 显示全部楼层
知道为什么吗?不是时钟skew,而是你的分频有问题,直接使用计数器产生的时钟是不可靠的,必须使用寄存器输出。

出0入0汤圆

 楼主| 发表于 2012-7-29 10:04:28 | 显示全部楼层
wye11083 发表于 2012-7-29 09:58
知道为什么吗?不是时钟skew,而是你的分频有问题,直接使用计数器产生的时钟是不可靠的,必须使用寄存器输 ...

我把分频的程序贴上了,然后把分频CLK_K作为后面程序的时钟,谢谢您的指点,怎么用寄存器输 出?对这不是很懂,可以指点一下吗?
            

出0入0汤圆

 楼主| 发表于 2012-7-29 11:50:23 | 显示全部楼层
wye11083 发表于 2012-7-29 09:58
知道为什么吗?不是时钟skew,而是你的分频有问题,直接使用计数器产生的时钟是不可靠的,必须使用寄存器输 ...


用CLK_K做为后面模块的时钟,上升沿触发,always @(posedge CLK_K),有什么不对的吗?

出0入0汤圆

发表于 2012-7-29 13:07:29 来自手机 | 显示全部楼层
计数器就是寄存器输出的,实在不行,可以考虑1mhz作时钟,20khz作时钟使能,但是分频的时候20khz的占空比不能用1:1,其高电平只能持续一个1mhz周期

出0入0汤圆

 楼主| 发表于 2012-7-29 13:26:04 | 显示全部楼层
zkf0100007 发表于 2012-7-29 13:07
计数器就是寄存器输出的,实在不行,可以考虑1mhz作时钟,20khz作时钟使能,但是分频的时候20khz的占空比不 ...

通过quartus II波形仿真,时序均正确,但是一到设备上测波形,示波器就可以观察到少半个周波,而且出现的时间是没有规律的,偶发的,第一次用CPLD作时序就出现这样的问题,真搞不明白问题出在哪里?是因为分频程序有问题吗?

出0入0汤圆

发表于 2012-7-29 15:35:51 | 显示全部楼层
那是有点神奇,这样分频也没什么不妥啊,你也可以用内部的pll分频

出0入0汤圆

 楼主| 发表于 2012-7-29 15:45:55 | 显示全部楼层
zkf0100007 发表于 2012-7-29 15:35
那是有点神奇,这样分频也没什么不妥啊,你也可以用内部的pll分频

epm240内部有PLL吗?如何使用PLL产生20KHZ的时钟?谢谢指点。

出0入0汤圆

发表于 2012-7-29 15:57:53 | 显示全部楼层
mrbpost 发表于 2012-7-29 15:45
epm240内部有PLL吗?如何使用PLL产生20KHZ的时钟?谢谢指点。

没有PLL的

出0入0汤圆

发表于 2012-7-29 16:03:33 | 显示全部楼层
mrbpost 发表于 2012-7-29 11:50
用CLK_K做为后面模块的时钟,上升沿触发,always @(posedge CLK_K),有什么不对的吗? ...

建议不要这么用,建议直接使用clk,试试下面这样怎么样:
always @ (posedge clk)
if(分频条件)
      计数器<=计数器+1'b1;
else begin
       要使用分频的部分;
       计数清零;
       end

出0入0汤圆

发表于 2012-7-29 16:35:03 | 显示全部楼层
计数器<=计数器+1'b1;

然后计数器的某一位拉出来   这样只能实现2的N次方分频
还有任意整数分频,你看下《深入浅出玩转FPGA》
时钟用起来很有讲究的

出0入0汤圆

发表于 2012-7-29 20:57:59 | 显示全部楼层
always @(posedge CLK)   //clk --1MHZ--ius
begin
        if(counter==49) //
            counter <= 0;
          else
            counter <= counter+1;
          end

reg CLK_K = 1'b0 ;
always @(posedge CLK)

    begin
     
        if(counter>=24) //
            CLK_K <= 1'b0;///分频,CLK_K=CLK/50---50us
        else
            CLK_K <= 1'b1 ;
    end



我看你们的技术好差。哈哈。时钟歪斜指的是两个寄存器之间的时钟偏差问题。cpld的布线延时是固定的,我用过的ep240m的芯片,不会超过7ns。

出0入0汤圆

 楼主| 发表于 2012-7-29 22:25:14 来自手机 | 显示全部楼层
是我技术很差,跟别人没关系呀,请问是因为我写的分频程序有问题吗?我把CLK_K
输出到别的引脚上用示波器观察到的分频波形也正确呀。

出0入0汤圆

 楼主| 发表于 2012-7-30 18:23:44 | 显示全部楼层
本帖最后由 mrbpost 于 2012-7-30 18:31 编辑

今天改了分频程序问题犹在,觉得又跟分频无关了,当仅仅只作4路输出时无论分频还是不分频输出都是正确的,但路数多了输出就有问题了,还有EPM240输出接在74HC244上,通过244输出,QUARTUS II的输入输出I/O口设置均设置为LVTTL电平,请问跟电平设置有关系吗?通常该怎么设置?我输入端接的信号有3.3思密特触发器输出信号和5V通过电阻分压的信号.

出0入442汤圆

发表于 2012-7-31 21:18:32 | 显示全部楼层
你注意,240/570也是FPGA的一种,直接用计数器输出,结果是一个比较器,是组合逻辑。要想变成可用的时钟源,必须用高频时钟把低频时钟打一拍。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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

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