keykay 发表于 2020-1-30 15:19:37

基于 FDMA 多缓存视频构架 fdma_controller WO_FIFO 复位请教

sensor_data_gen.v这个文件不是持续产生数据往WO FIFO里写么 要是RST不就把数据给清除了么

我理解的技术思路应该是 sensor_data_gen.v一直产生数据写入WO_FIFO里写到VSYNC信号以后,往FDMA里搬运一次数据,在此期间sensor_data_gen.v的数据产生与数据写入WO_FIFO是不会中断的,要是RST那么持续写入的数据不就全部清空了么

uisrc 发表于 2020-1-31 20:52:59

你的思考没错,就是为了清空,每次接收到VS后首先对FIFO清空,那么为什么要这么做呢?
1、如果我们的视频突然中断,你的FIFO里面的数据不是完整的一副图像的数据呢?
2、比如我是传输HDMI视频,我把HDMI输入信号拔掉了呢?
很多人设计程序不考虑程序的健壮性,我看到过有些经验的FPGA工程设计的HDMI输入视频,我拔掉HDMI后,视频图像乱了。明显没考虑突发情况的再次同步问题,那么利用VS 清空FIFIO可以确保每一副图像都是重新同步过的数据。

BIinNO 发表于 2020-6-30 18:09:53

msxbo 发表于 2020-1-31 20:52
你的思考没错,就是为了清空,每次接收到VS后首先对FIFO清空,那么为什么要这么做呢?
1、如果我们的视频 ...

       S_RST:begin
         W0_s_rdy <= 1'b0;
          if(W0_fcnt > 8'd30 ) W_MS <= S_DATA1;
          W0_FIFO_Rst <= (W0_fcnt < 8'd20);
          W0_fcnt <= W0_fcnt +1'd1;
      end

根据代码,在检测到VS信号后,对W0_fifo 进行了20个ui clock周期的reset。请问这个20是如何确定的?如何保证复位fifo后第一个写入fifo的像素是一帧的第一个像素?根据个人的测试,不同的复位周期会导致图像错位
页: [1]
查看完整版本: 基于 FDMA 多缓存视频构架 fdma_controller WO_FIFO 复位请教