在嵌入式系统设计过程中,由于主控芯片(如ARM、PPC、MIPS等)片上的存储空间不够大,经常需要外接存储器芯片(如ROM、SRAM、SDRAM、DDR2、Nand Flash等),因此,弄清楚主控芯片与外界存储芯片的引脚连接原理至关重要,由于Nand Flash的引脚连接比较简单,不涉及地址线的连接,而SDRAM和DDR2访问原理与ROM和SRAM有一些不同,故以后再专门讲述,这里我将主要介绍ARM与ROM、SRAM这两种存储芯片的连接。
首先,我们看一个电路图。
这个电路图为三星公司的ARM芯片s3c2440与1片128KB的SRAM芯片的连接原理图。其中,SRAM芯片的引脚与图中芯片方框图中所标示,而ARM芯片的引脚则为导线上的标号。
初学者可能会有几个疑问,为什么SRAM芯片的A0地址引脚连接的是ARM芯片的A1引脚呢?那什么情况下SRAM芯片的A0连接ARM芯片的A0引脚呢?
首先,我们分析一下图中的 SRAM芯片,该芯片有A0~A15一共16根地址线,有D0~D15一共16根数据线,故其存储空间为 2^16 * 16 bit = 2^17 * 8 bit = 2^17 byte = 128KB
我们知道,要寻址 128KB 需要 17 根地址线(128 = 2^17 ),然而SRAM芯片的地址引脚却只有16根,ARM端该如何给地址线呢?
由图可以看出,SRAM芯片的数据总线是16