SQuest
驱动牛犊
驱动牛犊
  • 注册日期2009-08-18
  • 最后登录2009-09-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4815回复:11

PCI9054芯片的读写速度求教!为什么突发读速度上不去?

楼主#
更多 发布于:2009-08-23 16:49
本人设计的一个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了。
jbhlzw
驱动牛犊
驱动牛犊
  • 注册日期2006-04-03
  • 最后登录2010-09-29
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望93点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-09-25 10:24
应用层都是32位操作吗?无论本地总线宽度是多少位,驱动程序都应使用32位操作,以达到最高效率的总线利用率。
xcy31349
驱动牛犊
驱动牛犊
  • 注册日期2009-10-12
  • 最后登录2010-11-17
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-10-12 09:04
不知道你的问题解决没有 据我现在了解 x86的cpu 不支持 突发读操作,所以只能控制9054 作为master ,用dma完成。
想深入交流 我邮箱: xcy31349@163.com
qinshou211
驱动牛犊
驱动牛犊
  • 注册日期2009-05-16
  • 最后登录2010-03-09
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望191点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-10-13 21:54
404042216,我现在也在写驱动了,有意向的朋友交流一下啊
dongsheng
驱动牛犊
驱动牛犊
  • 注册日期2007-12-20
  • 最后登录2011-08-11
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望35点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-10-26 17:32
我也是遇到同样的问题
我用的是9052 写速度测出来是40M 但读速度最高才4M
硬件跟配置应该是没有问题 不知道大伙测出来9052的读速度最大可以去到多少?
问了PLX的技术支持 说 读是比写慢一些 ,但不会差这么远的 ...
philoman
驱动牛犊
驱动牛犊
  • 注册日期2005-05-29
  • 最后登录2011-07-13
  • 粉丝0
  • 关注0
  • 积分73分
  • 威望235点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-12-08 21:28
当然用DMA快啦,9054支持Block DMA和Scatter GatherDMA,为何不用
drv_murphy
驱动牛犊
驱动牛犊
  • 注册日期2010-01-28
  • 最后登录2010-02-01
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望61点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2010-01-28 22:54
9054 的 BLOCK BURST DMA 非常快。 效率 60%  一般都能上 60MB/s Target 方式的读写一般只在 不大于10MB/s 的速度。
Target Write 要快些。 Read 就老慢老慢了。
mnbqwe10
驱动牛犊
驱动牛犊
  • 注册日期2009-02-24
  • 最后登录2011-03-15
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2010-05-04 14:06
楼主的读是单次读,写应该是non-burst 模式的
jianke_ingo
驱动牛犊
驱动牛犊
  • 注册日期2011-04-27
  • 最后登录2011-05-25
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2011-04-27 18:31
我写的FPGA部分只能读写8位的,不能做32位的读写,能给我一个32位读写的例程吗。谢谢
我的邮箱是:tian8325@sina.com.cn
momocaca
驱动牛犊
驱动牛犊
  • 注册日期2011-05-09
  • 最后登录2011-05-13
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望101点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2011-05-13 13:39
自认我的文字没有那么大的力量。但还是回帖了
昨天的明天。顾名思义,就是今天。
不开心的时候,喜欢45度角仰望天空,喜欢十方天士周围静寂的一切。
各种的喜欢很多东西。讨厌很多东西。不解释。这跟别人没有半毛钱关系。而是个性使然。
喜欢假装很哲学。悲观的看这个世界的斗铠,其实内心是个半大孩子,什么都不懂。
喜欢劝别人乐观。喜欢告诉别人人生很美好生活很幸福,可是自己却从没有相信过。
喜欢用排比,喜欢用句号,喜欢修真世界de前言不搭后语,喜欢有人回复。
philoman
驱动牛犊
驱动牛犊
  • 注册日期2005-05-29
  • 最后登录2011-07-13
  • 粉丝0
  • 关注0
  • 积分73分
  • 威望235点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2011-07-13 17:16
其实^Local总线的时序与是否DMA\什么方式的DMA真的没什么关系,要想速度快,必须将Local总线配置为Burst Forever模式,当然,这也需要Local侧设备的时序配合;关键点在于使能Burst模式和Bterm#;是的,Bterm#也要使能,否则一次Burst仅仅传4个周期,相信我,曾用逻辑分析仪抓过时序;PCI9054的传输能力绝对不止60MB/s;
xp4105
论坛版主
论坛版主
  • 注册日期2006-04-02
  • 最后登录2014-03-29
  • 粉丝1
  • 关注0
  • 积分905分
  • 威望570点
  • 贡献值1点
  • 好评度162点
  • 原创分1分
  • 专家分0分
11楼#
发布于:2011-07-20 17:01
9054的速度实际能到多少,无法概全
看设计了
时光如流水 抓紧时间实现自我价值
游客

返回顶部