阅读:756回复:0
9052设计的一点疑惑
我做的卡的功能是从PC上接收大量的数据(N*128K*16bit,N为数据包的个数),并以对固定的速率发送出去。输出速率要求9M,而且数据的发送一持续进行的,直到全部数据发送完,中间不可以有任何停顿或是等待。
我的初步打算是:9052的输出接一块FIFO(4K*18bit,再大的就有点太贵了。 一种设想是:采用\"burst\"方式写FIFO,边写边读,由于写入速度大于读出速度,所以,每次当写到FIFO中的数据到达一定数量的时候,由FIFO的可编程almost full位产生中断,停止写操作;而当FIFO读空到一定程度(当然不能完全空,那样数据的输出肯定就不连续了),由FIFO的可编程almost empty位产生另一中断,恢复写操作。一直循环下去。 另一种设想是:仍然采用\"burst\"方式写FIFO,边写边读。但是FIFO的可编程almost full位接到9052的LRDYi#,当写到FIFO中的数据到达一定数量的时候,使LRDYi#使能,暂停写操作,而过一端时间后,由于数据被从FIFO中读出,LRDYi#不再使能,从而恢复写操作。 但以上方案都存在我搞不清楚的地方:1.PC对9052产生中断的响应时间是多少?能不能到几十us? 2.LRDYi#是否能够控制暂停及恢复“burst”写操作?注意:是暂停而后恢复,不是停止而后从新开始。也就是说自动接着暂停前的数据地址开始些,而不用再从新启动另一次些操作。 多谢各位指点,或有什么新的建议。 |
|