存储芯片与CPU连接应注意哪些问
我们就拿你说的2K+8K这样的芯片组合来说吧。假设地址线有16根,设2K的芯片为M,8K的芯片为N。假设译码器的输出是高电平有效,低电平无效。
首先写出两个芯片地址区间的二进制表示。
M始 │0000│0000│0000│0000┃
M末 │0000│0111│1111│1111┃
N始 │0000│1000│0000│0000┃
N末 │0010│0111│1111│1111┃
发现只要A15~A11为0,那么无论A10~A0这几根地址线怎么变化,整个16根地址线的寻址结果都落在M的范围内。 只要(A11=1 && A15~A12=0) || (A15=A14=A12=A11=0 &&...全部
我们就拿你说的2K+8K这样的芯片组合来说吧。假设地址线有16根,设2K的芯片为M,8K的芯片为N。假设译码器的输出是高电平有效,低电平无效。
首先写出两个芯片地址区间的二进制表示。
M始 │0000│0000│0000│0000┃
M末 │0000│0111│1111│1111┃
N始 │0000│1000│0000│0000┃
N末 │0010│0111│1111│1111┃
发现只要A15~A11为0,那么无论A10~A0这几根地址线怎么变化,整个16根地址线的寻址结果都落在M的范围内。
只要(A11=1 && A15~A12=0) || (A15=A14=A12=A11=0 && A13=1),那么无论A10~A0这几根地址线怎么变化,整个16根地址线的寻址结果都落在N的范围内。
所以我们应该将低11位的地址线接到M和N上,然后随意设计一个片选逻辑,只要这个片选逻辑能使得:当(A11=1 && A15~A12=0) || (A15=A14=A12=A11=0 && A13=1)时,只有N芯片被选中,当A15~A11为0时,只有M芯片被选中,那么这个片选逻辑就是一个正确的片选逻辑。
鉴于在M和N的范围内,A15和A14始终是为0的,所以不妨将这两根地址线接到译码器的控制信号上,使得只有这两根地址线为低电平时译码器才工作。而将A11、A12、A13分别接到译码器的A、B、C端。
于是Y0就是A11~A13皆为0时的译码结果,很自然地把Y0非(因为通常片选信号要低电平有效,所以不是Y0而是Y0非)接到M的片选信号端,而当(A11=1 && A12=A13=0)时译码结果是Y1, 当(A12=A11=0 && A13=1)时,译码结果是Y4,所以Y1和Y4做一个或非操作,然后接到N的片选信号端(这意味着Y1和Y4中的任意一个被译码器译中时,N都会被选中)。
注意,整个过程中,只有当A15和A14皆为低电平时,译码器才会工作。
当然,你也可以不用译码器,而是用门电路来做片选信号。比如你可以把A15~A11这五根地址线的非一起搞一个与非操作,然后把与非的结果送到M的片选新号端。
不过这种做法对于N的片选来说就稍显麻烦。收起