Nand Flash 控制器工作原理


對 Nand Flash 存儲芯片進行操作, 必須通過 Nand Flash 控制器的專用寄存器才能完成。所以,不能對 Nand Flash 進行總線操作。而 Nand Flash 的寫操作也必須塊方式進行。對 Nand Flash 的讀操作可以按字節讀取。

 

  Nand Flash 控制器特性

1. 支持對 Nand Flash 芯片的讀、檢驗、編程控制

2. 如果支持從 Nand Flash 啟動, 在每次重啟后自動將前 Nand Flash 的前 4KB 數據搬運到 ARM 的內部 RAM 中

3. 支持 ECC 校驗

 Nand Flash 控制器工作原理

Nand Flash 控制器在其專用寄存器區(SFR)地址空間中映射有屬於自己的特殊功能寄存器,就是通過將 Nand Flash 芯片的內設命令寫到其特殊功能寄存器中,從而實現對 Nand flash 芯片讀、檢驗和編程控制的。特殊功能 寄存器有:NFCONF、NFCMD、NFADDR、NFDATA、NFSTAT、NFECC。寄存詳細說明見下一節。

 

 Nand flash 控制器中特殊功能寄存器詳細介紹

1. 配置寄存器(NFCONF)

 

功能:用於對 Nand Flash 控制器的配置狀態進行控制。

在地址空間中地址:0x4E000000,其中:

Bit15:Nand Flash 控制器使能位,置 0 代表禁止 Nand Flash 控制器,置 1 代表激活 Nand Flash 控制器; 要想訪問 Nand Flash 芯片上存儲空間,必須激活 Nand Flash 控制器。在復位后該位自動置 0,因此在初始化時 必須將該位置為 1。

Bit12:初始化 ECC 位,置 1 為初始化 ECC;置 0 為不初始化 ECC。

Bit11:Nand Flash 芯片存儲空間使能位,置 0 代表可以對存儲空間進行操作;置 1 代表禁止對存儲空 間進行操作。在復位后,該位自動為 1。

Bit10-8:TACLS 位。根據此設定 CLE&ALE 的周期。TACLS 的值范圍在 0-7 之間。 Bit6-4、2-0 分別為:TWRPH0、TWRPH1 位。設定寫操作的訪問周期。其值在 0-7 之間。

 

2. 命令寄存器(NFCMD)

功能:用於存放 Nand flash 芯片內設的操作命令。

在地址空間中地址:0x4E000004,其中:

Bit0-7:存放具體 Nand flash 芯片內設的命令值。其余位保留以后用。

 

3. 地址寄存器(NFADDR)

功能:用於存放用於對 Nand flash 芯片存儲單元尋址的地址值。

在地址空間中地址:0x4E000008,其中:

Bit0-7:用於存放地址值。因為本款 Nand flash 芯片只有 I/O0-7 的地址/數據復用引腳且地址是四周

期每次 8 位送入的,所以這里只用到 8 位。其余位保留待用。

 

4. 數據寄存器(NFDATA)

功能:Nand flash 芯片所有內設命令執行后都會將其值放到該寄存器中。同時,讀出、寫入 Nand flash

存儲空間的值也是放到該寄存器。 在地址空間中地址:0x4E00000C,其中: Bit0-7:用於存放需要讀出和寫入的數據。其余位保留代用。

 

5. 狀態寄存器(NFSTAT)

功能:用於檢測 Nand flash 芯片上次對其存儲空間的操作是否完成。

在地址空間中地址:0x4E000010,其中:

Bit0:置 0 表示 Nand flash 芯片正忙於上次對存儲空間的操作;置 1 表示 Nand flash 芯片准備好接收新 的對存儲空間操作的請求。

 

6. ECC 校驗寄存器(NFECC)

功能:ECC 校驗寄存器 在地址空間中地址:0x4E000014,其中: Bit0­Bit7: ECC0

Bit8­Bit15: ECC1 Bit16­Bit23: ECC2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM