大容量閃存器件K9KAG08UOM與DSP接口設計
前言
慣性導航系統、各種導引頭及空間飛行器等測試和記錄應用系統,都需要自主、實(shí)時(shí)、可靠存儲大量的關(guān)鍵信息,并保證即使整個(gè)系統掉電,所采集到的數據仍能長(cháng)時(shí)間保持不丟失,實(shí)現歷史數據查詢(xún),便于數據分析。NAND Flash閃速存儲器(簡(jiǎn)稱(chēng)閃存)以其掉電非易失、功耗低、壽命長(cháng)、容量大、升級容易等獨有的特點(diǎn)迅速成為數據存儲的最佳選擇。
某型激光陀螺慣導單元需要在湖試和海試試驗過(guò)程中記錄大量導航參數,為了便于在試驗結束后有效分析數據。這里提出一種基于大容量閃存器件K9KAG08UOM與DSP的接口設計方案。在激光慣導的計算機板上集成了一片NAND Flash閃速存儲器,根據試驗的次數和每個(gè)航次存儲數據量的大小,選用SAMSUNG公司的K9KAG08UOM存儲器;為滿(mǎn)足導航控制的周期和算法的復雜程度,選用TI公司的浮點(diǎn)DSPTMS320C6713B作為主控處理器。TMS320C6713B的主頻可達300 MHz,浮點(diǎn)運算速度可達1.8 GFLO/S,是目前運算速度最快的浮點(diǎn)器件之一,已成為嵌入式系統設計中的主流處理器。其中NAND Flash與DSP的接口設計是整個(gè)計算機板設計的關(guān)鍵部分,這里詳細介紹大容量NAND Flash與DSP接口設計的硬件接口電路和軟件實(shí)現方法。
2 大容量閃存K9KAG08UOM簡(jiǎn)介
K9KAG08UOM是大容量、高可靠性的NAND Flash存儲器。其存儲容量為2 G字節(2 Gx8 bit);可將數據線(xiàn)與地址線(xiàn)復用為8條I/O線(xiàn)。并分別提供命令控制信號線(xiàn);命令、地址和數據信息均通過(guò)8條I/O線(xiàn)傳輸,不會(huì )因存儲容量的增加而增加引腳數,從而極大方便系統設計和產(chǎn)品升級,而無(wú)需更改外部硬件連接,因此成為嵌入式系統中實(shí)時(shí)存儲大容量數據的最佳選擇。
K9KAG08UOM引腳排列如圖1所示,其引腳功能如下:
- I/O0~I/O7:8根地址、數據和命令復用信號。用于輸入命令、數據、地址及輸出數據。
- CE:片選信號。用于選擇控制器件。
- WE:寫(xiě)使能信號。通過(guò)該端口可在寫(xiě)脈沖的上升沿鎖存指令、地址和數據。
- RE:讀使能信號。在讀信號的下降沿,輸出數據有效,并可累加其內部數據地址。
- CLE:命令鎖存使能信號。CLE為高電平時(shí),命令通過(guò)I/O端口線(xiàn)在寫(xiě)信號的上升沿被鎖存入命令寄存器。
- ALE:地址鎖存信號。在寫(xiě)信號的上升沿且地址鎖存信號為高電平時(shí),地址被鎖存。
- WP:寫(xiě)保護信號。WP為低電平時(shí),禁止寫(xiě)或擦除操作。
- R/B:準備就緒或忙輸出顯示信號,當R/B為低電平時(shí),表示有編程、擦除或隨機讀操作正在進(jìn)行,操作完成后.R/B信號自動(dòng)返回至高電平。
3 硬件接口設計
3.1 計算機板設計方案
激光陀螺慣導計算機板以CPU為核心,完成數據的采集、運算、通信、數據存儲等任務(wù)。計算機板的設計原理如圖2所示。
計算機板主要包括:核心CPU完成導航計算及對外圍接口的管理與控制等:監控與導航Flash完成程序的自主加載引導;NAND Flash完成試驗數據的記錄與下載;FPGA輔助完成A/D轉換時(shí)序控制、總線(xiàn)譯碼控制、開(kāi)關(guān)電路控制、分頻及脈沖計數等功能:4通道串行控制器 TL16C754控制4個(gè)通道串口。
主機CPU選用DSP器件 TMS320C6713B,其內含浮點(diǎn)數值處理器,支持64位浮點(diǎn)運算,內部RAM容量為256 K字節,主頻最高可達300 MHz,帶有的鎖相環(huán)電路使其能夠通過(guò)軟件編程設置實(shí)際工作頻率。
根據系統時(shí)序控制和計數等功能需要邏輯門(mén)的大?。瓼PGA選用ACTEL公司的APA300。該器件內部自帶ROM,上電后自主運行,無(wú)需外部ROM引導,可靠性高。
串行通信控制器選用,TI公司的TL16C754B。該器件采用3.3 V供電,功耗低,內部有4個(gè)并行的串行通信控制器,內部白帶FIFO模式,與DSP無(wú)縫接口,使用靈活方便,滿(mǎn)足系統設計需要。
3.2 NAND Flash與DSP硬件接口設計
大容量閃存NAND Flash與DSP之間的接口設計是CPU板設計的關(guān)鍵。DSP主要通過(guò)EMIF外部存儲器接口訪(fǎng)問(wèn)片外存儲器,TMS320C6713B可與大多數的同步存儲器和異步存儲器靈活配置,使用簡(jiǎn)單方便。TMS320C6713B與K9KAG08UOM的硬件接口電路如圖3所示。
TMS320C6713B的外部存儲器接口包括:20位地址線(xiàn)、32位數據線(xiàn)、4個(gè)片選控制線(xiàn)及讀寫(xiě)控制信號線(xiàn)。4個(gè)片選信號分別對應4個(gè)存儲空間,CE3對應的地址空間為OxB0000000-OxBFFFFFFF,設計中通過(guò)地址譯碼實(shí)現地址空間的分隔,其中大容量閃存器件K9KAG08UOM的片選面對應的地址為OxB0400000。
K9KAG08UOM無(wú)地址線(xiàn),命令、地址和數據信息均通過(guò)I/00~I/07傳輸。雖然K9KAG08UOM的容量達到2 G字節,遠遠超出TMS320C6713B存儲區域CE3的可尋址容量256 M字節,但由于訪(fǎng)問(wèn)NAND Flash的地址是通過(guò)I/O端口輸入,無(wú)需通過(guò)地址線(xiàn)尋址,因此不用考慮邏輯存儲空間與實(shí)際物理空間的映射問(wèn)題,簡(jiǎn)化了DSP與NAND Flash的硬件接口。
TMS320C6713B和K9KAG08UOM的工作電壓均是3.3 V,因此兩者引腳可直接連接,無(wú)需電平轉換。設計中K9KAG-08UOM的ALE和CLE兩個(gè)信號分別由DSP的最低兩位地址EA3和EA2控制。DSP的低8位數據線(xiàn)直接與NAND Flash的I/00~I/07相連。DSP的通用輸人輸出端口GP3接R/B,用于監測NAND Flash的工作狀態(tài)。當R/B處于低電平時(shí),表示有編程、擦除或隨機讀操作正在進(jìn)行;當R/B處于高電平時(shí),表示操作已經(jīng)完成。K9KAG08UOM的讀寫(xiě)控制信號RE和WE由DSP的讀寫(xiě)控制信號ARE和AWE和譯碼產(chǎn)生的片選信號CE通過(guò)邏輯或得到,只有當DSP的讀寫(xiě)控制信號和片選同時(shí)有效即為低電平時(shí)才能對K9KAG08UOM進(jìn)行讀寫(xiě)操作。
該硬件接口設計利用DSP的地址線(xiàn)EA3、EA2分別控制NAND Flash的命令鎖存ALE和地址鎖存CLE信號,此時(shí)對K9KAG08UOM的訪(fǎng)問(wèn)相當于訪(fǎng)問(wèn)地址分別為OxB0400002、OxB0400001和OxB0400000的3個(gè)端口.分別對應K9KAG08UOM的地址端口、命令端口和數據端口。DSP對K9KAG08UOM的命令、地址和數據操作可通過(guò)不同端口進(jìn)行。簡(jiǎn)化了對K9KAG08UOM讀寫(xiě)控制和軟件編程設計的難度。
4 軟件設計
NAND Flash的基本操作主要包括:讀數據,編程(寫(xiě))數據,擦除、讀器件ID號等。NAND Flash的軟件設計主要關(guān)注以下幾個(gè)方面:
(1)讀、寫(xiě)操作以頁(yè)為單位;
(2)擦除操作以塊為單位;
(3)對NAND Flash寫(xiě)數據時(shí),位數據只能由1變?yōu)?,因此對Flash寫(xiě)操作前必須把寫(xiě)單元所在塊擦除;
(4)NAND Flash同其他固體存儲器一樣會(huì )產(chǎn)生壞塊,如果將數據存儲在壞塊區域將導致無(wú)法正?;謴?。壞塊區域一般不超過(guò)器件總容量的3‰,如果系統的工作狀態(tài)允許存儲的數據可以出現少量錯誤,比如圖像記錄功能,軟件設計時(shí)可不用標記為壞區;如果系統的工作狀態(tài)不允許存儲的數據出錯,則需根據器件出廠(chǎng)時(shí)自帶的壞塊信息表標記壞塊區域,以保證數據不被寫(xiě)到壞塊區域。
(5)在對NAND Flash進(jìn)行擦除、編程或者讀取操作流程時(shí),不允許有中斷信號打斷CPU的工作,否則會(huì )讀寫(xiě)錯誤。在軟件設計時(shí),如果對NAND Flash進(jìn)行存取操作,需先屏蔽中斷,讀寫(xiě)操作完成后再把中斷重新打開(kāi)。
NAND Flash最基本的塊擦除、頁(yè)編程時(shí)序流程如圖4和圖5所示。
5 結束語(yǔ)
由于NAND Flash具有非易失性、大容量、低成本、接口簡(jiǎn)單等優(yōu)點(diǎn)。在組合導航數據存儲設備,激光慣導單元及紅外導引頭的圖像采集等智能儀器中得到廣泛應用。詳細介紹了大容量閃存K9KAG08UOM與TMS320C6713B的硬件接口電路和軟件程序設計,所采用的接口技術(shù)靈活、簡(jiǎn)單、可靠,在激光慣導單元進(jìn)行的湖試和海試試驗中成功地實(shí)現了數據的存儲。該接口設計方法可推廣應用于大容量閃存器件與單片機、ARM及其他型號的DSP設計中。
評論