單片機(jī)程序存儲(chǔ)器的擴(kuò)展
當(dāng)單片機(jī)內(nèi)部程序存儲(chǔ)器容量不足時(shí),就需要進(jìn)行程序存儲(chǔ)器的擴(kuò)展。單片機(jī)的程序存儲(chǔ)器擴(kuò)展使用只讀存儲(chǔ)器芯片。只讀存儲(chǔ)器ROM中的信息一旦寫入之后就不能隨意更改,即不能在程序運(yùn)行過(guò)程中寫入新的內(nèi)容,而只能讀存儲(chǔ)單元內(nèi)容。因?yàn)榈綦姾驲OM中存放的數(shù)據(jù)不會(huì)丟失,所以ROM適宜存放程序、常數(shù)、表格等。存儲(chǔ)器擴(kuò)展的核心問(wèn)題是存儲(chǔ)器的編址問(wèn)題。所謂編址就是給存儲(chǔ)單元分配地址。由于存儲(chǔ)器通常由多片芯片組成,因此存儲(chǔ)器的編址分為兩個(gè)層次,即存儲(chǔ)器芯片的選擇和存儲(chǔ)器芯片內(nèi)部存儲(chǔ)單元的選擇。一、存儲(chǔ)器編址技術(shù)編址就是給存儲(chǔ)單元分配地址。使用系統(tǒng)提供的地址線,通過(guò)適當(dāng)?shù)倪B接,使得一個(gè)地址唯一對(duì)應(yīng)存儲(chǔ)器中一個(gè)存儲(chǔ)單元。存儲(chǔ)器芯片的選擇有兩種方法:
1.線選法----直接以系統(tǒng)的地址作為存儲(chǔ)芯片的片選信號(hào)。優(yōu)點(diǎn)是簡(jiǎn)單不需增加額外電路,適用于小規(guī)模單片機(jī)系統(tǒng)的存儲(chǔ)器擴(kuò)展;缺點(diǎn)是存儲(chǔ)空間不連續(xù)。
2.譯碼法---使用譯碼器對(duì)系統(tǒng)的高位地址進(jìn)行譯碼,以其譯碼輸出作為存儲(chǔ)芯片的片選信號(hào)。優(yōu)點(diǎn)是存儲(chǔ)空間連續(xù),適用于大容量多芯片存儲(chǔ)器擴(kuò)展;缺點(diǎn)是硬件設(shè)計(jì)需要增加譯碼器。
3.譯碼器
譯碼法時(shí)需要采用譯碼芯片,常見譯碼芯片有:74LS139(雙2-4譯碼器)和74LS138(3-8譯碼器)等,它們的CMOS型芯片分別是74HC139和74HC138。74LS138如圖1所示。
圖1 74LS138芯片
74LS138的真值表說(shuō)明了其輸入輸出以及控制信號(hào)的關(guān)系,如圖2所示。
圖2 74LS138的真值表 二、EEPROM接口設(shè)計(jì)
以2764為例來(lái)說(shuō)明存儲(chǔ)器的擴(kuò)展接口設(shè)計(jì)方法。2764是一種8K×8位的紫外線擦除電可編程只讀存儲(chǔ)器,單一+5V供電,工作電流為100mA,維持電流為50mA,讀出時(shí)間最大為250ns。2764為雙列直插式28引腳的標(biāo)準(zhǔn)芯片,容量為8K×8位。其引腳見圖3。
2764在使用時(shí),只能將其所存儲(chǔ)的內(nèi)容讀出。即首先送出要讀出的單元地址,然后使和均有效(低電平),則在芯片的D0~D7數(shù)據(jù)線上就可以輸出要讀出的內(nèi)容。其過(guò)程的時(shí)序關(guān)系如圖4所示。
圖3 2764引腳圖 圖4 2764時(shí)序圖
以下兩個(gè)例子均采用2764,分別采用線選法和譯碼法來(lái)進(jìn)行程序存儲(chǔ)器擴(kuò)展。
例1.采用線選法,使用兩片2764,一共構(gòu)成8K×2=16K的有效地址。
解:2764有13根地址線,分別由P0.0~P0.7、P2.0~P2.4提供,系統(tǒng)的P2.5~P2.7沒有用,采用2片2764構(gòu)成系統(tǒng),則可以使用P2.5~P2.7中的任何2根作為線選線,在本設(shè)計(jì)中采用P2.5和 P2.6作為線選線,則可分析得到這2塊芯片的基本地址范圍。
假設(shè)未用地址線取0,則2764(1)的基本地址范圍:4000H~5FFFH。
假設(shè)未用地址線取0,則2764(2)的基本地址范圍:2000H~3FFFH。
圖5 線選法擴(kuò)展
例2.用EPROM2764擴(kuò)展生成24KB的程序連續(xù)存儲(chǔ)空間,采用74LS138譯碼,要求該24KB的地址空間從8000H開始編碼。
解:由于1塊2764芯片是8KB,所以要生成24KB的程序存儲(chǔ)空間需要3塊2764芯片;由于生成的是連續(xù)的存儲(chǔ)空間,所以采用譯碼法。地址空間要求從8000H開始編碼,則
2764(1)的基本地址范圍:8000H~9FFFH:
2764(2)的基本地址范圍:A000H~BFFFH:
2764(3)的基本地址范圍:C000H~DFFFH:
觀察3塊芯片的高位地址線A15~A13,并考慮74LS138譯碼器的輸入與輸出之間的關(guān)系(見圖2)可知,3塊2764芯片應(yīng)依次接Y4、Y5、Y6輸出端。擴(kuò)展電路圖見圖6。
圖6 譯碼法擴(kuò)展
編輯:admin 最后修改時(shí)間:2018-05-08