一片外圍芯片具有一定的地址空間。例如11根地址線的芯片,其地址空間為2KB(2048)。這2KB地址空間在微處理器的內(nèi)存空間(如8位微處理器有16根地址線,能尋址64KB)中被分配在什么位置,由高位地址線A11~A15產(chǎn)生的片選信號(hào)來分別確定。當(dāng)外圍芯片多于一片時(shí),為了避免誤操作,必須利用片選信號(hào)來分別確定各芯片的地址分配。產(chǎn)生片選信號(hào)的方式不同,存儲(chǔ)器的地址分配也就不同。片選方式有線選、全譯碼和局部譯碼。 線選方式 線選方式,就是把一根高位地址線直接連外圍芯片的片選端,如圖1。圖中Ⅰ、Ⅱ、Ⅲ都是2KB×8位存儲(chǔ)器芯片,地址線 A10~A0 實(shí)現(xiàn)片內(nèi)尋址B?,F(xiàn)用3根高位地址線A11、A12、A13實(shí)現(xiàn)片選,均為低電平有效。為了不出現(xiàn)尋址錯(cuò)誤,當(dāng)All、A12、A13之中有一根地址線為低電平時(shí),其余兩根必須為高電平,即每次操作只能選中其中一個(gè)芯片,假設(shè)剩下的兩根高位地址線 Al4、A15都為低電平,這樣可得到3個(gè)芯片的地址分配,見表1。
圖1 用線選方式實(shí)現(xiàn)片選 表1 線選方式地址分配表 可以看出 3 個(gè)芯片的內(nèi)部尋址 A10~A0與都是從0~0(共11位),為2KB空間,而依靠不同的片選信號(hào)---高位地址線A11、A12、A13之中某一根為0,來區(qū)分這3個(gè)芯片的地址空間。 也可以用一根高位地址線加一“非門”,對(duì)兩片存儲(chǔ)器實(shí)現(xiàn)片選,如圖2所示。圖中當(dāng)A11為低電平時(shí)選通芯片Ⅰ,當(dāng)A11為高電平時(shí)選通芯片Ⅱ。類似上例方法,可得到兩芯片的地址空間為: 芯片Ⅰ 0000H 一 07FFH 芯片Ⅱ 0800H 一 0FFFH 線選方式的接口電路簡單,其缺點(diǎn)是芯片的地址空間相互之間可能不連續(xù),不能充分利用微處理器的內(nèi)存空間或者存在著地址重疊現(xiàn)象。不能充分利用內(nèi)存空間的原因是:用作片選信號(hào)的高位地址線的信號(hào)狀態(tài)得不到充分利用。在圖1中,All、A12、A13這3根地址線的信號(hào)狀態(tài)從000到111應(yīng)有8種,若采用譯碼方式能選通8個(gè)2KB 芯片,存儲(chǔ)空間共計(jì)16KB。但在線選方式下,只能使用其中3種狀態(tài)(即 3 位數(shù)碼中只允許1位為“0”) ,選通3個(gè)2KB芯片,存儲(chǔ)空間減為6KB。
圖2 用一根高位地址線對(duì)兩片儲(chǔ)器實(shí)現(xiàn)片選 所謂“地址重疊”是指一個(gè)存儲(chǔ)器芯片占用 一個(gè)以上的地址空間,或者說不同的地址會(huì)選通同一存儲(chǔ)單元。這是因?yàn)樽鳛槠x信號(hào)的某根高位地址線有效而選通該芯片時(shí),其它的高位地址線可能閑置未用,它們的電平可以為高也可以為低,這并不影響這個(gè)芯片的選通,但這樣該芯片就會(huì)有不同的地址空間。以圖1為例,當(dāng) Al1為低電平選通芯片I 時(shí),此時(shí) A12 、 A13 必須為高電平,然而表1中的 A14、A15的電平可高可低,這樣對(duì)于芯片I ,實(shí)現(xiàn)上存在 4 個(gè)地址空間,它們是 3000H 一 37FFH 、 7000H 一 77FFH 、 B000H 一 B7FFH 和 F000H 一 F7FFH 。同理,芯片Ⅱ和Ⅲ也有4個(gè)地址空間。對(duì)于地址重疊現(xiàn)象,使用者要清楚,并認(rèn)定其中一個(gè)地址空間進(jìn)行編程使用。 由于線選方式不能充分利用內(nèi)存空間,因此這種方式一般適用于存儲(chǔ)容量較小的系統(tǒng)。 |
|