阅读:1719回复:7
关于9052的几个基本问题这的确是几个基本的问题,但困扰了我很长时间。不是我懒,但反复查资料依然不得其解,所以来这里请求各位给我点拔一二! 问题一:PCI基地址寄存器的问题。 基址寄存器指的是EEPROM中的基址单元呢,还是9052片内的某个寄存器? 总线配置机构回写地址时,写入了哪个寄存器?片内的,还是片外的EEPROM? 基址寄存器的值,可以用来确定该基址译码器的类型(IO或RAM),属性等,但确定地址空间范围和基地址的方法一直搞不太懂。 资料上说向这个寄存器里写FFFFFFFF,再读回,自高位向低位,第一个为1的位,其权值即为该基址请求的空间大小,那么基地址呢?由系统自动分配吗?我觉得应该是系统分配而不是在EEPROM中指定,这样可以避免不同设备的地址冲突,该怎么设置这个寄存器值?比如说我需要在基址寄存器0上申请一个64K的RAM空间,是否是在EEPROM基址0单元内设置值00010000即可(我忘了位0为0还是1代表RAM了),而不必去设置具体的基地址? 问题二:PCI译码地址和LOCALBUS地址间映射的问题。 都知道一个PCI功能有五个基址寄存器,9052也是如此。如果只有一个基址寄存器,还好理解一点儿,基址的值对应LOCALBUS地址0。如果有两个基址寄存器,一个用于RAM一个用于IO,在LOCALBUS侧也能分得清。但现在有五个,假如五个都用上,相当于PCI侧有五个地址段译码器,怎么能够映射到同一个LOCALBUS地址上的呢? 问题三:LCLK的问题。 9052的数据手册上说LCLK可以直接引用BCLK,但又有人说要加缓冲器,请有设计经验的同行介绍一个究竟该怎么用,布线上是否有什么讲究。 问题四:LOCALBUS读写时序的问题。 我并不想用ISA模式,但查看直接从模式读写的时序,发现在突发状态读写时,RD\\WR信号是持续的低电位,并没有为每个数据提供单独的低脉冲。对于读数据,地址变化即可,而写数据必须要有写脉冲,是否可以从LCLK中提取信号,与WR信号与非后做为写脉冲?我不知道别人是怎么解决这个问题的,上面的想法只是设想,不知可行否! 谢谢。 |
|
|
沙发#
发布于:2002-03-01 11:27
用户被禁言,该主题自动屏蔽! |
|
板凳#
发布于:2002-03-01 14:26
Tom.Cat真是有耐心,别的不再罗嗦了,只说一说时钟的问题.
时钟的布线有严格要求,具体说,你的系统中同步于同一时钟的芯片必须保证时钟传输延迟的一致性,一般为保证时钟传输稳定,需要在时钟两侧布置地线.过长的时钟线必须串联一个小电阻,目的是吸收线路分布电感电容引起的震荡. |
|
|
地板#
发布于:2002-03-02 22:50
新的数据手册、设计要点中都有有关方面的阐述。
不过 tom.cat 真是很有耐心。 |
|
|
地下室#
发布于:2002-03-03 19:27
cat兄能帮我解答问题,我非常感激。要知道,对于一个初学者来说,一个有耐心的老师是多么重要。不明白为什么楼上两位要反复“夸讲”CAT兄的耐心,难道非得对一个新手做出一付不屑一顾的神态、或是随手写几句云山雾绕的概念才能表现出自己的高明?人人都有自己不懂的东西,人人都经历过入门的阶段。到这里来的朋友,寻求答案的要比专门解答问题的多得多。本人目前能力有限,如果我能帮得上别人什么忙的话,不帮则已,帮就要帮得彻底些,把问题尽可能得讲清楚。我会愿意付出耐心。 :mad:
|
|
|
5楼#
发布于:2002-03-04 09:40
只是想夸奖一下Tom.Cat,没想到伤了你的自尊心,实在对不起,看来你比较敏感.
提个建议,如果问题比较多,最好把每个问题都分成一个贴子,否则太长的问题很少有人有耐心从头到尾看完,更不要说回复了. 引用: ----------------------------------------------------------- 问题二:PCI译码地址和LOCALBUS地址间映射的问题。 都知道一个PCI功能有五个基址寄存器,9052也是如此。如果只有一个基址寄存器,还好理解一点儿,基址的值对应LOCALBUS地址0。如果有两个基址寄存器,一个用于RAM一个用于IO,在LOCALBUS侧也能分得清。但现在有五个,假如五个都用上,相当于PCI侧有五个地址段译码器,怎么能够映射到同一个LOCALBUS地址上的呢? ----------------------------------------------------------- 回答: 基址寄存器配合Range寄存器实现地址映射,并不是一个基址寄存器就映射了整个的4G空间,它只映射Range所指定的这么一块空间,4G的空间中可以根据需要划分出很多你想要的地址段. 引用: ----------------------------------------------------------- 问题三:LCLK的问题。 9052的数据手册上说LCLK可以直接引用BCLK,但又有人说要加缓冲器,请有设计经验的同行介绍一个究竟该怎么用,布线上是否有什么讲究。 ----------------------------------------------------------- 回答: 严格的做法是必须加Buffer的,但如果不加未必出什么问题,这是个you\'d better而不是 you should not的问题.推荐还是应当加buffer,但这个buffer不是随便选取的,需要使用一种叫做零延迟的buffer,具体资料你可以到cypress网站上去找,型号是cy2305 引用: ----------------------------------------------------------- 我并不想用ISA模式,但查看直接从模式读写的时序,发现在突发状态读写时,RD\\WR信号是持续的低电位,并没有为每个数据提供单独的低脉冲。对于读数据,地址变化即可,而写数据必须要有写脉冲,是否可以从LCLK中提取信号,与WR信号与非后做为写脉冲?我不知道别人是怎么解决这个问题的,上面的想法只是设想,不知可行否! ----------------------------------------------------------- 回答: 这个问题说明你还是习惯于传统的异步时序设计,而对同步时序设计没有经验,建议多找点同步的芯片资料,分析一下时序特点.同步设计是大势所趋,早晚要掌握的. |
|
|
6楼#
发布于:2002-03-04 16:18
谢谢楼上的老哥!
您说得对,我是习惯于传统的异步电路,除了在做地址发生器时用过同步计数器之外,就没有再接触过别的同步电路了。我是从单片机转行到PCI的,确是新手,还望老哥多多指教。 |
|
|
7楼#
发布于:2004-02-18 10:09
新手还是要谦虚一点,只要能明白就行了,不要那么敏感嘛!
反正我是菜鸟,不怕说! :D |
|
|