总线上挂了太多器件,会导致工作不正常么?

[复制链接]
 楼主| suntds 发表于 2007-6-27 08:41 | 显示全部楼层 |阅读模式
数据总线上有ARM,DSP,SRAM 2,FLASH,AD,CS8900,单独测每一部分都是没问题的,但所有器件都焊上后,程序从FLASH加载到SRAM会跑飞,确定不是程序的问题,我诊断是总线上器件太多的缘故,但为什么会这样呢?难道在用个74LS245增加驱动?但我是16位数据总线,有没有16位的驱动芯片?
zlei 发表于 2007-6-27 08:58 | 显示全部楼层

74lvc16245

  
mybao 发表于 2007-6-27 09:09 | 显示全部楼层

用两个八位的不久行了吗

自己用的话就用两个245就行了,16bit的贵点
 楼主| suntds 发表于 2007-6-27 11:51 | 显示全部楼层

谢谢

高手们能解释一下为什么器件挂多了不行?各个器件都有片选,并不是同时使用总线啊。有可能是每个器件的数据口都有输入电容,器件多少,电容太大?
老狼 发表于 2007-6-27 11:56 | 显示全部楼层

估计是你的设计问题

我的总线上挂的器件不少,没有任何问题。数据总线上加了上拉电阻没有/<br />单独测每一部分都是没问题的,那就一个一个往上加,看看到底是那部分出了问题/查的方法很简单。<br /><br />
 楼主| suntds 发表于 2007-6-27 14:02 | 显示全部楼层

我的数据总线没有加上拉电阻

SRAM的影响大一些,取下其中一片后就没问题,或者把CYPRESS的换成兼容的SAMSUNG的也没有问题.
armecos 发表于 2007-6-27 17:23 | 显示全部楼层

负载太重了,

&nbsp;&nbsp;&nbsp;&nbsp;而且没有留有余地。<br />&nbsp;&nbsp;&nbsp;&nbsp;一般TTL可以直接带8个负载,一般取6,CMOS器件带负载能力更弱,还应酌情减少。超过的,需要加驱动器件。
老狼 发表于 2007-6-28 22:40 | 显示全部楼层

数据总线上加上拉电阻

应该就可以了
老狼 发表于 2007-6-28 22:53 | 显示全部楼层

把CYPRESS的换成兼容的SAMSUNG的也没有问题

你看一下,两种芯片的参数是否一样,都是多少&nbsp;ns的,如果都是70ns的,则与速度无关,再看功耗部分,如果速度不同,注意可能是你的总线访问RAM太快了,需要加总线延时等待,我的at91&nbsp;需要在&nbsp;EBI中设定,不知道你用的是哪种ARM,&nbsp;反正就这两种可能,功耗和速度,我估计速度的方面大一些。<br /><br />另外,数据总线加上拉电阻,这个你试一下。<br />
 楼主| suntds 发表于 2007-6-29 08:58 | 显示全部楼层

多谢老狼回复

SRAM速度问题我已经考虑到了,SAMSUNG的是50ns,Cypress的是50ns的,故我觉得不是访问速度的问题(访问的等待周期是在EBI的片选寄存器里设的,我都没加等待),Samsung的工作电流小,4mA,Cypress的工作电流最大25mA,功耗大了,可能确实是驱动能力的问题。<br />我用的是AT91X40系列的ARM,昨晚上查到他数据总线内部竟然没有上拉!<br />打算第二版加上拉电阻。<br />另:加上拉电阻可能会使沿变平缓吧?加上拉电阻与加驱动芯片两种方案是后者更好些?不过我个不大想用后者(4LS245),毕竟新加了一个芯片,还需要测试,要过高温。另外它的方向控制引脚(DIR)虽然用单独WR或RD都可以控制,但我觉得用RD和WR来共同控制DIR更好些,但这就需要另外的门电路了……
HQGBOY 发表于 2007-6-29 10:59 | 显示全部楼层

顶...

  
 楼主| suntds 发表于 2007-6-29 11:50 | 显示全部楼层

更正

Cypress是45ns的
xwj 发表于 2007-6-29 12:14 | 显示全部楼层

注意数字电路的一个基本参数:扇出系数

  
老狼 发表于 2007-6-29 16:52 | 显示全部楼层

有点乱!等一下!!

7楼:&nbsp;负载太重了,&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;而且没有留有余地。<br />&nbsp;&nbsp;&nbsp;&nbsp;一般TTL可以直接带8个负载,一般取6,CMOS器件带负载能力更弱,还应酌情减少。超过的,需要加驱动器件。<br /><br />13楼:&nbsp;注意数字电路的一个基本参数:扇出系数<br />//------------------------------<br />&nbsp;&nbsp;&nbsp;看了二位的贴子,我也有点怀疑我的**了,难道是我记错了,上面的说法都没错。但是否应该说是同时工作的芯片,本贴中的问题是,有多个片选信号<br />/CS,不存在同时工作的情况,搂主,你核对一下你所用的,挂在总线上的所有芯片的数据手册,是否都有这样的说法:当片选信号为高时,芯片的I/O端都为高阻状态,如果是这样,那就与扇出系数无关!<br />  <br />  扇出系数是一个重要的参数,但我觉得用的前提条件有点问题,可能是我的**出了问题,待验证!闻过则喜。<br />  <br />&nbsp;<br />&nbsp;<br />
zhiwei 发表于 2007-6-29 17:22 | 显示全部楼层

降频使用看看还会不会出现问题。如果好了那么就是驱动能力弱导致的。
 楼主| suntds 发表于 2007-7-2 21:51 | 显示全部楼层

多谢回复

我查到SRAM,在片选无效时数据口是高阻态,其它几个没查到。<br />降频工作应该可以的,我用的是20M时钟,但我的ARM(AT91R40807)比较弱,不能通过设置寄存器降频,换晶振又麻烦,所以没试,但在访问SRAM时在EBI的寄存器插入等待是可以正常工作的。
zhenglixin 发表于 2007-7-3 12:31 | 显示全部楼层

re:

容性负载可能太重
tigergg 发表于 2007-7-4 00:04 | 显示全部楼层

只要驱动电流足够就没问题

一般不需具体计算
老狼 发表于 2007-7-4 23:04 | 显示全部楼层

数据总线上加上拉电阻 就好了!

<br />降频工作应该可以的,我用的是20M时钟,但我的ARM(AT91R40807)比较弱,不能通过设置寄存器降频,换晶振又麻烦,所以没试,但在访问SRAM时在EBI的寄存器插入等待是可以正常工作的<br />--------------------------------------------------------<br />1:在片选无效时数据口是高阻态-----这是最基本的常识了。<br /><br />2:数据总线上加上拉电阻----------这也是必需的,你可以下载一个40807的&nbsp;demo原理图看看.我用的最多的是40008。<br /><br />3:你的态度不够认真,这个小问题,搞了一个星期,如果我是老板,嘿嘿!!<br /><br />
zhenglixin 发表于 2007-7-5 08:13 | 显示全部楼层

其实就是简单的RC原理,嘿嘿

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

129

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部