german010 发表于 2012-6-30 02:20:57

请教如何使用FPGA同步采集数据?

本帖最后由 german010 于 2012-6-30 02:23 编辑

请教大家

如图所示数据传输,在ADC CLK 上升沿的时候 ,8个 通用IO口同时采集一位数据,即:组成一个字节,如何使用FPGA正确判断ADC CLK的上升沿?

NJ8888 发表于 2012-6-30 07:25:04

ADC—CLK哪里来的?你自己产生的你自己知道何时来,不是你产生的再说吧不想猜谜

german010 发表于 2012-6-30 13:34:32

不是自己生产的,外部设备来的,外部设备生产ADC CLK和 D0 ...D7,每个时钟周期该设备的D0...D7各发生一位——组成一个字节,同时为了让接收设备知道数据何时到来而给了ADC CLK,用于同步D0 到D7的 8根数据线路上来的数据位
不知道这样说大家能明白不,这个ADC clk信号不是我自己生产的

kebaojun305 发表于 2012-6-30 18:11:30

FPGA的时钟是多少   如果外部的频率够高就直接用这个频率做全局时钟    如果频率不高就用FPGA内部时钟 同步下这个时钟 然后用内部时钟采样。 (看情况了,一般的AD采集都是fpg分频产生的时钟信号输出吧)

NJ8888 发表于 2012-6-30 18:39:10

german010 发表于 2012-6-30 13:34 static/image/common/back.gif
不是自己生产的,外部设备来的,外部设备生产ADC CLK和 D0 ...D7,每个时钟周期该设备的D0...D7各发生一位 ...

这样,你把外部ADC——CLK从你全局时钟脚进去,然后代码在这个时钟正边沿读入D值

winkle 发表于 2012-7-5 08:22:32

kebaojun305 发表于 2012-6-30 18:11 static/image/common/back.gif
FPGA的时钟是多少   如果外部的频率够高就直接用这个频率做全局时钟    如果频率不高就用FPGA内部时钟...

LZ应该用的是saa7113一类的视频ADC芯片, 像素时钟是PCLK 27MHz, 在上升沿读PDATA像素值.
不知道LZ是不是在nios环境下呢,如果是好像不行,nios忙不过来,

german010 发表于 2012-7-5 10:44:28

to winkle
我不是视频采集,是图像采集,一个cmos图像传感器,类似与扫描仪的棒装,出来直接是像素的基色值,一次性输出一个颜色,如红色的整个棒的一条像素值(分辨率为1496的话,按频率18Mhz输出1496个byte的像素值),其他基色类似,也是这个速度输出,

NJ8888 发表于 2012-7-5 11:32:41

这样的话,你用那个时钟沿做敏感信号写代码就行了

winkle 发表于 2012-7-16 19:51:48

按照元老说的试验一下吧, 我之前把clk,data挂在PIO上不行, 丢失数据, 原因是PIO的速度跟不上, 具体速度多块我没有量过(我在网上好像看到过晶振120mhz时PIO11mhz,不一定准确).
请教高手的;
其实我也是一步一步在摸索, 现在使用DMA方式, 就可以.

german010 发表于 2012-7-18 16:32:23

本帖最后由 german010 于 2012-7-18 16:33 编辑

CIS的速度是 4.5Mhz以上,有软件参与的图像采集速度 太慢了
已经改用 fpga

moxiaoxiong 发表于 2012-7-23 22:26:22

4楼是好方法!!

835392444 发表于 2012-8-5 14:24:51

kebaojun305 发表于 2012-6-30 18:11 static/image/common/back.gif
FPGA的时钟是多少   如果外部的频率够高就直接用这个频率做全局时钟    如果频率不高就用FPGA内部时钟...

你好分频出来的信号是不是和原信号是同相位的啊?谢谢

kebaojun305 发表于 2012-8-6 08:36:31

835392444 发表于 2012-8-5 14:24 static/image/common/back.gif
你好分频出来的信号是不是和原信号是同相位的啊?谢谢

是同相位的   

colinh 发表于 2012-8-14 10:19:02

这个好办,假设你ADC_CLK远低于FPGA的CLK,你可以采集ADC_CLK的上升沿或者下降沿来做同步。
页: [1]
查看完整版本: 请教如何使用FPGA同步采集数据?