在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6567|回复: 11

pci initiator 求助

[复制链接]
发表于 2003-7-7 17:05:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
   我目前准备设计一块pci卡,有些问题不明白。
由于传输数据量较大,因此想用initiator/burst方式,pci卡和内存之间如何交换数据?即交易开始的地址有何用处?还有突发长度我可不可以由initiator定死?如果一次想传输128个数据,假设initiator准备好,在交易过程中有没有可能由于其他原因少于128个数据?
如果是,实际传输的数据长度如何得知?
   谢谢!
发表于 2003-7-7 18:17:21 | 显示全部楼层

pci initiator 求助

你的问题提的很好,比较专业.
当传输数据量很大时只能是用burst方式(一般大于10MByte/S),burst方式可以采用PC机做Master的burst,也可采用板卡的initiator/burst方式,由于PC机做Master的burst方式不是很好控制,同时不同的芯片组使用也不一样,因此没有人使用。
设计时应该使用板卡initiator/burst方式,PCI卡与内存之间是通过板卡上的PCI FIFO和南桥内的PCI FIFO做数据交换来实现的,如果要用fpga做PCI控制器,应该考虑PCI FIFO的设计问题,与一般的FIFO有一点区别。交易开始的地址就是内存数据传输的起始地址。突发长度可以定的很大,如果一次想传输128个数据,在交易过程中是没有可能由于其他原因少于128个数据(除了你设计的不对),但是有可能这128个数据会被分为几个分段传送。
实际传送长度主要看你的应用需求,如果传送的数据量不是很大(比如10MByte),你可以直接设置传送长度为10M,但是如果传送数据很大或一直传送不停止,那么如果使用fpga做可以设计为pingpang结构,每一个设置传送长度不要太大(比如2M),与PC机软件协同实现数据传送。
 楼主| 发表于 2003-7-7 20:40:25 | 显示全部楼层

pci initiator 求助

    128个数据会被分为几个分段传送,几个分段是何含义?我在前面提到的问题是这个意思:“一次交易传输128个数据,即PCI initiator 获得gnt信号以后,发起一次交易,在此交易中,不能中断这128个数据传输,有可能irdy和trdy在某个时候没有准备好,但在此次交易中,不会有stop信号或其他的终止信号终止此次交易(假设initiator设计良好)。”我关心的是有没有可能在一次128个数据交易过程中被PCI桥提前终止?
    我以前设计过target 模式,调试时容易通过桥来读写PCI卡。当PCI卡工作于
initiator模式时,交易地址与PCI卡配置空间的Bar0是否是同一概念?我想不是,如果不是,我怎样控制交易地址,即如何得知往哪部分内存空间交易数据?
    关于PCI卡内部fifo问题,我也关注过,譬如当transact结束时,有可能从fifo多读取一个数据,有何较好的方法解决此问题?我在读xilinx的一些文档时,发现他利用“backup”技术,即多读fifo中的数据后,调整内部fifo的数据指针,让多读的数据重新填入到fifo中。我不想用这种方式控制fifo,请教你有何好方法?
     非常感谢你的答复!
发表于 2003-7-8 10:17:29 | 显示全部楼层

pci initiator 求助

你是没有办法保证一次传送128数据时不被打断的(我是说有可能被打断也有可能不被打断),因为产生停止是由你的板卡和主桥来决定的,即使你的板卡没有产生停止,但当主桥要求停止时(比如主桥的fifo满时),一次pci交易就会被打断,我们以前做过试验,当我把PCI配置寄存器MAX_GNT 和 LatencyTimer都设为0xff时(这样设定是为了使板卡能一次传送255个数据),通过测量每次交易的数据从来没到过255个,最多只有40个,分析其原因是由于主桥停止了交易。
我所设计的PCI交易地址就是位于Bar0内的,因为交易地址的设定是通过target方式来设定的。
我记得如果只作master read是可以用普通fifo的,但是作master write则一定要用带有backup的fifo
发表于 2003-8-9 10:56:17 | 显示全部楼层

pci initiator 求助

牛人啊,我怎么才能达到你们的水平呢?
发表于 2003-8-9 10:59:44 | 显示全部楼层

pci initiator 求助

26篇了,我终于快可以下到版主的程序了
发表于 2003-8-9 11:00:27 | 显示全部楼层

pci initiator 求助

我也没有办法,这里谢过了,版主
发表于 2003-8-9 11:01:33 | 显示全部楼层

pci initiator 求助

什么时候主设备或从设备可能会插入等待状态呢?
发表于 2003-8-9 11:02:11 | 显示全部楼层

pci initiator 求助

29了,胜利在望!
发表于 2003-8-16 23:51:46 | 显示全部楼层

pci initiator 求助

瞭解  謝謝
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-4-6 02:23 , Processed in 0.027045 second(s), 9 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表