阅读:1328回复:6
请教用过pci总线接口芯片的大虾!
如果我用的是pci9052或pci9030,假如我的local space0中映射了1k的存储地址
那么是不是我对pci9052输出地址线译码时只需要10跟地址线,而不需要全地址译码? 还有如果我这1k的存储空间的基地址为240000h,那LAS0BA中的内容是多少? 是不是02400001h. |
|
沙发#
发布于:2002-08-05 21:16
只需要10根地址线是对的,待要注意空闲的地址线要接固定电平,然后访问由接的固定电平决定的地址空间。
|
|
板凳#
发布于:2002-08-06 09:18
误人子弟
|
|
地板#
发布于:2002-08-06 10:20
到底是怎样的!大虾能告诉我吗?刚接触pci,还请各位前辈指教!!
|
|
地下室#
发布于:2002-08-08 22:20
PCI的地址是由系统统一分配的,你写的基地址并不是实际甬道的地址。
|
|
5楼#
发布于:2002-08-09 09:04
全地址译码不必要!
但实际地址你写入只是一个参照地址,系统会根据你的设置将它进行转换,实际使用的地址不是你写入的值,关于这个问题有虚拟地址和物理地址之分,你去看看关于驱动方面的书。 这个地址你可以通过操作pci的基地址寄存器得到! |
|
|
6楼#
发布于:2002-08-10 23:45
大家好象没有弄清他的问题, 他是问9052的LOCAL地址译码问题,而不是PCI在微机系统的地址映射问题. 同时他本人的问题也有问题,如果LOCAL只接1K的存储器,那么根本不需地址译码,将10根地址线直接接到存储器地址线即可,CS#信号接地. 地址译码的目的是空间选择和分配,所需地址译码线的多少与存储空间大小没有直接联系,而与空间的个数有关系.比如LOCAL有8个存储器,那么只需3根地址线. 对于9052,如果只SLAVE方式,而且LOCAL部分没有处理器对9052操作,那么其他不用的高位地址可以不必处理,因为他们只作为输出信号. 如果他的意思是对1K以内的地址进行I/O译码来控制外围器件,那么根据需要从LA9往下取若干地址线即可。
|
|
|