zoukankan      html  css  js  c++  java
  • usb30 lose data

      这两天在看ep3c40_ad_da, 我使用USB20的PC采集数据,发现PC接到的数据有丢失现象: USB20的速度约40MB/S, ddr_fifo_2 : huanor_ddr2b_fifo 的clk_wr => 27MHZ;
     
      个人推断是USB20读取速度太低, 因fifo写入速度是27MHZx4byte=108Mbyte/s(注: 程序中32bit width),而fifo读取速度是40MB/S<108Mbyte/s,所以数据必然会丢失; 丢失的过程是: USB读的慢,导致fifo呈现满的状态; 来自5150的rawdata按照恒定的27MHZ频率送来数据, 当fifo被写满后,数据因写不进去而丢失.
      所以这类async做法必须满足, USB读取速度>写入速度,否则必丢; 即USB读取速度一定大于108Mbyte/s.
     
      或者串行操作,写满了通知读,读空后通知写.

    elsif rising_edge(TV_PCLK) then
    if f1_fi_wrusedw>=conv_std_logic_vector(2**AW-8,AW) then
    f1_wr_hfull <= act_on;
    else
    f1_wr_hfull <= act_off;
    end if;

    f1_fi_wrreq <= act_off;
    --AD CAP data
    if DATA_DIR='0' and f1_wr_hfull=act_off then --DATA_DIR->0: EXT TO USB
    f1_fi_wrreq <= act_on;
    -- f1_fi_din <= conv_std_logic_vector(8, DW/2-10) & AD_B & conv_std_logic_vector(4, DW/2-8) & TV_D;
    ---- test_data-------------------------
    f1_fi_din <= test_data;
    test_data <= test_data + conv_std_logic_vector(1, DW);
    ---------------------------------------
    end if;
    end if;

  • 相关阅读:
    MS SQL 数据库状态为SUSPECT(可疑)的处理方法
    根據名稱查找文件,并移動
    deploy war to weblogic via script(shell)
    maven打包时包含所有依赖的jar
    随笔
    如何在Oracle SQL Developer對Procedure除錯
    git常用命令和記錄
    英語筆記
    IDEA設置
    mysql常用命令和记录
  • 原文地址:https://www.cnblogs.com/winkle/p/2989001.html
Copyright © 2011-2022 走看看