3692|5

12

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

异步时域数据处理 [复制链接]

我用cpld做了两块板子,一块AD ,串并转换发射数据,一块接收数据。但接收数据总是有点不准确,后来发现原因是时钟不同步,但是没办法把两块板子用同一个时钟源,两块板子上的晶振都是75M,数据的速率是12.5M 用接收的板子去读发射的数据有点不正确,后来做了乒乓操作也没有效果,大家有什么比较好的办法吗?
此帖出自FPGA/CPLD论坛

最新回复

我想提醒你的是: 芯片的参考时钟一定要用晶体提供的本地时钟,不能用分频时钟。因为分频时钟不能保证抖动,毛刺这些问题干净度。如果实在没有本地时钟,一定要用PLL 进行分频锁相才行。  详情 回复 发表于 2011-12-22 10:21
点赞 关注
 

回复
举报

6892

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

1. 75M时钟采样12.5M波特率数据,应该没问题的。

建议用RAM或FIFO进行异步数据缓存,然后处理。

或12.5M时钟数据直接进入FPGA后,马上进行多次时钟同步。避免亚稳态

此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 eeleader 的帖子

因为我要用75M对这个接收的12.5M的数据进行时分复用。有四个这样的数据。但是用这个75M分频出的12.5M去读这个数据有数据不对或者丢失。
此帖出自FPGA/CPLD论坛
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(高级)

4
 
两块板子通信不能使用同一个时钟源,其实也没有必要使用同一个时钟源,UART、SPI等都不会使用同一个时钟源,但是基本上都不会出现楼主所述的问题。两块芯片通信,一定要解决的是时序问题。
楼主应该自己定一个通信接口和通信时序,建议采取申请的方式进行通信。即,一块CPLD在AD采集到一个数据后,用一个引脚输出一个跳变来标示一个新的数据产生,请求后面的CPLD读数。后面的CPLD对该跳变进行采检测,检测到跳变后即按照既定的时序来读出数据。当数据被读完成后,各芯片回到初始状态。
楼主可以参考SPI、EMI等接口。
此帖出自FPGA/CPLD论坛
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 4楼 Goself 的帖子

不好意思是我没有说清楚,这个芯片要给其一个参考时钟,是我本地分频出的12.5M的时钟,然后里面有CDR模块会恢复出一个12.5M的时钟 以恢复出的12.5M上升沿读取数据,但我要对几个12.5M的数据进行时分复用。
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

6
 
我想提醒你的是: 芯片的参考时钟一定要用晶体提供的本地时钟,不能用分频时钟。因为分频时钟不能保证抖动,毛刺这些问题干净度。如果实在没有本地时钟,一定要用PLL 进行分频锁相才行。
此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表