teleboy
驱动牛犊
驱动牛犊
  • 注册日期2003-07-10
  • 最后登录2004-05-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3356回复:5

9054的RETRY与TRDY

楼主#
更多 发布于:2003-10-14 17:55
9054的datasheet中,157页关于延迟TRDY信号有以下表述:The PCI Target Retry Delay Clocks bits (LBRD0[31:28]) can be used to program the period of time in which the PCI 9054 holds off TRDY#. The PCI 9054 issues a Retry to the PCI Bus Transaction Master when the programmed time period expires.
那么是不是说,只要PCI Target Retry Delay Clocks设置为非零,当延迟时间到后,9054就要给PCI一个Retry信号,而无论9054是否完成在本地总线的取数操作。也就要求PCI在2的15次方的clocks内要重新发起同一个读操作。
那后一句:This occurs when the PCI 9054 cannot gain control of the Local Bus and return TRDY# within the programmed time period.又该如何理解呢?
9054这一位的默认值是4,难道在32个clocks过后,PCI又要发起一次读操作吗?
请高手明示!谢谢!
windyz
驱动牛犊
驱动牛犊
  • 注册日期2003-03-10
  • 最后登录2007-01-18
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-14 18:38
当然是延迟时间到后,如果读/写访问失败才Retry的。
你那个问题我觉得应该还是FPGA程序问题

[编辑 -  10/14/03 by  windyz]
teleboy
驱动牛犊
驱动牛犊
  • 注册日期2003-07-10
  • 最后登录2004-05-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-14 18:55
我的CPLD只是用9054的LW/R信号给出了RAM的读写和片选,再一个就是地址译码。也搞不清是什么问题。
看TRDY#和数据波形,发现如果数据间隔出现,TRDY#有效的同时,有数据信号出现,但因为同FFFFFFFF间隔出现,所以信号边沿不是很分明,如果读不出数据,那TRDY#有效时,根本就没有数据信号出现。
现在观察到有stop#信号,但不知为什么?
windyz
驱动牛犊
驱动牛犊
  • 注册日期2003-03-10
  • 最后登录2007-01-18
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-14 20:15
用9054的LW/R信号给出RAM的读写我觉得有问题。
LW/R信号已外部下拉,也就是说手册上的LW/R波形是不正确的。(除非你对LW/R做外部上拉,或直接使用9054内部100K的上拉。)因而你是无法用LW/R信号做OE和片选的。同样在写过程中LW/R为高,此时就无法用作片选和WE呀。
我记得你说过写是正常的,说明9054到PCI的时序是正确的,不用考虑这个部分,而且应该改改FPGA的程序。
teleboy
驱动牛犊
驱动牛犊
  • 注册日期2003-07-10
  • 最后登录2004-05-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-14 21:00
windyz兄,给你发了邮件,望能帮忙解决。
分如数送上。
十分感谢!
teleboy
驱动牛犊
驱动牛犊
  • 注册日期2003-07-10
  • 最后登录2004-05-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-14 22:15
不用NO Flush和prefetch disable ,将PCI Target Retry Delay Clock 设置成0和1时,有Stop#信号,但和IRDY不对齐。设成2时,读时总是重启。设成3及大于3时,没有任何信号,包括LHOLDA,LW/R,这是为什么?
游客

返回顶部