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

高分求助--PCI9054

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

最新喜欢:

kiki_mekiki_m...
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-29 10:40
似乎不可能,DEMAND MODE效率很低.
兄弟们,给点分吧
aquila
驱动牛犊
驱动牛犊
  • 注册日期2002-07-14
  • 最后登录2003-09-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-29 11:07
这样的话,是不是只能靠pci端发起DMA传输?
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-29 11:12
如果你fpga设计水平可以的话,可以尝试写一个LOCAL MASTER,我这里实际上就是用了这个办法.
兄弟们,给点分吧
aquila
驱动牛犊
驱动牛犊
  • 注册日期2002-07-14
  • 最后登录2003-09-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-29 11:32
那样的话效率会比pci端发起高很多?
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-29 11:45
在某些需要实时响应的场合,靠软件启动的pci端实际上是无能为力的.
兄弟们,给点分吧
hjcomm96
驱动牛犊
驱动牛犊
  • 注册日期2002-07-15
  • 最后登录2004-10-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-10-29 15:11
请教斑竹:
  如果我现在利用中断的方式直接处理DMA传输,占用微机的一个中断源,中断频率最高可到1K,你认为可行吗?
  还有一个问题想问斑竹呵呵:
  采用DMA传输时,你是如何启动,又如何判断传输结束的?
  

jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-10-29 15:22
1k应该是做不到的,有时候中断响应会延迟70ms,谁让windows不是实时操作系统呢.
local master可以去读写9054的控制寄存器.
兄弟们,给点分吧
cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-10-29 15:49
请问斑竹您是怎么做的,我也是一个新手!谢了!
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-10-29 19:26
一句两句是说不清的,大概的意思上面已经说了。
兄弟们,给点分吧
cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-10-30 08:51
我的板子要求速度很高,是不是超过50m都得用DMA方式,LOCAL设备
也可以发起传输吗?你说DEMAND MODE效率很低,是不是说告诉得跟不上,那么采用什么方式呢?请具体指点迷经?
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-10-30 09:24
1.高速设计一般都使用DMA.
2.local设备可以发起传输,前提是他是个master.
3.很少有人使用demand mode,除非它的目标是最简化系统.
兄弟们,给点分吧
cetc54
驱动牛犊
驱动牛犊
  • 注册日期2002-10-29
  • 最后登录2005-03-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于: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分
13楼#
发布于: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分
14楼#
发布于:2002-10-30 14:03
请举一个例子好吗?我还是不明白,怎么实现?
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-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结束传送(或者产生某种中断)
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于: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分
18楼#
发布于:2002-10-31 09:36
您的意思是说是不是操作系统好的话(比如VXWORKS)是不是采用什么DMA的方式都行,我们的系统准备采用RTOS.
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-10-31 09:41
RTOS应该好很多.
兄弟们,给点分吧
上一页
游客

返回顶部