johnxhf
驱动牛犊
驱动牛犊
  • 注册日期2002-05-30
  • 最后登录2005-06-05
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1328回复:6

请教用过pci总线接口芯片的大虾!

楼主#
更多 发布于:2002-08-05 19:49
如果我用的是pci9052或pci9030,假如我的local space0中映射了1k的存储地址
那么是不是我对pci9052输出地址线译码时只需要10跟地址线,而不需要全地址译码?
还有如果我这1k的存储空间的基地址为240000h,那LAS0BA中的内容是多少?
是不是02400001h.
linyulun
驱动小牛
驱动小牛
  • 注册日期2002-03-18
  • 最后登录2014-05-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望61点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-05 21:16
只需要10根地址线是对的,待要注意空闲的地址线要接固定电平,然后访问由接的固定电平决定的地址空间。
stroll
驱动小牛
驱动小牛
  • 注册日期2001-10-26
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分161分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-06 09:18
误人子弟
johnxhf
驱动牛犊
驱动牛犊
  • 注册日期2002-05-30
  • 最后登录2005-06-05
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-06 10:20
到底是怎样的!大虾能告诉我吗?刚接触pci,还请各位前辈指教!!
lili_ue
驱动小牛
驱动小牛
  • 注册日期2001-06-30
  • 最后登录2018-04-22
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-08-08 22:20
PCI的地址是由系统统一分配的,你写的基地址并不是实际甬道的地址。
asic_liu
驱动中牛
驱动中牛
  • 注册日期2002-04-26
  • 最后登录2004-11-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-08-09 09:04
全地址译码不必要!
但实际地址你写入只是一个参照地址,系统会根据你的设置将它进行转换,实际使用的地址不是你写入的值,关于这个问题有虚拟地址和物理地址之分,你去看看关于驱动方面的书。
这个地址你可以通过操作pci的基地址寄存器得到!
家住虚无飘渺中, 本与世间无相争。 忽如一日刀兵起, 笑傲江湖一狂生。
lllggg
驱动小牛
驱动小牛
  • 注册日期2002-05-04
  • 最后登录2007-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-08-10 23:45
大家好象没有弄清他的问题, 他是问9052的LOCAL地址译码问题,而不是PCI在微机系统的地址映射问题. 同时他本人的问题也有问题,如果LOCAL只接1K的存储器,那么根本不需地址译码,将10根地址线直接接到存储器地址线即可,CS#信号接地. 地址译码的目的是空间选择和分配,所需地址译码线的多少与存储空间大小没有直接联系,而与空间的个数有关系.比如LOCAL有8个存储器,那么只需3根地址线. 对于9052,如果只SLAVE方式,而且LOCAL部分没有处理器对9052操作,那么其他不用的高位地址可以不必处理,因为他们只作为输出信号. 如果他的意思是对1K以内的地址进行I/O译码来控制外围器件,那么根据需要从LA9往下取若干地址线即可。
(DEEP + BROAD + SIMPLE) & delicate
游客

返回顶部