linjing
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2008-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2895回复:8

9054burst问题

楼主#
更多 发布于:2004-07-29 14:41
我试了burst,但是不知道为什么local的地址不递增,数据都写到函数给出的偏移基地址里了,最后写完就剩下最后一个数写到偏移基地址里。啥问题啊 ,

我试用下面这个函数的,有人说9054用io/memery函数操作时,9054local不会产生burst时序的,只有在dma下才会产生burst时序,那要是我想把9054的程序和逻辑移植9052上怎么办呢?


//写cpld寄存器10个8位数
m_IoPortRange1.outb(0x0c,pBuffer,10);

分数很高,希望有大虾来。。只要给点提示建议就给分,谢谢
粼粼
CYoung
驱动中牛
驱动中牛
  • 注册日期2003-06-10
  • 最后登录2005-01-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-29 16:28
1:你要把读写的模式设为burst,不然它会默认你的是单个读写周期,所以你就只是写入一个数。
2:如果不用到dma的话,9052和9054差不多的,只是寄存器不同而已。
答得好的话,请兄弟们加点分,那是对我的肯定
linjing
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2008-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-30 12:43
那请问一下,把读写的模式设为burst,是在eeprom里设的吗?如果是那,那我已经设上了,是不是还要对9054内部的寄存器设置,我好像没注意到有这个寄存器。

已给分,谢谢,希望能继续解答。
粼粼
linjing
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2008-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-05 15:48
沉了。。`````顶一下,快来人啊
粼粼
jianshusheng
驱动牛犊
驱动牛犊
  • 注册日期2003-03-25
  • 最后登录2006-12-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-06 16:42
本人最近准备搞PCI9054及其驱动开发,不过我主要从事软件编程,所以对硬件设计不是很熟悉,能否把你的设计的PCI9054原理图发给我参考下,非常感谢!!baiqiang28@081.com.cn
zlf1110
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分39分
  • 威望365点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-11 10:03
我也正为BURST数据传输发愁。我使用的是AMCC S5920PCI控制器,想使用BURST方式读取1MBYTES的数据。现在调试时发现PTBURST信号一直不能为高,我想9054也有对应的BURST控制信号。我正在分析原因,可能有三个:
   1.驱动程序编写错误,未设置成MOMORY_DIRECT_IN(OUT)传输模式。
   2.系统解释问题,未翻译成PCI协议的内存读写(C\BE[3:0]中控制)
   3.Add-On BUS(9054叫Local BUS)端的控制逻辑不正确。
我使用FPGA作控制逻辑,仿真时序没问题,正准备用逻辑分析仪测量C\BE[3:0]是否变化。
zlf1110
qinshou211
驱动牛犊
驱动牛犊
  • 注册日期2009-05-16
  • 最后登录2010-03-09
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望191点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-10-12 11:45
好久的帖子啊,不知道现在还有人关注吗?我也想指导burst传输如何设置呢?有朋友能帮一下忙吗?我的驱动开发用的也是windriver
achillowy
驱动牛犊
驱动牛犊
  • 注册日期2009-05-26
  • 最后登录2010-02-18
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望171点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2009-11-19 14:53
我只知道9052有这个寄存器,BRD[2]吧,Burst enable/disable,不知道9054是不是也有。
philoman
驱动牛犊
驱动牛犊
  • 注册日期2005-05-29
  • 最后登录2011-07-13
  • 粉丝0
  • 关注0
  • 积分73分
  • 威望235点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2009-12-08 21:21
是这样的,Local侧的总线上支持三种读写方式,单周期/Burst-4/Busrt-Forever;单周期很简单,不用说了;当使能Busrt(LBRD0[24], LBRD1[8])时,即为Burst-4模式,若同时使能Busrt和Bterm(LBRD0[7], LBRD1[7]),则为Burst Forever模式;

所谓DMA,其实就是利用PCI9054上的DMA控制器进行数据传送,此时CPU可以做其他的处理,而不必等待
DMA的完成;当使用DMA时,需要配置相应的DMA寄存器,然后启动DMA传输,详见WinDriver中提供的P9054_DMAOpen()函数;

DMA操作与Burst并不是必然相关的,亦即DMA可以单周期/Burst-4/Burst-Forever任意一种,当然,为了提供数据吞吐率,一般采用的是Burst-Forever方式;
游客

返回顶部