NAND Flash与AT91RM9200的接口设计_图文

综合 电子信 息技 术 

N N   l h与 A 9 R 9 0 接 口设 计  A D Fa s T 1 M 20的
母 金 文 , 红 星  马
( 河北远 东通信 系统 工程有 限公 司 , 河北 石 家庄 0 0 8 ) 50 1  
摘  要 : 以 三 星公 司 的 与 非 型 闪 存 ( AN   ls 器 件 K K8 8 0 为 例 , 绍 了 N D Fah的 存 储 结 构 和 接 1 信  N D Fah) 9 G0 U A 介 AN   ls 3 "

号 以 及 A 9 M 2 0对 N N   l h的 接 1 支 持 , 析 了 N N   l h 两 种 接 口 方 式 的 优 缺 点 , 述 了 A 9  M 2 0对  T1 90 R A DF s a 3 ' 分 A DFs a 阐 T 1 90 R

N N  l h的 初 始 化 过 程 , 点 以 表 格 形 式 说 明 了接 口 时 序 的 设 计 , 后 对 坏 块 的 概 念 和 E C校 验 算 法 原 理 做 了 简 单  A DF s a 重 最 C
的 介 绍 。 N N   l h的 复 用 I O接 口 为 更 新 更 高 密 度 的 器 件 提 供 了 相 同 的 引 线 , 得 系统 的 扩 展 性 大 大 提 高 。 ADFs a / 使   关 键 词 :N N   l h A 9 R 9 0 ; 口 时序 ; C   A D F s; T 1 M 20 接 a E C
中 图分 类 号 :T 3 1 P 1  文 献 标 识 码 :A   文 章 编 号 :10 0 3—3 1 ( 0 0 0 14 2 1 ) 2—4 0—3  

I t r a e De i n b t e   n e f c   sg   e we n NAND  a h a d AT9   Fl s   n    RM 9 0   1 2 0
MU  I W l, J N— el MA  n — ig Ho gxn   ( e e F ratC mmu iainS s m E gneigC .Ld S iah agHe e 0 0 8 , hn ) H b i aes o     nct   yt   nier   o , t, hj zu n   bi 5 0 1 C ia  o e n i  
Ab ta t Tho g     eald d srpin o  sr c : ru h a d tie   ec ito   fNAND  ls   vc   Fa h de ie K9K8 G08 UOA  ma e by S ms n   r oain,h   moy og nzto   d     a u g Cop rt o te me r  r a iain a d t   a d r ne a e sg a  fNAND  ls   r ito u e   rt ao g wi  h  itra e s pp r  fAT   n  heh rwa e itr c  in lo  f Fa h ae nrd c d f s, ln   t te ne c   u oto  91 i h f RM9 0  o 2 0 t NAND  ls Th   F ah. e a v na ea d d sd a tg  ft   d a tg   n   ia v na e o wo NAND  ls  ne a e Fa h itr c  mo e  r  n lz d, n  h  ntaiain se s ae dec ie   t o u   to  h   f d sa e a ay e a d te iiilzto   tp   r  s rb d wih fc spu  n t e i tra etmig d sg Fial te b db o k c n e   n  h   ne c  i n   e in. n ly,h   a   lc  o c pta d te ECC ag rtm  r nrd c d. i   lplx d I f   lo i h ae ito u e W t mut e e  /O ne a e,h   ihe  e st  h i itr c teh g rd n iy f NAND  ls   e ie h st e sme pn a h   l  n whc   inf a t  mp o e  y tm  xe sbly. F ah d vc   a h   a   i  st e od o e, ih sg ic nl i r v ss se e tn i it   i y i
Ke   r s: y wo d NAND  a h; 91 l f s A3 RM9 0 i t ra e tmi g; 2 0;n e c   i n ECC f  

0 引 言   
目前 市场上 非易 失性存储 器 主要包 括或非 型 闪  存 ( O  ls) N R Fah 和与非 型闪存 ( A D Fah 两种 。其  N N  l ) s 中 , O  ls N R Fah的特 点 是 芯 片 内执 行 , 即应用 程 序 可  以直接在 Fah内运行 , 必再把 程序代 码读 到系 统  l s 不 R M 中, 且 随 机读取 快 、 耗 低、 定 性高 ; A 而 功 稳 而 
N N  l h的 特 点 是 快 速 擦 除 和 写 人 、 储 密 度  A DFa s 存 高、 存储 容量 大 , 因此 适 合 于存 储 大 量 连续 数 据 , 如 

其 中 8 G i可 供 用 户   b t 使用 ,5  bt 2 6M i为备 用  区 。备 用 区不 可 以用  来存储 用户 数据 。   K K G 8 O 数  980UA 据接 口采 用 IO复 用  /

音频 视频记 录 、 文件存储 备份 等 。   N N   l h硬件 接 口相对 简单 , 键 是操 作 时  A D Fa s 关
序要 满足要 求 , 另外 N N   l h 在 一定 比例 的坏  A D Fa 存 s 块 , 要对器 件进行 坏块 管理 。 需  

1 KKG8O   9 8 0 U A的存储结构和接 口信号 
以三 星 公 司 的 N N   l h器 件 K K G 8 O   A DFs a 9 8 0U A 为例 , 储结 构如 图 1 存 所示 。   KKG8O 9 80U A由 81  l k  9 b c 组成 , 2 o 每块 由 6 ae 4 g 组  p

成 , 页大小 为 (K+6 )bt, 每 2 4 y 总计容 量84 8M i  e  4  b , t
收 稿 日期 :0 0— 1 9 2 1 0 —1 

作 者 简 介 : 金 文 (91 男 , 母 t8 一) 助理 工程 师 , 究 方 向 : 入式 系统 开 发。 研 嵌  

40  

综合 电子信 息技 术 
地址锁 存使 能 ( L ) 命 令 锁 存 使 能 ( L 信  AE和 C E) 号分 别对 应 A 9 R 9 0 T 1 M 2 0地址 总线 的 A 2和 A 1 其  2 2(
他地 址 信 号 也 可 以用 作 A E和 C E , 以 出 现 在  L L )所 N N  l h数据 总线 上 的数 据 是 命 令 、 据 还 是 地  A D Fa s 数 标 准 N N   l h接 口方 式 下 , 个 通 用 并 行  A D Fa s 一

IO / 信号 ( I ) PO 被用 做 片选使 能 信号 ( E , C ) 即使 N S  C3 没有 被 选 中 , 要 片 选 使 能 信 号 ( E 保 持 有 效 , 只 C)   N N   l h就 还 是 活 动 状 态 , 会 返 回 到 待 命  A D Fa s 不
(t d y 模式 。 snb) a   这 种模 式 的缺点 是 : 理器 要 对 N N   l h操  处 A DF s a 作 时需 要先 使能 C E信 号 , 作完 成 后 还 要 禁 掉 C   操 E

址 , 由数 据在 片 选 3对 应地 址 空 间 内 的存 储 地 址  是
来决 定 的 , L A E和 C E真值 表 如表 1 L 所示 。  
表 1 AL   E和 CL E真 值 表 
AL   E C【     E

数 据 在 A 9 R 20 T 1 M9 0   中的 存 储 地 址 

对 应 N N  l h A D Fa   s 内部 寄 存 器 

信号 以释放 系统 总线 并 节 省 功B 。 由于 C 耗 E信 号 是  叩   E   眺  
由 PO来 驱动 的 , 作 较 慢 , 难 以保 证 时 序 要 求 。 I 操 且  
而 “ Edn t a ” 口方 式使 用处 理器 的 N S 作 为  C  o ’cr 接   e C3
m 0z 正 《z剥 

O   O   1  
1  

O   1   O  
1  

04∞Oo  xO Oo 042ox】 xO o【x   044oo  x0 oOo
0 4 6 D0   x0 0Co 1

数 据 寄 存 器  命 令 寄 存 器  地 址 寄 存 器 
未 定 义 

N N   l h的 片选 , 序 可 以 通 过 寄 存 器 设 置 , A D Fa s 时 而 
且 只要 操 作 地 址 在 N S C 3地 址 空 间 范 围 内 , 自动 就 

3 硬件接 口  
N N   l h 2种 类型 : 准 N N   ls A D Fa 有 s 标 A D Fah和片 

会 产生 片选 信号 , 作结 束后 片选 自动 消失 。 操  
该方 案 采用 “ E dn t ae C   o ’ cr”接 口方 式 。    

选无关(Ed t 。N N  1h c 。’   )A DF s。 a

4 初 始 化 过 程 
A g R 90 T l M 2 0对 K K G 8 0 9 8 0 u A初 始 化过程 如 下 :  
① 配 置 相 应 的 PO控 制 器 , 能 N N  l h设 备 读  I 使 A D Fa s

写信 号 ( M E和 S WE ; 在 片选 分 配 寄存 器 中 SO M )②  
使能 N S C 3的 N N   l h逻 辑 ; 选 择 一个 PO用  A D Fa s ③ I

作忙 闲 ( / ) 号 , 置 成 输入 , 使 能对 应 PO控  RB信 配 并 I
制器 的时 钟 ; 对 照 K K G 8 O ④ 9 8 O U A芯 片 手册 的接 口  

时序计 算 S MC片选 3寄存 器 配置 。  
图 2 片 选 无 关 NAND F a h   ls  

初 始 化过 程 的重点 是对 照 器件 手册 的接 口时 序  计算 S MC片选 3寄存 器配 置 , 要 清 楚 片选 寄 存 器  先

“ Ed n t ae 接 口方 式 允许 N N   ls C  o ’ cr”   A D Fah和其  他 Fah或者 S A 使 用 同一 个 异 步存 储 总线 。这  l s R M

样 当 N N   l h忙 于 内部 操 作 时其 他 器 件 可 以使  A D Fa s
用 系统存 储总 线 。这个 功 能对 于需 要在 同一 总线 上  接多个 存储 器 件 的 设 计来 说是 很 重 要 的。 而且 , 对  于微秒 量 级慢周 期 应 用 场 合 ( 音 频 ) 在 数 据 装 载  如 ,

各个域 的含 义 , 然后 把 K K G 8 O 9 8 0 U A手 册 中关 于操 
作 时 序 的数据 转换 成 以 A 9 R 90 T 1 M 20的 主 时钟 周期 

( C 为 单位 的值 , 可 以计算 出各个 域 的取 值 了 。 M K) 就   A 9R 90 T 1 M 2 0的主 时 钟 周 期 ( K) MC 的取 值 也 需  要 通过 配 置一些 寄 存器来 确 定 , 这里 不作 详细解 释 ,  
以主振 荡 器选用 1 .3  z 8 4 2MH 晶体 , 理 器工 作 频率  处

或 串行 连 续访 问 时 禁 掉 片 选 使 能 信 号 ( E 可 以 降  C)
低 系统功耗 。  
D[ 0  7.】 AD[ 0  7.】

为 19 7 2MH 为例 , MC 7 .1  z 则 K为 1 .3n , 1 1  s时序 计算 

O A2      2

AE 素 L    

如表 2 示。 所   由表 2可 知 , MC 片 选 3寄 存 器 可 配 置 为  S O l0 5 8 。 由于 寄存器 有 些 域 的取 值 不 是 固 定 的  x 10 2 1 某 个值 , 是一个 范 围 , 以该 寄存器 的配 置并 不唯  而 所


量 A1   2  
r  F   PI   Ox

C  L E
CE   Z 《 

SMOE  
《 

N   OE

副  Z 

S WE M  
Pl   Oy

N   篮 WE  
R,   B



0 l05 8 只 是一 个 比较恰 当的取值 。 x 10 2 1  

初始化过程完成 后 , 可以根据 K KG8 O  就 9 8 0U A
的指令集 来 编程 对 它进行 操 作 。  

图 3 标 准 NAND  ls  F ah

! )( (I)年 第 3 卷 第 2 期   n

无 线 电 通 信 技 术  

4l  

综合 电子信 息技 术 
表 2 时 序 计 算 
取值 范 围  名 称  取 MC K倍 数 值/ s 存 器 各 域取 值  n  寄 最 小  最 大 
1  2 l  2
5  

的对 应 页 , 并把 剩余 页的数 据拷 贝至新块 , 同时还要  更新 坏块记 录 表 。   读取失 效 的解决方 式 是使 用 纠错 码 ( C ) 如  EC。
果操 作 时 序 和 电 路 稳 定 性 不 存 在 问 题 的 话 ,  
N N  ls出错 的 时 候 一 般 不 会 造 成 整 个 块 或 页 全  A D Fah

t   WP tP R 
tH D 

2* 1 1   1. 3 2. * l l  5 1 3  
2* 1 . 3 1 1 

WS EN = 1   NW S= 1  
TD = 2 F  

tH H R O  tR A  tL   R C
tE   A— t E  C RA tL AS— t P W  tt CS— t P W 

1  5 1  O 1  O
O   O   O   2  5

2* l . 3 1 1  15* l .3 . 1 1  DRP: O   1. * l . 3 5 1 1 
1. * 1 . 3 5 1 1  15* 1 .3 . 1 1  1. * I . 3   5 115

部出错 , 而是整个 页中只有一个或几个 b 出错 。使用  i t E C可以纠正单 b 错误 , C i t 并可 以检测 出 2个 b 错误 。 i t   E C算法 能在 硬 件 或 软件 中执 行 , 件 执行 有  C 硬 明显 的性 能优 势 。最 简单 的硬件 实现方 案是 采用 简 
单汉 明 码 ( ipeH m i ) 只 能 校 正 单 b 错 误 。 Sm l a mn ,   g i t  

R S TU W E P


0   01

瑞德 索 罗门码 ( ed—Sl o ) 供更 强大 的纠错 能  Re o m n提 o 力 , 目前 的处 理器广 为采 用 。 被  
E C算法 软 件 实 现 的原 理 是 这样 的 : N N   C 向 A D
RW HO D = 0   L 01

tH D 
tH W  tH R Z— tH   CZ tE  RH tH C  t L  AH t L  CH

5  
1  O O   l  O 5   5   5   1o o 

l .3 1 1 
1 .3 1 1  1 1  1. 3 1 .3 1 1  1 1  1. 3 1 .3 1 1  1.3 1 1 

Fah的页 中写入数 据 的时候 , 5 2bt( 可 以 是  l s 每 1 y 也 e
26 bt) 成 一 个 3 bt 5  y 生 e  y e的 E C校 验 码 , 为 原  C 称 E C校 验 码 , 存 到 被 写 入 数 据 的 页 的备 用 区 中。 C 保   从 N N  l h中读 取数 据 的 时候 , 52bt 成  A D Fa s 每 1  y e生

AC S E S= o   0



个 E C校 验 码 , 为新 E C校 验 码 。校 验 的 时  C 称 C

候 , 备用 区 中读 出的原 E C校 验码 与新 E C校验  把 C C 码按 位异或 , 结 果 为 0 则 表 示 没 有 出 错 ( 若 , 当然 也  可能 出现 了 E C无 法 检 测 的错 误 ) 若 异 或 结 果 中  C ; 存在 1 2个 b 位 为 1 表示 存在 一个 bt 误 , i t , i错 并可 以  根 据 异 或 结 果 自动 纠 正 ; 异 或 结 果 中 只 存 在  若 1 bt 个 i 位为 1表 示备 用 区原 E C校验 码 出错 ; , C 其他 
情况则 表示数 据 块有 错 误 发 生 , 且发 生错 误 的 位数  大于 1 不 能 利 用 异 或 结 果 自动 纠 正 误 。E C校 验  , C

tS C 
tL AS   tL  CS

2  0
1  2 1  2

2*1 .3 1 1 
2* l .3 1 1  2* l .3 1 1 

5 坏 块 的 处理 
N N  l h器 件 中一 些 块 包 含 无 效 的存 储 单  A D Fa s 元, 称为 坏块 ( a  lc ) Bd Bok 。为 了避 免 在 N N   l h A D Fa   s
读 写过程 中遇 到坏块 , 应先 创建 一个坏 块记 录表 。  

的算 法实现 有实 例可供 参考 , 不作 赘述 。  

6 结 束 语 
随着 技术 的进 步 , 将会 出现更 大 容 量 的存储 器 
件 。N N  l h的复用 I0接 口为更新 更高 密度 的  A D Fa s /

N N  l h出厂 时坏块 信息在 坏块 的第 1 或  A D Fa s 页
第 2页的备 用 区域 的第 1个 bt y e中记 录 , 个 区域  这

用户 使用 时可能 会 被 擦 除 , 以必 须在 开 始 使 用 前  所 先读 取器 件坏块 信息 , 创建 坏块记 录表 , 以供 系统读 
写 N N  ls A D Fah时使 用 。   而且 , N N  l h 用过 程 中会有 新 的坏块  在 A D Fa 使 s

器件提 供 了相 似 的引 线 , 高 了设 备 的 扩展 性 。该  提 设计 已成功应 用 于一 手 持 设 备 的文 件 存储 系统 , 性 
能 良好 。  
参 考 文 献 

出现 , 在一 些可靠 性 要 求 较高 系统 中应 考 虑 这 些失  效 情况 : 除 失效 , 程 失效 , 取 失效 。在 擦 除 和  擦 编 读
编程 操 作 后 读 取 状 态 寄 存 器 ( 令 7   ) 它 的第  命 0h , 7 是忙 闲状 态 位 , 位 1为 就 绪 , 0为 忙 。 为 1表 示 擦 

[ ] 王 晶 , 力 . 于 ¥C 40 的 大 容 量 N N   L S 的 1  韩 基 3 24 A A D FA H  
设 计 应 用[ ] 仪 器 仪表 用 户 , o ( ) 13 1 . J. 2 8 5 : 1 一I4  o

除或者 编程操 作 命令 完 成 , 后 再看 最 低 位 写状 态  然 位, 0为成 功 , 为失败 , 1 由此可 以判断是 否 出现擦 除  失效 和编程 失效 。  


[ ] 马 丰 玺 , 斌 , 洪春 . 易 失 存 储 器 N N  l h及 其  2  杨 卫 非 A DF s a
在 嵌 入 式 系 统 中 的 应 用 [] 计 算 机 技 术 与 发 展 ,07 J. 20  
( ) 2 3—2 9. 1 :0 0  

[ ] 文 赕 , 凯 年 . 大容 量 N N  L S 坏 区管 理 方 法 的 3  谢 超 A DF A H  

旦 出现擦 除失效 和 编程失效 , 应执 行块 替代 。  

设 计 与 实现 []现 代 电子技 术 ,07 1)5 5 . J. 20 (6 :5— 7 
[] 周世新 . 容量 F s 4  大 l h与 D P接 口技 术 的 实现 [] 无 线  a S J.
电 工程 ,o 6 3 :7—6 . 2o ( )5 2 

由于 当前页 编程 失 败并 不 影 响块 内其 他 页 , 以块  所 替代 只需要 把 当前编程 的数据 重新 写人 另外一个 块 

4  2

Ra i   m m ul c t n   c n l g   d o Co i f a i s Te h o o y o


相关文档

AT91RM9200与COMPACT FLASH接口电路及其驱动程序设计
AT91RM9200 K9K8 NAND Flash Linux驱动程序
基于NAND+Flash的文件系统设计与实现
一种基于AMBA总线的 NAND FLASH控制接口电路设计
基于FPGA的NAND+Flash控制接口电路设计
基于NAND型Flash的海量存储板的设计与实现
基于NAND Flash的FFS设计与实现
MPS430F149单片机之_MSP430单片机与NAND FLASH的接口设计
超大容量NAND FLASH坏区管理方法的设计与实现
NAND FLASH接口的硬件设计及驱动程序开发
电脑版