大家好,关于68013通信的问题想问一下, (68013 )作为USB的控制芯片通过上位机软件与FPGA进行通信, FPGA与USB之间通信采用slave-fifo的方式,FPGA不断从USB的FIFO中读取数据,上位机不断写数据到USB的FIFO中, 实际工作中USB的通信速率要求能达到10M/Byte 的速率才能保证FPGA对数据的连续运行, USB处理器68013能达到最快60M/Byte的速率, 我在测试中发现只能达到5M的速率,远低于最快速率, 从以下几个步骤分析了问题:
先确定FPGA从USB-FIFO取数据的速率, 当FIFO中有数据时,USB会输出一个FLAGC信号为高,这时,FPGA就会在48M同步时钟控制下从USB-FIFO中取出数据,通过逻辑分析仪可以看到,FPGA取数据的速率是24M/16bit. 也就是在FLAGC为高是,FPGA用24M的速率将数据取出来.发现FLAGC为高的时间间隔为8.3us左右, 一个包为400字节. |