|
发表于 2003-7-7 18:17:21
|
显示全部楼层
pci initiator 求助
你的问题提的很好,比较专业.
当传输数据量很大时只能是用burst方式(一般大于10MByte/S),burst方式可以采用PC机做Master的burst,也可采用板卡的initiator/burst方式,由于PC机做Master的burst方式不是很好控制,同时不同的芯片组使用也不一样,因此没有人使用。
设计时应该使用板卡initiator/burst方式,PCI卡与内存之间是通过板卡上的PCI FIFO和南桥内的PCI FIFO做数据交换来实现的,如果要用fpga做PCI控制器,应该考虑PCI FIFO的设计问题,与一般的FIFO有一点区别。交易开始的地址就是内存数据传输的起始地址。突发长度可以定的很大,如果一次想传输128个数据,在交易过程中是没有可能由于其他原因少于128个数据(除了你设计的不对),但是有可能这128个数据会被分为几个分段传送。
实际传送长度主要看你的应用需求,如果传送的数据量不是很大(比如10MByte),你可以直接设置传送长度为10M,但是如果传送数据很大或一直传送不停止,那么如果使用fpga做可以设计为pingpang结构,每一个设置传送长度不要太大(比如2M),与PC机软件协同实现数据传送。 |
|