閃速存儲(chǔ)器硬件接口和程序設(shè)計(jì)中的關(guān)鍵技術(shù)
本文引用地址:http://www.ex-cimer.com/article/173786.htm
由于AT89C52是8位單片機(jī),而TE28F160B3是16位數(shù)據(jù)總線,我們使用了兩片74HC244和兩片74HC373來(lái)完成8位和16位的數(shù)據(jù)轉(zhuǎn)換。當(dāng)AT89C52往TE28F160B3寫數(shù)據(jù)時(shí),首先單片機(jī)將高8位數(shù)據(jù)寫入到鎖存器74HC373-1中。其中74HC373-1鎖存信號(hào)W373由譯碼器GAL16V8輸出,然后單片機(jī)開始執(zhí)行對(duì)TE28F160B3寫數(shù)據(jù)操作,低8位數(shù)據(jù)由AT89C52的P0口直接寫入TE28F160B3,而鎖存在74HC373-1中的高8位數(shù)據(jù)通過(guò)緩沖器74HC244-1寫入到TE28F160B3的DQ8~DQ15總線上。當(dāng)AT89C52從TE28F160B3讀數(shù)據(jù)時(shí),讀出的高8位數(shù)據(jù)先鎖存到74HC373-2上,然后通過(guò)緩沖器74HC244-2讀入到AT89C52中。TE28F160B3的存儲(chǔ)容量為16M位,有20根地址線A0~A19,而AT89C52一共才有16根地址線。因此利用AT89C52的地址線A15、A14和A13經(jīng)譯碼作為兩片74HC244、兩片74HC373和TE28F160B3的鎖存信號(hào)和片選信號(hào)。這樣地址線只剩下A0~A12,為此利用一片計(jì)數(shù)器74HC4040作為地址線A13~A19,從而就解決了AT89C52的尋址問(wèn)題。
TE28F160B3的供電電源Vcc與AT89C52一樣,均接+5V直流電源。但是TE28F160B3的編程電壓和擦除電壓Vpp必須接+12V。
圖1的單片機(jī)使用了市場(chǎng)上常見的AT89C52,但在設(shè)計(jì)中我們推薦使用寬電壓范圍工作的單片機(jī)AT89LV52和地址譯碼器ATF16LV8,這樣就可以使用+3V左右的供電電源。
在生產(chǎn)閃速存儲(chǔ)器的半導(dǎo)體公司Intel、AMD、Sharp和Fujitsu中,Intel和Sharp公司的閃速存儲(chǔ)器的引腳是一樣的,AMD和Fujitsu公司的閃存存儲(chǔ)器的引腳是一樣的。所以Intel和AMD公司的閃速存儲(chǔ)器是不能互換的,如果要互換必須經(jīng)過(guò)一個(gè)接口板進(jìn)行轉(zhuǎn)接。
2 單片機(jī)與閃速存儲(chǔ)器程序設(shè)計(jì)的關(guān)鍵技術(shù)
由于生產(chǎn)閃速存儲(chǔ)器的半導(dǎo)體公司眾多,即使是同一公司的閃速存儲(chǔ)器也是型號(hào)眾多、千差萬(wàn)別。為使程序設(shè)計(jì)盡可能地適用于大多數(shù)的閃速存儲(chǔ)器,需注意以下幾個(gè)關(guān)鍵技術(shù)。
2.1 器件自動(dòng)識(shí)別
器件自動(dòng)識(shí)別要識(shí)別出器件使用的命令集、內(nèi)部陣列結(jié)構(gòu)參數(shù)、電氣和時(shí)間參數(shù)及器件所支持的功能。器件自動(dòng)識(shí)別的方法有兩種:如果閃速存儲(chǔ)器支持CFI功能,可以直接通過(guò)CFI獲得器件的各種參數(shù);如果閃速存儲(chǔ)器不支持CFI功能,可以寫器件識(shí)別命令,然后從器件中讀取產(chǎn)品的生產(chǎn)廠家和器件代碼,根據(jù)生產(chǎn)廠家和器件代碼從程序中建立的器件參數(shù)表中讀取器件的各種參數(shù)。器件自動(dòng)識(shí)別的流程圖如圖2所示。
評(píng)論