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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5681|回复: 7

[求助] 两个时钟如何同步统一起来?

[复制链接]
发表于 2016-5-11 14:45:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
碰到个问题,AD采样数据有个AD时钟clk_ad,利用系统时钟clk分频而得,然后AD采样过来的数据处理也是按照AD时钟clk_ad进行处理,处理之后的数据写进FIFO是按照系统时钟clk进行读写操作,现在问题来了,如果我是1s钟AD数据统计一次,然后统计完立即写入FIFO。AD数据的1s统计是根据AD时钟计时的,而FIFO的1s写入却是根据系统时钟进行定时的,请问这两个1s如何才能做到保持同步?我现在1s统计一次的数据一直写不进FIFO,因为一直没同步,唉!怎么解决?
发表于 2016-5-11 15:07:58 | 显示全部楼层
为什么不是clk_ad来写fifo?
发表于 2016-5-11 15:10:08 | 显示全部楼层
很好的资源 ,学习下
发表于 2016-5-11 15:45:11 | 显示全部楼层
第一,如1楼所述,为什么写入fifo的不是数据的同步时钟clk_ad;
第二,剩下的统计、同步什么的,我实在看不懂。
发表于 2016-5-11 17:44:30 | 显示全部楼层
用PLL保持同步,假设外部晶振时钟为clkin,通过PLL生成两个相位一致的时钟clk和clk_ad,这两个时钟统计出来的1s就是同步的。
 楼主| 发表于 2016-5-12 15:00:03 | 显示全部楼层
回复 4# fascinate_lyd98


    因为我之前编写了个串口发送模块,是利用系统时钟来获取那个串口发送波特率的,然后1s定时往上位机发送也是采用系统时钟,然后读写FIFO是采用系统时钟,但是AD的驱动时钟是利用系统时钟分频而得的,因为程序是要对AD采样的结果进行1秒钟统计一次,然后通过串口发往上位机,因此,就碰到这个AD采样统计1s和串口发送1s的不一致问题。
发表于 2016-5-12 15:30:48 | 显示全部楼层
你用快的时钟产生一个1S的脉冲信号,保证宽度能被clk_ad也能采到,大家都看到这个信号的边缘再操作FIFO, 这样能保证大家的1S都是同样的东西。 而不是自己数自己的clock
发表于 2016-5-12 16:26:30 | 显示全部楼层
回复 6# hms2006
总觉得某些地方不合理。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 06:41 , Processed in 0.024514 second(s), 9 queries , Gzip On, Redis On.

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