新手遇到FPGA跨时钟域信号处理的问题

2020-02-17 19:58发布

最近再老师安排一个任务:
(1)FPGA采集6路数字摄像头发出的异步时钟下不同速率的数据,数据速率为27MHz、74.5MHz,并且每个摄像头的时钟不同步,时钟和数据都输入到FPGA。
(2)对采集到的信号通过DDR2内存进行缓存后,按照一定地址映射读出

由于以前从未做过FPGA的开发,现在手上使用一块Xilinx XC6SLX16-2CSG,开发板,上面有两个50MHz的有源晶振,分别连接到了开发板的IO_L30N_GCLK0_USERCCLK_2和IO_L36N_GCLK14_0上
我现在的主要问题是:
(1)我应该使用哪个时钟作为系统的时钟,余下一个时钟有什么作用
(2)由于输入数据是27MHz数据和74.5MHz数据及其各自的时钟,我应该如何将这些异步数据转换成同步数据
我有几个想法,但是不知道实不实际:
(1)将50MHz的时钟倍频到200MHz,对输入信号进行锁存,不去处理这个50MHz数据对应的时钟输入,感觉这样就没有用到27MHz的时钟,觉得不大对的样子
(2)对于每个数据,使用其对应的时钟将其输入到fifo进行缓存,然后使用统一的时钟从fifo中读取出来,再进行后续处理
希望各位高手指点一下我,或者给出我一些其他的输入处理方法,小弟感激不尽。

此外,还有一些从Xilinx手册上时钟资源部分 看到的东西不大理解
Global clock是指系统时钟吗?整个FPGA程序中共用的那个clk?整个程序共用的clk能从非GCLK引脚输入吗?

BUFGMUX到底是干什么的,BUFPLL和BUFIO2,BUFH这些看了半天也不明白

ESERDES和OSERDES根本不明白,我这个任务是不是需要用到这些

谢谢各位了,非常希望得到大家的帮助
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
gregy_cn
1楼-- · 2020-02-18 01:01
xapp739_axi_mpmc这个文章也许有用,xilinx的v6。其实mpmc也有现成的IP核。
我最近也在搞类似东西,照着这个做的。
雪夜虫子
2楼-- · 2020-02-18 03:00
本帖最后由 雪夜虫子 于 2015-7-23 08:56 编辑

....
lengmian1001
3楼-- · 2020-02-18 08:50
 精彩回答 2  元偷偷看……
lengmian1001
4楼-- · 2020-02-18 12:14
雪夜虫子 发表于 2015-2-2 15:09
1、视频数据显然要用FIFO隔离,别用锁存。一端用视频原始时钟写入,另一端用高倍时钟(比如200MHz)读出然 ...

非常感谢您的帮助,小弟先谢谢您了
1 您说的是,输入有VS、HS信号,消隐区的信号不采集,那我是不是要用异步FIFO呢?存一个有效区长度的数据,然后使用高速时钟在消隐区那段时间将数据读出写入DDR中呢?
2 我也不知道够不够用,27MHz的有4路,每一路都是720*480视频,外接一个128MB的DDR2内存,不知道够不够用,我想先采集2路试一下
3 我需不需要把系统的时钟倍频到27MHz和74.5MHz的最小公倍数上去呢?
雪夜虫子
5楼-- · 2020-02-18 13:05
本帖最后由 雪夜虫子 于 2015-7-23 08:56 编辑
lengmian1001 发表于 2015-2-2 17:11
非常感谢您的帮助,小弟先谢谢您了
1 您说的是,输入有VS、HS信号,消隐区的信号不采集,那我是不是要用 ...


....

一周热门 更多>