[X]关闭

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

文档创建者:keykay
浏览次数:6573
最后更新:2020-06-30
sensor_data_gen.v这个文件不是持续产生数据往WO FIFO里写么 要是RST不就把数据给清除了么

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

发表评论已发布 2

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的像素是一帧的第一个像素?根据个人的测试,不同的复位周期会导致图像错位
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则