hjcomm96
驱动牛犊
驱动牛犊
  • 注册日期2002-07-15
  • 最后登录2004-10-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3608回复:29

高分求助--PCI9054

楼主#
更多 发布于:2002-10-29 10:11
小弟采用同步fifo做缓存,对于PCI9054来说,本地如果没有cpu,如何从本地启动Local-to-PCI DMA传输,能否直接利用fifo的标志信号?

最新喜欢:

kiki_mekiki_m...
cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-01 14:42
谢谢各位大虾的帮助,几天来总算有了更深的理解,我将继续
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-01 09:40
如果你足够细心的话,问题在详细设计阶段都会暴露的,祝好运.
兄弟们,给点分吧
cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-01 09:21
板主就不能给个最后的总结?总结一下问题ok!
cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-31 16:24
    我使用fpga实现的fifo,用错什么意思?不就一个发起传送吗?
以后的事是9054做的,是不是有一个外接fifo和9054内部fifo的匹配问题?如果不好实现,是不是pci发起好一点,那样就要占用很多cpu的资源。
zuowei999
驱动牛犊
驱动牛犊
  • 注册日期2002-03-21
  • 最后登录2018-02-05
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望53点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-10-31 16:12
可以Local bus采用FPGA发起DMA传输 :o
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-10-31 16:04
问题未必这么简单,可以几乎肯定的说不可行.尤其是FIFO,这个东西用错的人一大堆,都喜欢把他想象成一个理想化的先进先出队列,但实际上完全不是那么回事.
兄弟们,给点分吧
cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-10-31 15:14
也就是说RTOS下采用DMA的什么方式都行,我们想实现100MB/s,用demand dma可以吗?
是不是采用demand dma方式local bus的硬件逻辑设计就简单的多,接上dreq和dack并设置相应的
寄存器就行了,向楼上说的直接用fifo的满标志产生dreq是不是可行?
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-10-31 12:12
1.不是在rtos,在windows下,代价是硬件的复杂性大大增加.
2.是的
兄弟们,给点分吧
zjm8888
驱动牛犊
驱动牛犊
  • 注册日期2002-10-31
  • 最后登录2002-10-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-10-31 11:37
请问各位大侠pci9054在c mode下如何实现local bus-->pci的dma传送?实时性如何?
cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-10-31 09:47
1、你说的108MB是不是在RTOS?
2、如果是local发起传送除了demand dma
是不是必须写本地端写配置寄存器?
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-10-31 09:41
RTOS应该好很多.
兄弟们,给点分吧
cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-10-31 09:36
您的意思是说是不是操作系统好的话(比如VXWORKS)是不是采用什么DMA的方式都行,我们的系统准备采用RTOS.
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-10-31 08:51
靠PCI端启动DMA的关键是操作系统的实时响应能力,设计合理的硬件系统即使没有local master也能够达到很高的传输效率,我这里能够做到108MB/s,基本是极限了.
DMA counter为0后DMA自然结束,不需要外部发结束命令.
兄弟们,给点分吧
cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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结束传送(或者产生某种中断)
hjcomm96
驱动牛犊
驱动牛犊
  • 注册日期2002-07-15
  • 最后登录2004-10-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-10-30 22:49
引用:
  启动DMA需要local master,启动了以后9054就成了local master.

但是,如果没有local master,从PCI启动DMA的话,判断DMA结束依然要求PCI做出判断,这样的话肯定会降低DMA突发传输的速率,是否斑竹做过类似的测试,从PCI方启动DMA传输能够达到多高的传输速率?

cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-10-30 14:03
请举一个例子好吗?我还是不明白,怎么实现?
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-10-30 11:56
启动DMA需要local master,启动了以后9054就成了local master.
兄弟们,给点分吧
cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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使用不到这些的。
我不太明白请讲清楚些。
我好痛苦!!!!
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-10-30 09:24
1.高速设计一般都使用DMA.
2.local设备可以发起传输,前提是他是个master.
3.很少有人使用demand mode,除非它的目标是最简化系统.
兄弟们,给点分吧
上一页
游客

返回顶部