搜索
bottom↓
回复: 14

请教,如何在CPld中用原理图实现时钟延时

[复制链接]

出0入0汤圆

发表于 2014-8-6 17:04:25 | 显示全部楼层 |阅读模式
请教大神,小弟在做一个adc,下图中是CPlD的时钟输入,红色为时钟输出,本意想的是,这两个信号同步输出,红色时钟用于RAM的写时序时钟用,现在情况是两个之间的延时为14.8ns,请问有没有什么办法能让两个时钟同步起来,
我用的片子是EPM7128SLC85-15
[/font]

本帖子中包含更多资源

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

x

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出20入186汤圆

发表于 2014-8-6 17:16:28 | 显示全部楼层
原理图里边一级一级添加非门,再上示波器观察,试试看(我也是莱鸟)

出0入0汤圆

发表于 2014-8-6 17:58:44 | 显示全部楼层
本帖最后由 ice_lyb 于 2014-8-6 18:01 编辑

能否讲你的问题中的各个信号讲清楚,

你图中的黄色信号是什么信号,从哪里来,输入给什么芯片,

红色信号是从哪里来,输入到哪里,你的这些信号分别是要实现什么功能,

你提到的RAM是否指的CPLD中的RAM

还有你的ADC是不是通过CPLD来驱动的

出0入442汤圆

发表于 2014-8-6 18:14:36 | 显示全部楼层
yuyu87 发表于 2014-8-6 17:16
原理图里边一级一级添加非门,再上示波器观察,试试看(我也是莱鸟)

没用。CPLD不是FPGA,CPLD阵列延时是固定的。

出20入25汤圆

发表于 2014-8-6 21:19:51 来自手机 | 显示全部楼层
看你的精度要求了,这个延迟是怎么来的。

出0入0汤圆

 楼主| 发表于 2014-8-7 08:53:55 | 显示全部楼层
回三楼,黄色信号时从一个高速ADC(ltc2222)输出的,这个信号是ADC专门输出给外部的数字系统同步用的,我的板子是通过CPLD对ADC实现DMA写RAM,帖子中说道的RAM指的就是存储ADC输出的信号用的,不是CPLD的RAM。
理论上上讲,CPLD的时钟是由黄色信号(也就是ADC输出的时钟)来驱动的,我之所以在CPLD内部走了一遍是因为需要对这个时钟进行控制,当CPLD写RAM的时候,要求红色信号与黄色信号同步,当读RAM的时候,要求红色信号为高电平,其实红色信号即使RAM的RW控制端
当CPLD写RAM的时候,在CPLD的内部电路,其实就是cpld的时钟全局时钟引到另一个引脚。

出0入0汤圆

 楼主| 发表于 2014-8-7 08:54:25 | 显示全部楼层
回2楼,这个方法是不行的,谢谢啊

出0入0汤圆

 楼主| 发表于 2014-8-7 08:55:29 | 显示全部楼层
其实  我本意是想 能不能再CpLD内部 怎么样实现对这个时钟信号的延时,延时正好为这个信号的周期(20ns)

出0入0汤圆

发表于 2014-8-7 09:29:16 | 显示全部楼层
jslx 发表于 2014-8-7 08:53
回三楼,黄色信号时从一个高速ADC(ltc2222)输出的,这个信号是ADC专门输出给外部的数字系统同步用的,我 ...

你的红色信号是CLOCKOUT(即示波器上的黄色信号) 输入到cpld里面产生的?

那么你在CPLD的红色信号是怎么得到的,直接assign赋值吗,

还有你的ADC数据是不是也是进入了CPLD里面然后输出了,输出的数据是如何产生的,直接assign赋值还是触发器打拍,如果是触发器,所使用的时钟是什么,

你有用过示波器看ADC的数据进入cpld前和从cpld输出的差异,是否存在跟时钟同样大小的延迟

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2014-8-7 09:42:46 | 显示全部楼层
回楼上,红色信号是CLOCKOUT(即示波器上的黄色信号) 输入到cpld里面产生的,但是 我不是用语言 而是画原理图的方式,黄色信号进来,经过一个2选一选择器后直接输出成红色信号。
ADC的数据时直接输入到RAM的数据总线上的,CPLD只是用计数器计数长生写RAM的地址,计数的时钟即使黄色信号,这样长生的地址就和RAM的写时序同步了。现在是黄色红色信号不同步,导致RAM可能不能正确的写。

出0入0汤圆

 楼主| 发表于 2014-8-7 09:45:15 | 显示全部楼层
这是CPLD内部部分电路图

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2014-8-7 10:01:39 | 显示全部楼层
jslx 发表于 2014-8-7 09:45
这是CPLD内部部分电路图

我的建议如下:

如果你的cpld可以产生足够快的时钟,你使用cpld产生一个快的时钟,然后将CLOCKOUT和adc输出的数据都输入到cpld中,使用cpld中产生的快时钟采集这两个信号(这样操作是为了使外部输入的信号跟cpld中的时钟同步),然后再将打拍以后得到的新的两个信号和cpld中的快时钟输出给外部的RAM,这样CLOCKOUT只是作为使能,新产生的CLOCKOUT的上升沿将数据写入RAM即可,不再需要考虑adc输出的CLOCKOUT和cpld输出的时钟相位关系。

这种情况前提是你的cpld可以产生高速的时钟。

另外一种方法是你将你的数据也输入到cpld,相办法产生同样大小的延迟,然后输出给ram。这种处理方法是因为你不经过cpld的数据是跟ADC输出的CLOCKOUT是同步关系,但是你ADC输出的CLOCKOUT的经过组合逻辑肯定是存在延迟的,这样就不会同步,所以写入RAM也就存在问题。

出0入22汤圆

发表于 2014-8-7 11:24:30 来自手机 | 显示全部楼层
20ns不是刚刚50mhz么,用50m晶振,延时一个周期

出0入0汤圆

 楼主| 发表于 2014-8-7 14:09:16 | 显示全部楼层
谢谢ice_lyb大侠的帮助,我试一下看看。

出0入0汤圆

 楼主| 发表于 2014-8-8 08:42:29 | 显示全部楼层
请问ice_lyb大侠,小弟是菜鸟,请问 你说的“用cpld产生一个快的时钟,然后将CLOCKOUT和adc输出的数据都输入到cpld中,使用cpld中产生的快时钟采集这两个信号(这样操作是为了使外部输入的信号跟cpld中的时钟同步),然后再将打拍以后得到的新的两个信号和cpld中的快时钟输出给外部的RAM"打拍这两个信号如何实现啊?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-8-27 02:49

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

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