NAND FLASH在儲存測試系統(tǒng)中的應用
K9K8GOSUOM地址是通過復用8個I/O口送入芯片的。這樣的設計顯著減少了芯片的管腳數(shù)目,并為系統(tǒng)升級帶來了方便。在CE和WP為低時,把WE置低可以把K9K8G08UOM的命令、地址和數(shù)據(jù)通過I/O口寫進去。數(shù)據(jù)在WE的上升沿寫入芯片。命令鎖存使能(CLE)和地址使能鎖存(ALE)用來區(qū)分I/O口的數(shù)據(jù)是命令還是地址。K9K8G08UOM有1G字節(jié)地址空間,需要30位的地址,所以字節(jié)的地址需要五個周期依次送入:行低地址、行高地址、列低地址、列中地址、列高地址。頁的讀操作和編程操作都需要同樣的五個地址周期緊跟在相應的命令輸入之后。然而,在塊的擦除操作中,只要有三個地址周期。不同的操作通過往命令寄存器寫不同的命令來區(qū)分。本文引用地址:http://www.ex-cimer.com/article/194960.htm
1.2 K9K8G08UOM控制器技術(shù)
本系統(tǒng)中采用FPGA作為K9K8G08UOM存儲器的控制器,可以在極少的軟件操作下獨立完成K9K8G08UOM的各種操作,從而降低系統(tǒng)對FLASH存儲器的額外支出,提高讀寫速度。FPGA的控制邏輯時序是通過硬件語言VHDL開發(fā)的,VHDL語言以其快捷、獨立、可讀性等優(yōu)點很好的完成FLASH基本操作的時序控制。下面是以VHDL語言以狀態(tài)機的形式開發(fā)的部分讀操作程序。
K9K8G08UOM儲存器的基本操作由三種類型:讀操作、頁編程操作、擦除操作,其流程圖如圖2所示。
進行讀操作時,首先通過FPGA的端口置低K9K8G08UJOM的片選信號/CS,然后置高CLE命令腳,并發(fā)送read1(0x00)命令,WE的上升沿發(fā)送,命令發(fā)送完畢后,置低CLE。在發(fā)送地址之前,置高ALE,在每一個WE上升沿依次寫入5個地址周期,之后置低ALE,完成地址的選定。接著發(fā)送read2(0x30h),開始讀取地址單元的數(shù)據(jù)。
數(shù)據(jù)頁編程操作和讀取操作流程類似。操作都是以頁為單位進行的。當R/Bur信號為低時,說明正在對FALSH進行寫入操作,當為高時,說明頁編程操作結(jié)束。
擦除操作是以塊為單位進行的,即一次擦除塊內(nèi)的64頁,在發(fā)送地址時只需要3個地址周期。
評論