資源描述:
《sram地址線的連接》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、SRAM地址線的連接?在嵌入式系統(tǒng)設(shè)計過程中,由于主控芯片(如ARM、PPC、MIPS等)片上的存儲空間不夠大,經(jīng)常需要外接存儲器芯片(如ROM、SRAM、SDRAM、DDR2、NandFlash等),因此,弄清楚主控芯片與外界存儲芯片的引腳連接原理至關(guān)重要,由于NandFlash的引腳連接比較簡單,不涉及地址線的連接,而SDRAM和DDR2訪問原理與ROM和SRAM有一些不同,故以后再專門講述,這里我將主要介紹ARM與ROM、SRAM這兩種存儲芯片的連接。???首先,我們看一個電路圖。??這個
2、電路圖為三星公司的ARM芯片s3c2440與1片128KB的SRAM芯片的連接原理圖。其中,SRAM芯片的引腳與圖中芯片方框圖中所標(biāo)示,而ARM芯片的引腳則為導(dǎo)線上的標(biāo)號。???初學(xué)者可能會有幾個疑問,為什么SRAM芯片的A0地址引腳連接的是ARM芯片的A1引腳呢?那什么情況下SRAM芯片的A0連接ARM芯片的A0引腳呢????首先,我們分析一下圖中的SRAM芯片,該芯片有A0~A15一共16根地址線,有D0~D15一共16根數(shù)據(jù)線,故其存儲空間為2^16*16bit=2^17*8bit=2^1
3、7byte=128KB???我們知道,要尋址?128KB?需要17根地址線(128?=2^17),然而SRAM芯片的地址引腳卻只有16根,ARM端該如何給地址線呢????由圖可以看出,SRAM芯片的數(shù)據(jù)總線是16位寬,即一次傳輸2個字節(jié)的數(shù)據(jù)。因此,我們可以這樣理解,即一個地址空間其實對應(yīng)著2個字節(jié)的數(shù)據(jù),實際上真正的尋址空間只有64KB而已,16根地址線足夠。這樣ARM端并不需要將17根地址線全部連接到SRAM芯片上,只需要給出高16位地址(A1~A16),然后,SRAM芯片即根據(jù)這16根地址
4、找到對應(yīng)的地址空間,將該地址空間的2個字節(jié)發(fā)送到數(shù)據(jù)總線上,然后ARM端根據(jù)未連接到SRAM芯片的A0的電平,來決定具體是取高字節(jié),還是低字節(jié)。????由這些分析可以推出一個規(guī)律,即ARM端的地址線到底是A0、A1還是A2連接存儲芯片的A0,取決于存儲系統(tǒng)的數(shù)據(jù)總線位寬,如果是8位則A0->A0,如果是16位則A1->A0,如果是32位則A2->A0。????大致搞清楚了上面的原理后,ARM與存儲芯片的連接方法也就很清晰了,下面給幾張分別描述了各種情況下的ARM與存儲芯片的連接示意圖(截取自s3
5、c2440的datasheet)。??【說明】:上圖的ROM為2^16x8bit=64KB,由于數(shù)據(jù)總線為8位寬,故一個地址空間對應(yīng)著1個字節(jié),故ARM端的A0連接ROM的A0【說明】:上圖中,由兩片8位寬64KB的ROM構(gòu)成了一個16位寬的存儲系統(tǒng)?!菊f明】:上圖中,由四片8位寬的ROM構(gòu)成了一個32位寬的存儲系統(tǒng)。??那么,留一個小問題供大家思考,如果將ARM的A0~A15引腳連接一個16位寬的SRAM的A0~A15引腳,會發(fā)生什么現(xiàn)象????注,本文討論的ARM芯片是沒有類似SDRAMCo
6、ntroller這樣的存儲器控制器的ARM芯片,對于有類似SDRAMController模塊的ARM芯片,它會根據(jù)寄存器配置的外接DDR芯片數(shù)據(jù)位寬,在硬件上將ARM的地址線引腳進(jìn)行的左移操作,例如當(dāng)數(shù)據(jù)位寬為16位時,硬件上將ARM的A1腳的電平移至A0,依次類推。所以,這樣的ARM芯片不需要根據(jù)本文的方法連接,而直接將ARM端的A0~Ax連接到存儲器的A0~Ax即可。