阅读:4821回复:11
PCI9054芯片的读写速度求教!为什么突发读速度上不去?
本人设计的一个pci插卡,使用pci954作为接口芯片,工作在C模式下。目前已经能进行基本的读写操作,使用NI-Visa作为第三方驱动。
但是目前遇到的问题是读写速度不理想。 通过对寄存器的配置。系统通过burst方式来提高读取速度。但是通过测试,通过NI-VISA驱动与PLXMON程序测试,得到的结果都是读取PCI 4MB/S,写入PCI40M/S,对bar2的memory方式。 而且奇怪的是,写入是lhold是有循环的长短间隔,通过时序可以看出实现了burst方式的写入。但是读取的时候,却始终是单次读取的时序,两次读取之间间隔了很久,相当于pci9054给我fpga的时序就很慢,或者根本就没给出burst方式的读取请求。 在9054的配置中,允许了预读取,但是却看不到有预读取的操作。 不知道大家有没有测试过这个芯片能实现的读取速度。 其实我最奇怪的是为什么芯片的读写时序不对称,速度不平衡呢? 目前我就分析不出来是我芯片配置的问题,还是硬件设计上的问题,请大家给我点指点或者讨论一下。 需要什么信息我可以提供。 被这个速度问题困扰好久了。 我自己写了个程序在线修改9054的本地寄存器配置,不知道直接这样修改,是否是直接生效呀?(写bar0) 还有如果要使用dma方式,ni-visa没有提供直接的dma操作,是不是我还要自己修改dma的配置,然后上位机进行一次读或写,然后才能触发刚才设置好的一次dma操作? 现在读取速度上不去,都急得我要尝试dma操作的,但是我觉得如果读取能达到和写入一样的40MB/S,我就可以接受了,没必要用dma了。 |
|