打印

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

[复制链接]
3671|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者

谢谢

高手们能解释一下为什么器件挂多了不行?各个器件都有片选,并不是同时使用总线啊。有可能是每个器件的数据口都有输入电容,器件多少,电容太大?

使用特权

评论回复
5
老狼| | 2007-6-27 11:56 | 只看该作者

估计是你的设计问题

我的总线上挂的器件不少,没有任何问题。数据总线上加了上拉电阻没有/
单独测每一部分都是没问题的,那就一个一个往上加,看看到底是那部分出了问题/查的方法很简单。

使用特权

评论回复
6
suntds|  楼主 | 2007-6-27 14:02 | 只看该作者

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

SRAM的影响大一些,取下其中一片后就没问题,或者把CYPRESS的换成兼容的SAMSUNG的也没有问题.

使用特权

评论回复
7
armecos| | 2007-6-27 17:23 | 只看该作者

负载太重了,

    而且没有留有余地。
    一般TTL可以直接带8个负载,一般取6,CMOS器件带负载能力更弱,还应酌情减少。超过的,需要加驱动器件。

使用特权

评论回复
8
老狼| | 2007-6-28 22:40 | 只看该作者

数据总线上加上拉电阻

应该就可以了

使用特权

评论回复
9
老狼| | 2007-6-28 22:53 | 只看该作者

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

你看一下,两种芯片的参数是否一样,都是多少 ns的,如果都是70ns的,则与速度无关,再看功耗部分,如果速度不同,注意可能是你的总线访问RAM太快了,需要加总线延时等待,我的at91 需要在 EBI中设定,不知道你用的是哪种ARM, 反正就这两种可能,功耗和速度,我估计速度的方面大一些。

另外,数据总线加上拉电阻,这个你试一下。

使用特权

评论回复
10
suntds|  楼主 | 2007-6-29 08:58 | 只看该作者

多谢老狼回复

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

使用特权

评论回复
11
HQGBOY| | 2007-6-29 10:59 | 只看该作者

顶...

使用特权

评论回复
12
suntds|  楼主 | 2007-6-29 11:50 | 只看该作者

更正

Cypress是45ns的

使用特权

评论回复
13
xwj| | 2007-6-29 12:14 | 只看该作者

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

使用特权

评论回复
14
老狼| | 2007-6-29 16:52 | 只看该作者

有点乱!等一下!!

7楼: 负载太重了, 

    而且没有留有余地。
    一般TTL可以直接带8个负载,一般取6,CMOS器件带负载能力更弱,还应酌情减少。超过的,需要加驱动器件。

13楼: 注意数字电路的一个基本参数:扇出系数
//------------------------------
   看了二位的贴子,我也有点怀疑我的**了,难道是我记错了,上面的说法都没错。但是否应该说是同时工作的芯片,本贴中的问题是,有多个片选信号
/CS,不存在同时工作的情况,搂主,你核对一下你所用的,挂在总线上的所有芯片的数据手册,是否都有这样的说法:当片选信号为高时,芯片的I/O端都为高阻状态,如果是这样,那就与扇出系数无关!
  
  扇出系数是一个重要的参数,但我觉得用的前提条件有点问题,可能是我的**出了问题,待验证!闻过则喜。
  
 
 

使用特权

评论回复
15
zhiwei| | 2007-6-29 17:22 | 只看该作者

降频使用看看还会不会出现问题。如果好了那么就是驱动能力弱导致的。

使用特权

评论回复
16
suntds|  楼主 | 2007-7-2 21:51 | 只看该作者

多谢回复

我查到SRAM,在片选无效时数据口是高阻态,其它几个没查到。
降频工作应该可以的,我用的是20M时钟,但我的ARM(AT91R40807)比较弱,不能通过设置寄存器降频,换晶振又麻烦,所以没试,但在访问SRAM时在EBI的寄存器插入等待是可以正常工作的。

使用特权

评论回复
17
zhenglixin| | 2007-7-3 12:31 | 只看该作者

re:

容性负载可能太重

使用特权

评论回复
18
tigergg| | 2007-7-4 00:04 | 只看该作者

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

一般不需具体计算

使用特权

评论回复
19
老狼| | 2007-7-4 23:04 | 只看该作者

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


降频工作应该可以的,我用的是20M时钟,但我的ARM(AT91R40807)比较弱,不能通过设置寄存器降频,换晶振又麻烦,所以没试,但在访问SRAM时在EBI的寄存器插入等待是可以正常工作的
--------------------------------------------------------
1:在片选无效时数据口是高阻态-----这是最基本的常识了。

2:数据总线上加上拉电阻----------这也是必需的,你可以下载一个40807的 demo原理图看看.我用的最多的是40008。

3:你的态度不够认真,这个小问题,搞了一个星期,如果我是老板,嘿嘿!!

使用特权

评论回复
20
zhenglixin| | 2007-7-5 08:13 | 只看该作者

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

129

帖子

0

粉丝