zhouandraw
驱动牛犊
驱动牛犊
  • 注册日期2004-03-19
  • 最后登录2005-10-21
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1933回复:4

我的硬件实现PCI9054本地寻址(同时请教)

楼主#
更多 发布于:2004-11-05 12:02
现在用PCI9054,NAT9914,74LS373,74LS245(两片),组成一块接口卡。
其中NAT9914是GPIB控制芯片,不是微处理器,片上带有8个寄存器,具有CE#、RS0-RS2四个引脚来控制9914片选和寄存器选择;74的芯片各有一个CE#片选脚。(#代表低电平有效)
我现在选用C模式,9054的EEPROM设为无效,现在用以下方式进行寻址:
LA2----RS0
LA3----RS1
LA4----RS2
LA5----CE#(9914)
LA6----CE#(373)
LA7----CE#(245)
LA8----CE#(245)
如果寻址9914的03寄存器,则软件寻址时使用mem_output(0x73,data);(即1110011)
如果寻址74LS373,则软件寻址时使用mem_output(0x68,data);(即1101000)以此类推。

我的疑问是:
1.这种方式是否正确;
2.如果正确,是否在寻址时驱动程序中要将offset_address乘以4来处理对应没有LA0和LA1的问题;
3.如果正确,LA9-LA31是否应该全部硬件置为0(即接地)。
扒皮周
dengyih
驱动牛犊
驱动牛犊
  • 注册日期2004-11-02
  • 最后登录2004-11-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-09 13:11
LA0和LA1是由LBE(0-3)产生的。若只使用LA2以上的地址,则在PCI端对应的地址映射应该是32位,即4个字节。
另外,如果使用默认的VENDER ID和DEVICE ID在DATA SHEET上有,一时间,我又没找出来,VENDER ID 好像是0x9054,真是不好意思。
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2004-11-06 23:59
用户被禁言,该主题自动屏蔽!
zhouandraw
驱动牛犊
驱动牛犊
  • 注册日期2004-03-19
  • 最后登录2005-10-21
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-11-05 17:20
猫哥,我也知道9054大才小用了,可是老板要DMA,同时他手上才买了两块9054,说的是先拿这个做,做好了再考虑便宜的片子。

另外你还没有说我的想法对不对呢。我找了好多篇论坛上的文章,可是还是没有头绪。

我还想多问一句:datasheet上说检测不到EEPROM时会返回到默认值,这个default value是什么啊。

感谢感谢!
扒皮周
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2004-11-05 15:58
用户被禁言,该主题自动屏蔽!
游客

返回顶部