摘 要:地址這個(gè)概念在不少?zèng)]有經(jīng)過實(shí)踐的人員頭腦中并不是很明朗,一般的MCU叢書在這方面也都是一筆帶過,并未對其進(jìn)行詳細(xì)的解釋。本文主要以51系列MCU的外部程序與數(shù)據(jù)存儲(chǔ)器的擴(kuò)展為例,針對MCU的外部地址編碼的原理及方法技巧做了一番簡單的闡述,希望能理解地址有所幫助。
關(guān)鍵詞:MCU(單片微型計(jì)算機(jī));地址線;數(shù)據(jù)線;控制線;編碼;譯碼
中圖分類號(hào):TN762
在如今日益復(fù)雜的實(shí)際控制應(yīng)用中,MCU的單片工作模式已經(jīng)越來越少,雖然如今MCU的功能已經(jīng)變得強(qiáng)大,但由于I/O腳數(shù)量、內(nèi)部數(shù)據(jù)程序存儲(chǔ)器等限制,MCU總需要一些外圍器件:ROM、RAM、D/A、A/D、CPLD/FPGA等。連接在MCU上的任何I/O口都具有地址,相對于內(nèi)部端口的固定地址,外部器件在系統(tǒng)所占據(jù)的地址空間除了與本身的容量參數(shù)有關(guān),還與MCU地址線的連接方式有關(guān),所以要想用好MCU的外圍器件,掌握MCU的外部地址編碼的原理與方法是必要的。
1 單片機(jī)擴(kuò)展外部存儲(chǔ)空間的方法
MCU訪問外部存儲(chǔ)器件時(shí),必須同時(shí)選中芯片與存儲(chǔ)單元,才能進(jìn)行讀寫操作,通??梢酝ㄟ^兩種方法取得外部存儲(chǔ)器的片選信號(hào):線選法和譯碼器法。
1.1 線選法
線選法就是把8051的地址線直接或通過反相后直接接到存儲(chǔ)芯片的片選端,以8051送出的地址信號(hào)選中芯片,采用線選法要注意采用不同MCU片選腳引起的地址浮動(dòng)。片選屬于一線兩用,使用一根地址線分時(shí)選擇兩塊芯片,適用于只有兩塊存儲(chǔ)器的場合,如果有第三塊的話,由于一個(gè)片選端口只有兩種狀態(tài),使用這種方法容易產(chǎn)生地址重疊。在滿足芯片地址引腳連線的前提下,應(yīng)利用余下的地址線,盡可能多地選擇存儲(chǔ)器及其它I/O器件,提高M(jìn)CU的地址線使用效率:
如上圖所示,該電路用三根地址線(P2.5,P2.6,P2.7)選擇了兩片6264SRAM與一片2764EPROM。由于三塊存儲(chǔ)芯片的容量一樣,都為13根地址線,所以地址總線的連接也是一樣的,其具體地址如表1所示:
線選法構(gòu)成的存儲(chǔ)單元地址不連續(xù),會(huì)造成存儲(chǔ)器的部分空間浪費(fèi),適合對地址空間要求不大的MCU系統(tǒng)。
1.2 譯碼器擴(kuò)展法
采用譯碼器法,仍由低位地址線進(jìn)行片內(nèi)尋址,高位地址線經(jīng)過譯碼器產(chǎn)生各個(gè)片選信號(hào),從而實(shí)現(xiàn)對多塊存儲(chǔ)器芯片及I/O器件的選擇,使用這種連接方法,存儲(chǔ)器的CE(——)端的選擇信號(hào)不是直接來自MCU的地址信號(hào),而是由譯碼器的輸出端決定。
我們在圖2的基礎(chǔ)上稍加改進(jìn),去掉非門,在P2.7與P2.6端加上74LS139