NAND FLASU在儲(chǔ)存測試系統(tǒng)中的應(yīng)用
1.2 K9K8G08UOM控制器技術(shù)
本系統(tǒng)中采用FPGA作為K9K8G08UOM存儲(chǔ)器的控制器,可以在極少的軟件操作下獨(dú)立完成K9K8G08UOM的各種操作,從而降低系統(tǒng)對(duì)FLASH存儲(chǔ)器的額外支出,提高讀寫速度。FPGA的控制邏輯時(shí)序是通過硬件語言VHDL開發(fā)的,VHDL語言以其快捷、獨(dú)立、可讀性等優(yōu)點(diǎn)很好的完成FLASH基本操作的時(shí)序控制。下面是以VHDL語言以狀態(tài)機(jī)的形式開發(fā)的部分讀操作程序。
K9K8G08UOM儲(chǔ)存器的基本操作由三種類型:讀操作、頁編程操作、擦除操作,其流程圖如圖2所示。
進(jìn)行讀操作時(shí),首先通過FPGA的端口置低K9K8G08UJOM的片選信號(hào)/CS,然后置高CLE命令腳,并發(fā)送read1(0x00)命令,WE的上升沿發(fā)送,命令發(fā)送完畢后,置低CLE。在發(fā)送地址之前,置高ALE,在每一個(gè)WE上升沿依次寫入5個(gè)地址周期,之后置低ALE,完成地址的選定。接著發(fā)送read2(0x30h),開始讀取地址單元的數(shù)據(jù)。
數(shù)據(jù)頁編程操作和讀取操作流程類似。操作都是以頁為單位進(jìn)行的。當(dāng)R/Bur信號(hào)為低時(shí),說明正在對(duì)FALSH進(jìn)行寫入操作,當(dāng)為高時(shí),說明頁編程操作結(jié)束。
擦除操作是以塊為單位進(jìn)行的,即一次擦除塊內(nèi)的64頁,在發(fā)送地址時(shí)只需要3個(gè)地址周期。
圖3是從K9K8G08UOM存儲(chǔ)器中存入數(shù)據(jù)以后通過上位機(jī)軟件讀取的數(shù)據(jù)。經(jīng)驗(yàn)證,讀取的數(shù)據(jù)與往K9K8G08UOM存儲(chǔ)器中寫入的數(shù)據(jù)一致。
2 NAND FLASkI Memory的硬件部分
本設(shè)計(jì)當(dāng)中,F(xiàn)LASH的數(shù)據(jù)輸入輸出口、控制端口通過調(diào)理電路與FPGA的端口相連,圖4所示是其硬件連接電路。
從圖4中可知,F(xiàn)LASH的數(shù)據(jù)輸入輸出端口I/00~7、控制端口/CE、是通過芯片SN54LV245與FPGA相連;FLASH的控制端口cLE、ALE、/WE、/RE通過芯片SN54LV245和芯片74HCl4與ITGA相連。其中F-CLE、F-ALE、F—WE、F-RE、F—CE、F-R/Bur是FPGA的I/O口,是FPGA邏輯的輸入輸出口。CLE、ALE信號(hào)是FLASH存儲(chǔ)器命令、地址鎖存使能信號(hào),/WE是保證命令、地址、數(shù)據(jù)能否及時(shí)正確的寫入FLASH的信號(hào),/RE信號(hào)控制著數(shù)據(jù)的讀取,這些信號(hào)的精確度關(guān)系著FLASH存儲(chǔ)、讀數(shù)功能的實(shí)現(xiàn)。所以,這些信號(hào)的好壞直接關(guān)系著FLASH的正常工作。經(jīng)實(shí)踐的電路調(diào)試,這些信號(hào)在傳輸過程中受到了其它因素的干擾,信號(hào)明顯失真,在電路中加入74HCl4(非門)以后,信號(hào)會(huì)變得光滑,準(zhǔn)確。
芯片SN54LV245是八進(jìn)制三態(tài)總線收發(fā)器,DIR=1時(shí),總線傳輸方向從A→B;DIR=0時(shí),總線傳輸方向從B→A。/OE是片選信號(hào)。/0E,DIR信號(hào)是由FPGA內(nèi)部編程邏輯控制的。
FL,ASH接口中,為了保證/wE、/RE、/CE、R/B控制信號(hào)初始狀態(tài)無效,由硬件電路實(shí)現(xiàn)端口值拉高。本設(shè)計(jì)中不使用寫保護(hù)功能,所以/WP端口也接上了上拉電阻。
3 結(jié)束語
基于閃存技術(shù)的固態(tài)存儲(chǔ)器存儲(chǔ)密度大,功耗小,可靠性高,體積小重量輕且成本也在不斷降f氐,在航空應(yīng)用中有良好的應(yīng)用前景。在設(shè)計(jì)儲(chǔ)存測試系統(tǒng)時(shí)選用大容量的NAIXD FLASH存儲(chǔ)器大大提高了儲(chǔ)存、讀取速度,并且設(shè)計(jì)電路結(jié)構(gòu)簡單,易于修改。
評(píng)論