阅读:3608回复:29
高分求助--PCI9054
小弟采用同步fifo做缓存,对于PCI9054来说,本地如果没有cpu,如何从本地启动Local-to-PCI DMA传输,能否直接利用fifo的标志信号?
|
|
最新喜欢:![]() |
沙发#
发布于:2002-11-01 14:42
谢谢各位大虾的帮助,几天来总算有了更深的理解,我将继续
|
|
板凳#
发布于:2002-11-01 09:40
如果你足够细心的话,问题在详细设计阶段都会暴露的,祝好运.
|
|
|
地板#
发布于:2002-11-01 09:21
板主就不能给个最后的总结?总结一下问题ok!
|
|
地下室#
发布于:2002-10-31 16:24
我使用fpga实现的fifo,用错什么意思?不就一个发起传送吗?
以后的事是9054做的,是不是有一个外接fifo和9054内部fifo的匹配问题?如果不好实现,是不是pci发起好一点,那样就要占用很多cpu的资源。 |
|
5楼#
发布于:2002-10-31 16:12
可以Local bus采用FPGA发起DMA传输 :o
|
|
6楼#
发布于:2002-10-31 16:04
问题未必这么简单,可以几乎肯定的说不可行.尤其是FIFO,这个东西用错的人一大堆,都喜欢把他想象成一个理想化的先进先出队列,但实际上完全不是那么回事.
|
|
|
7楼#
发布于:2002-10-31 15:14
也就是说RTOS下采用DMA的什么方式都行,我们想实现100MB/s,用demand dma可以吗?
是不是采用demand dma方式local bus的硬件逻辑设计就简单的多,接上dreq和dack并设置相应的 寄存器就行了,向楼上说的直接用fifo的满标志产生dreq是不是可行? |
|
8楼#
发布于:2002-10-31 12:12
1.不是在rtos,在windows下,代价是硬件的复杂性大大增加.
2.是的 |
|
|
9楼#
发布于:2002-10-31 11:37
请问各位大侠pci9054在c mode下如何实现local bus-->pci的dma传送?实时性如何?
|
|
10楼#
发布于:2002-10-31 09:47
1、你说的108MB是不是在RTOS?
2、如果是local发起传送除了demand dma 是不是必须写本地端写配置寄存器? |
|
11楼#
发布于:2002-10-31 09:41
RTOS应该好很多.
|
|
|
12楼#
发布于:2002-10-31 09:36
您的意思是说是不是操作系统好的话(比如VXWORKS)是不是采用什么DMA的方式都行,我们的系统准备采用RTOS.
|
|
13楼#
发布于:2002-10-31 08:51
靠PCI端启动DMA的关键是操作系统的实时响应能力,设计合理的硬件系统即使没有local master也能够达到很高的传输效率,我这里能够做到108MB/s,基本是极限了.
DMA counter为0后DMA自然结束,不需要外部发结束命令. |
|
|
14楼#
发布于:2002-10-31 08:28
请问斑竹我理解的对不对:
我想local bus发起传送可以这样,loacl bus要发起传送先写9054的dma寄存器,因为9054在DMA方式下,相对于PCI和LOCAL都是MASTER因此它可以控制PCI BUS 的传送,但是结束传送呢?也是由 LOCAL BUS发起吗?还是靠9054?“启动DMA需要local master,启动了以后9054就成了local master“这句话是不是说9054结束传送(或者产生某种中断) |
|
15楼#
发布于:2002-10-30 22:49
引用:
启动DMA需要local master,启动了以后9054就成了local master. 但是,如果没有local master,从PCI启动DMA的话,判断DMA结束依然要求PCI做出判断,这样的话肯定会降低DMA突发传输的速率,是否斑竹做过类似的测试,从PCI方启动DMA传输能够达到多高的传输速率? |
|
16楼#
发布于:2002-10-30 14:03
请举一个例子好吗?我还是不明白,怎么实现?
|
|
17楼#
发布于:2002-10-30 11:56
启动DMA需要local master,启动了以后9054就成了local master.
|
|
|
18楼#
发布于:2002-10-30 11:42
9054datasheet说:
C模式DMA方式下,9054相对于PCI BUS是MASTER,而相对于LOCAL BUS他也是MASTER,也就是说LOCAL BUS在DMA方式下只能是SLAVER,只能向9054请求传送,而不能控制传送过程。如果LOCAL实现MASTER那末就不能进行DMA,在DMA方式下要用到LHOLD和LHOLDA请求传送的,而MASTER使用不到这些的。 我不太明白请讲清楚些。 我好痛苦!!!! |
|
19楼#
发布于:2002-10-30 09:24
1.高速设计一般都使用DMA.
2.local设备可以发起传输,前提是他是个master. 3.很少有人使用demand mode,除非它的目标是最简化系统. |
|
|
上一页
下一页