引脚顺序对于此 RAM 是否重要?

电器工程 图片 路由 急速
2022-01-29 05:04:59

我正在尝试将 pic32 芯片路由到128kB SRAM芯片和连接所有 17 条地址线和所有 8 条数据线有点困难。我试图将前 16 个地址引脚连接到端口 B 引脚 0-15,将数据引脚连接到端口 D 0-7。经过一段时间的思考,我意识到我可能会尝试将 rb0 与 a0、rb1 与 a1 等对齐,从而使我的生活变得更加困难。我真正想做的就是向 portB 写入一个 16 位值并已加载并准备好大部分地址。如果我根据布线的容易程度进行引脚分配,则 mcu 和 ram 之间的逻辑地址会有所不同,但至少应该是一致的。由于没有其他东西需要与 RAM 通信,我认为如果 mcu 请求地址 0x101 而 RAM 给它地址 0x110,这将不是问题。

但是,我想知道这是否是一个好主意。如果 RAM 内部有一些结构旨在使顺序读取更有效,或者类似的东西,那么我可能想麻烦以 1:1 路由它们。两个芯片上的引脚排列对我来说有点随机,所以如果我可以忽略特定的数字,我会更容易。我应该或不应该这样做有什么好的理由吗?

2个回答

在这种情况下,交换数据位和交换地址位似乎是完全可以接受的。正如您在问题中提到的那样,情况并非普遍如此。

在这种情况下,该器件是一个静态 RAM - 快速浏览AS6C1008 数据表并没有表明任何能够进行任何类型的快速访问或任何与地址相关的时序依赖性。


一般的:

一些动态存储器通过锁存地址的高部分然后对低地址位进行排序来允许数据突发。这可能对应于已发布的逻辑行和列结构或一些在外部不明显的神秘内部机制。在这种情况下,您需要遵守数据表中的说明以避免存储故障。

一些早期的动态存储器依靠地址排序和访问时序来实现存储单元刷新。你现在不太可能遇到其中的任何一个。

一些存储器(闪存、eerom、其他一些)的寿命取决于访问次数,这可能是每次访问(读取或写入)或更通常仅每次写入,并且可能是每个内存位置或每个存储单元的某个子集. 在后一种情况下,如果您打乱地址线,您可能会干扰磨损均衡算法。这只会成为相当专业的设备的潜在问题,并且数据表可能会合理地明确要求

不,顺序无关紧要。地址线可以按任何顺序排列,数据线也可以。