大容量閃存器件K9KAG08UOM與DSP的接口設(shè)計(jì)
3.2 NAND Flash與DSP硬件接口設(shè)計(jì)
大容量閃存NAND Flash與DSP之間的接口設(shè)計(jì)是CPU板設(shè)計(jì)的關(guān)鍵。DSP主要通過EMIF外部存儲(chǔ)器接口訪問片外存儲(chǔ)器,TMS320C6713B可與大多數(shù)的同步存儲(chǔ)器和異步存儲(chǔ)器靈活配置,使用簡單方便。TMS320C6713B與K9KAG08UOM的硬件接口電路如圖3所示。本文引用地址:http://m.butianyuan.cn/article/202674.htm
TMS320C6713B的外部存儲(chǔ)器接口包括:20位地址線、32位數(shù)據(jù)線、4個(gè)片選控制線及讀寫控制信號(hào)線。4個(gè)片選信號(hào)分別對(duì)應(yīng)4個(gè)存儲(chǔ)空間,CE3對(duì)應(yīng)的地址空間為OxB0000000-OxBFFFFFFF,設(shè)計(jì)中通過地址譯碼實(shí)現(xiàn)地址空間的分隔,其中大容量閃存器件K9KAG08UOM的片選面對(duì)應(yīng)的地址為OxB0400000。
K9KAG08UOM無地址線,命令、地址和數(shù)據(jù)信息均通過I/00~I(xiàn)/07傳輸。雖然K9KAG08UOM的容量達(dá)到2 G字節(jié),遠(yuǎn)遠(yuǎn)超出TMS320C6713B存儲(chǔ)區(qū)域CE3的可尋址容量256 M字節(jié),但由于訪問NAND Flash的地址是通過I/O端口輸入,無需通過地址線尋址,因此不用考慮邏輯存儲(chǔ)空間與實(shí)際物理空間的映射問題,簡化了DSP與NAND Flash的硬件接口。
TMS320C6713B和K9KAG08UOM的工作電壓均是3.3 V,因此兩者引腳可直接連接,無需電平轉(zhuǎn)換。設(shè)計(jì)中K9KAG-08UOM的ALE和CLE兩個(gè)信號(hào)分別由DSP的最低兩位地址EA3和EA2控制。DSP的低8位數(shù)據(jù)線直接與NAND Flash的I/00~I(xiàn)/07相連。DSP的通用輸人輸出端口GP3接R/B,用于監(jiān)測NAND Flash的工作狀態(tài)。當(dāng)R/B處于低電平時(shí),表示有編程、擦除或隨機(jī)讀操作正在進(jìn)行;當(dāng)R/B處于高電平時(shí),表示操作已經(jīng)完成。K9KAG08UOM的讀寫控制信號(hào)RE和WE由DSP的讀寫控制信號(hào)ARE和AWE和譯碼產(chǎn)生的片選信號(hào)CE通過邏輯或得到,只有當(dāng)DSP的讀寫控制信號(hào)和片選同時(shí)有效即為低電平時(shí)才能對(duì)K9KAG08UOM進(jìn)行讀寫操作。
該硬件接口設(shè)計(jì)利用DSP的地址線EA3、EA2分別控制NAND Flash的命令鎖存ALE和地址鎖存CLE信號(hào),此時(shí)對(duì)K9KAG08UOM的訪問相當(dāng)于訪問地址分別為OxB0400002、OxB0400001和OxB0400000的3個(gè)端口.分別對(duì)應(yīng)K9KAG08UOM的地址端口、命令端口和數(shù)據(jù)端口。DSP對(duì)K9KAG08UOM的命令、地址和數(shù)據(jù)操作可通過不同端口進(jìn)行。簡化了對(duì)K9KAG08UOM讀寫控制和軟件編程設(shè)計(jì)的難度。
4 軟件設(shè)計(jì)
NAND Flash的基本操作主要包括:讀數(shù)據(jù),編程(寫)數(shù)據(jù),擦除、讀器件ID號(hào)等。NAND Flash的軟件設(shè)計(jì)主要關(guān)注以下幾個(gè)方面:
(1)讀、寫操作以頁為單位;
(2)擦除操作以塊為單位;
(3)對(duì)NAND Flash寫數(shù)據(jù)時(shí),位數(shù)據(jù)只能由1變?yōu)?,因此對(duì)Flash寫操作前必須把寫單元所在塊擦除;
(4)NAND Flash同其他固體存儲(chǔ)器一樣會(huì)產(chǎn)生壞塊,如果將數(shù)據(jù)存儲(chǔ)在壞塊區(qū)域?qū)?dǎo)致無法正?;謴?fù)。壞塊區(qū)域一般不超過器件總?cè)萘康?‰,如果系統(tǒng)的工作狀態(tài)允許存儲(chǔ)的數(shù)據(jù)可以出現(xiàn)少量錯(cuò)誤,比如圖像記錄功能,軟件設(shè)計(jì)時(shí)可不用標(biāo)記為壞區(qū);如果系統(tǒng)的工作狀態(tài)不允許存儲(chǔ)的數(shù)據(jù)出錯(cuò),則需根據(jù)器件出廠時(shí)自帶的壞塊信息表標(biāo)記壞塊區(qū)域,以保證數(shù)據(jù)不被寫到壞塊區(qū)域。
(5)在對(duì)NAND Flash進(jìn)行擦除、編程或者讀取操作流程時(shí),不允許有中斷信號(hào)打斷CPU的工作,否則會(huì)讀寫錯(cuò)誤。在軟件設(shè)計(jì)時(shí),如果對(duì)NAND Flash進(jìn)行存取操作,需先屏蔽中斷,讀寫操作完成后再把中斷重新打開。
NAND Flash最基本的塊擦除、頁編程時(shí)序流程如圖4和圖5所示。
5 結(jié)束語
由于NAND Flash具有非易失性、大容量、低成本、接口簡單等優(yōu)點(diǎn)。在組合導(dǎo)航數(shù)據(jù)存儲(chǔ)設(shè)備,激光慣導(dǎo)單元及紅外導(dǎo)引頭的圖像采集等智能儀器中得到廣泛應(yīng)用。詳細(xì)介紹了大容量閃存K9KAG08UOM與TMS320C6713B的硬件接口電路和軟件程序設(shè)計(jì),所采用的接口技術(shù)靈活、簡單、可靠,在激光慣導(dǎo)單元進(jìn)行的湖試和海試試驗(yàn)中成功地實(shí)現(xiàn)了數(shù)據(jù)的存儲(chǔ)。該接口設(shè)計(jì)方法可推廣應(yīng)用于大容量閃存器件與單片機(jī)、ARM及其他型號(hào)的DSP設(shè)計(jì)中。
評(píng)論