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