阅读:2895回复:8
9054burst问题
我试了burst,但是不知道为什么local的地址不递增,数据都写到函数给出的偏移基地址里了,最后写完就剩下最后一个数写到偏移基地址里。啥问题啊 ,
我试用下面这个函数的,有人说9054用io/memery函数操作时,9054local不会产生burst时序的,只有在dma下才会产生burst时序,那要是我想把9054的程序和逻辑移植9052上怎么办呢? //写cpld寄存器10个8位数 m_IoPortRange1.outb(0x0c,pBuffer,10); 分数很高,希望有大虾来。。只要给点提示建议就给分,谢谢 |
|
|
沙发#
发布于:2004-07-29 16:28
1:你要把读写的模式设为burst,不然它会默认你的是单个读写周期,所以你就只是写入一个数。
2:如果不用到dma的话,9052和9054差不多的,只是寄存器不同而已。 |
|
|
板凳#
发布于:2004-07-30 12:43
那请问一下,把读写的模式设为burst,是在eeprom里设的吗?如果是那,那我已经设上了,是不是还要对9054内部的寄存器设置,我好像没注意到有这个寄存器。
已给分,谢谢,希望能继续解答。 |
|
|
地板#
发布于:2004-08-05 15:48
沉了。。`````顶一下,快来人啊
|
|
|
地下室#
发布于:2004-08-06 16:42
本人最近准备搞PCI9054及其驱动开发,不过我主要从事软件编程,所以对硬件设计不是很熟悉,能否把你的设计的PCI9054原理图发给我参考下,非常感谢!!baiqiang28@081.com.cn
|
|
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]是否变化。 |
|
|
6楼#
发布于:2009-10-12 11:45
好久的帖子啊,不知道现在还有人关注吗?我也想指导burst传输如何设置呢?有朋友能帮一下忙吗?我的驱动开发用的也是windriver
|
|
7楼#
发布于:2009-11-19 14:53
我只知道9052有这个寄存器,BRD[2]吧,Burst enable/disable,不知道9054是不是也有。
|
|
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方式; |
|