whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1273回复:5

这样解码对吗?

楼主#
更多 发布于:2002-04-25 19:50
情况是这样的,我用S5920(一种PCI接口芯片)+EPM7128+ram做了一个卡,ram是32K.Windows给我的卡的地址是D9200000~D9207FFF.我在做EPM7128地址解码的时候,是直接把PCI总线的低15位地址线(其中低两位是自己产生的,我请教过你),做为我的sram的地址线。现在我担心的问题是这个Windows给我的逻辑地址,是否和sram的物理单元一致。也就是说,我给D9200000发数据,数据会发到sram的第一个单元,给D9200001发数据,数据会发到sram的第二个单元里面。我希望如此。但是我不知道直接把PCI总线的低位地址接过来,作为计数器的输出,也就是sram的地址线,这样解码对不对?
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-26 09:15
如果你使用9052,9054之类的芯片,这种32位到16位或8位的映射关系只需要设几个寄存器控制一下就可以了,5920有没有这种功能我还不清楚.如果没有,我可能会考虑编写一个小的状态机实现转换.
兄弟们,给点分吧
whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-26 11:42
8位接口,5920只要在寄存器里面申明就可以了。我担心的是BIOS在为我的卡的sram分配地址的时候,不是把地址分配在以32k为边界的物理地址上,这样,向D9200000地址发送数据的时候,物理地址的低15位不是000,而我又直接把PCI地址线低15位地址作为sram的地址,可能导致数据发到sram其他单元里。无法实现逻辑地址和sram的物理单元的一一对应。
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-26 14:02
绝对不会出现这种情况,板卡申请的资源,一定会分配在物理边界恰好合适的地址上
兄弟们,给点分吧
whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-27 14:07
版主的意思是不是它的硬件的低位地址也是 0000~7FFF?
jst7792
论坛版主
论坛版主
  • 注册日期2001-12-10
  • 最后登录2006-11-16
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-27 14:48
没错
兄弟们,给点分吧
游客

返回顶部