FIFO是提高速度用的,它可以绕过CPU,直接让主机和设备交换数据。
AD采集速度大于USB传输速度,数据在AD之后进行缓冲,比如放入另外的FIFO中,采用乒乓机制,它的FIFO满了(半满)才置入USB的FIFO。
AD多慢,FIFO也是必要的,如果16位AD数据从51CPU(68013)读进来,可能要ms级别,这显然是太慢了。实际的系统除了采集数据还有其它开销,你会觉得CPU永远是太慢太慢。(外设拖得CPU更慢,所以才有中断、DMA和FIFO)
而且,通常采集数据并不是一刻不停地采集数据,主机收到的数据也不是完全连续的。都是采集一段,传输一段,处理一段。相邻两次处理之间是有停顿的。 |