表 6-65 和表 6-66 展示了 GPMC 和 NOR 闪存的时序要求和开关特性 - 同步模式。
表 6-65 GPMC 和 NOR 闪存时序要求 - 同步模式 请参阅图 6-46、图 6-47 和图 6-50
| 编号 |
参数 |
说明 |
最小值 |
最大值 |
单位 |
| F12 |
tsu(dV-clkH) |
建立时间,GPMC_AD[15:0] 在 GPMC_CLK 高电平之前有效 |
0.92 |
|
ns |
| F13 |
th(clkH-dV) |
保持时间,GPMC_AD[15:0] 在 GPMC_CLK 高电平之后有效 |
2.09 |
|
ns |
| F21 |
tsu(waitV-clkH) |
建立时间,GPMC_WAIT[j](1)(2) 在 GPMC_CLK 高电平之前有效 |
0.92 |
|
ns |
| F22 |
th(clkH-waitV) |
保持时间,GPMC_WAIT[j](1)(2) 在 GPMC_CLK 高电平之后有效 |
2.09 |
|
ns |
(1) 在 GPMC_WAIT[j] 中,j 等于 0 或 1。
(2) 等待监视支持仅限于 WaitMonitoringTime 值 > 0。有关等待监视功能的完整说明,请参阅器件 TRM 中的通用存储器控制器 (GPMC) 一节。
表 6-66 GPMC 和 NOR 闪存开关特性 - 同步模式 请参阅图 6-46、图 6-47、图 6-48、图 6-49 和图 6-50
| 编号 |
参数 |
说明 |
最小值 |
最大值 |
单位 |
| F0 |
tc(clk) |
周期时间,GPMC_CLK(16) |
7.52 |
|
ns |
| F1 |
tw(clkH) |
典型脉冲持续时间,GPMC_CLK 高电平 |
0.475P(13) - 0.3 |
|
ns |
| F1 |
tw(clkL) |
典型脉冲持续时间,GPMC_CLK 低电平 |
0.475P(13) - 0.3 |
|
ns |
| F2 |
td(clkH-csnV) |
延迟时间,GPMC_CLK 上升沿到 GPMC_CSn[i] 转换(12) |
F(5) - 2.2 |
F(5) + 3.75 |
ns |
| F3 |
td(clkH-CSn[i]V) |
延迟时间,GPMC_CLK 上升沿到 GPMC_CSn[i] 无效(12) |
D(4) - 2.2 |
D(4) + 4.5 |
ns |
| F4 |
td(aV-clk) |
延迟时间,GPMC_A[27:1] 有效至 GPMC_CLK 第一个边沿 |
B(2) - 2.3 |
B(2) + 4.5 |
ns |
| F5 |
td(clkH-aIV) |
延迟时间,GPMC_CLK 上升沿到 GPMC_A[27:1] 无效 | -2.3 |
4.5 | ns |
| F6 |
td(be[x]nV-clk) |
延迟时间,GPMC_BE0n_CLE、GPMC_BE1n 有效至 GPMC_CLK 第一个边沿 | B(2) - 2.3 |
B(2) + 1.9 | ns |
| F7 |
td(clkH-be[x]nIV) |
延迟时间,GPMC_CLK 上升沿到 GPMC_BE0n_CLE、GPMC_BE1n 无效 | D(4) - 2.3 |
D(4) + 1.9 | ns |
| F8 |
td(clkH-advn) |
延迟时间,GPMC_CLK 上升沿到 GPMC_ADVn_ALE 转换 |
G(6) - 2.3 |
G(6) + 4.5 |
ns |
| F9 |
td(clkH-advnIV) |
延迟时间,GPMC_CLK 上升沿到 GPMC_ADVn_ALE 无效 |
D(4) - 2.3 |
D(4) + 4.5 |
ns |
| F10 |
td(clkH-oen) |
延迟时间,GPMC_CLK 上升沿到 GPMC_OEn_REn 转换 |
H(7) - 2.3 |
H(7) + 3.5 |
ns |
| F11 |
td(clkH-oenIV) |
延迟时间,GPMC_CLK 上升沿到 GPMC_OEn_REn 无效 |
D(4) - 2.3 |
D(4) + 3.5 |
ns |
| F14 |
td(clkH-wen) |
延迟时间,GPMC_CLK 上升沿到 GPMC_WEn 转换 |
I(8) - 2.3 |
I(8) + 4.5 |
ns |
| F15 |
td(clkH-do) |
延迟时间,GPMC_CLK 上升沿到 GPMC_AD[15:0] 转换(9) |
- 2.3 |
+ 2.7 |
ns |
| F15 |
td(clkL-do) |
延迟时间,GPMC_CLK 下降沿到 GPMC_AD[15:0] 数据总线转换(10) |
- 2.3 |
+ 2.7 |
ns |
| F15 |
td(clkL-do) |
延迟时间,GPMC_CLK 下降沿到 GPMC_AD[15:0] 数据总线转换(11) |
- 2.3 |
+ 2.7 |
ns |
| F17 |
td(clkH-be[x]n) |
延迟时间,GPMC_CLK 上升沿到 GPMC_BE0n_CLE、GPMC_BE1n 转换(9) |
- 2.3 |
+ 1.9 |
ns |
| F17 |
td(clkL-be[x]n) |
延迟时间,GPMC_CLK 下降沿到 GPMC_BE0n_CLE、GPMC_BE1n 转换(10) |
- 2.3 |
+ 1.9 |
ns |
| F17 |
td(clkL-be[x]n) |
延迟时间,GPMC_CLK 下降沿到 GPMC_BE0n_CLE、GPMC_BE1n 转换(11) |
- 2.3 |
+ 1.9 |
ns |
| F18 |
tw(csnV) |
脉冲持续时间,GPMC_CSn[i](12) 低电平 |
A(1) |
|
ns |
| F19 |
tw(be[x]nV) |
脉冲持续时间,GPMC_BE0n_CLE、GPMC_BE1n 低电平 |
C(3) |
|
ns |
| F20 |
tw(advnV) |
脉冲持续时间,GPMC_ADVn_ALE 低电平 |
K(14) |
|
ns |
(1) 对于单次读取:A = (CSRdOffTime - CSOnTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15) 对于单次写入:A = (CSWrOffTime - CSOnTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15) 对于突发读取:A = (CSRdOffTime - CSOnTime + (n - 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15) 对于突发写入:A = (CSWrOffTime - CSOnTime + (n - 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15)n 是页面突发访问编号。
(2) 地址总线/字节使能在周期开始时有效,GPMC_CLK 激活时间可能在周期开始之后延迟
B = ClkActivationTime×GPMC_FCLK
(15)
(3) 对于单次读取:C = RdCycleTime × (TimeParaGranularity + 1) × GPMC_FCLK
(15) 对于单次写入:C = WrCycleTime × (TimeParaGranularity + 1) × GPMC_FCLK
(15) 对于突发读取:C = (RdCycleTime + (n - 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15)对于突发写入:C = (WrCycleTime + (n - 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15)n 是页面突发访问编号。
(4) 对于单次读取:D = (RdCycleTime - RdAccessTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15) 对单次于写入:D = (WrCycleTime - WrAccessTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15) 对于突发读取:D = (RdCycleTime - RdAccessTime + (n - 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15) 对于突发写入:D = (WrCycleTime - WrAccessTime + (n - 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15) n 是页面突发访问编号。
(5) 对于 CSn 下降沿(CS 激活):
- 如果 GPMCFCLKDIVIDER = 0:
- F = 0.5 × CSExtraDelay × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 1:
- 如果(ClkActivationTime 和 CSOnTime 为奇数)或(ClkActivationTime 和 CSOnTime 为偶数),则 F = 0.5 × CSExtraDelay × GPMC_FCLK(15)
- 否则 F = (1 + 0.5 × CSExtraDelay) × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 2:
- 如果((CSOnTime - ClkActivationTime) 是 3 的倍数),则 F = 0.5 × CSExtraDelay × GPMC_FCLK(15)
- 如果((CSOnTime - ClkActivationTime - 1) 是 3 的倍数),则 F = (1 + 0.5 × CSExtraDelay) × GPMC_FCLK(15)
- 如果((CSOnTime - ClkActivationTime - 2) 是 3 的倍数),则 F = (2 + 0.5 × CSExtraDelay) × GPMC_FCLK(15)
对于读取模式下的 CSn 上升沿(CS 停用):
- 如果 GPMCFCLKDIVIDER = 0:
- F = 0.5 × CSExtraDelay × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 1:
- 如果(ClkActivationTime 和 CSRdOffTime 为奇数)或(ClkActivationTime 和 CSRdOffTime 为偶数),(15)则 F = 0.5 × CSExtraDelay × GPMC_FCLK
- 否则 F = (1 + 0.5 × CSExtraDelay) × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 2:
- 如果((CSRdOffTime - ClkActivationTime) 是 3 的倍数),(15)则 F = 0.5 × CSExtraDelay × GPMC_FCLK
- 如果((CSRdOffTime - ClkActivationTime - 1) 是 3 的倍数),则 F = (1 + 0.5 × CSExtraDelay) × GPMC_FCLK(15)
- 如果((CSRdOffTime - ClkActivationTime - 2) 是 3 的倍数),则 F = (2 + 0.5 × CSExtraDelay) × GPMC_FCLK(15)
对于写入模式下的 CSn 上升沿(CS 停用):
- 如果 GPMCFCLKDIVIDER = 0:
- F = 0.5 × CSExtraDelay × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 1:
- 如果(ClkActivationTime 和 CSWrOffTime 为奇数)或(ClkActivationTime 和 CSWrOffTime 为偶数),(15)则 F = 0.5 × CSExtraDelay × GPMC_FCLK
- 否则 F = (1 + 0.5 × CSExtraDelay) × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 2:
- 如果((CSWrOffTime - ClkActivationTime) 是 3 的倍数),(15)则 F = 0.5 × CSExtraDelay × GPMC_FCLK
- 如果((CSWrOffTime - ClkActivationTime - 1) 是 3 的倍数),(15)则 F = (1 + 0.5 × CSExtraDelay) × GPMC_FCLK
- 如果((CSWrOffTime - ClkActivationTime - 2) 是 3 的倍数),(15)则 F = (2 + 0.5 × CSExtraDelay) × GPMC_FCLK
(6) 对于 ADV 下降沿(ADV 激活):
- 如果 GPMCFCLKDIVIDER = 0:
- G = 0.5 × ADVExtraDelay × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 1:
- 如果(ClkActivationTime 和 ADVOnTime 为奇数)或(ClkActivationTime 和 ADVOnTime 为偶数),则 G = 0.5 × ADVExtraDelay × GPMC_FCLK(15)
- 否则 G = (1 + 0.5 × ADVExtraDelay) × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 2:
- 如果((ADVOnTime - ClkActivationTime) 是 3 的倍数),则 G = 0.5 × ADVExtraDelay × GPMC_FCLK(15)
- 如果((ADVOnTime - ClkActivationTime - 1) 是 3 的倍数),则 G = (1 + 0.5 × ADVExtraDelay) × GPMC_FCLK(15)
- 如果((ADVOnTime - ClkActivationTime - 2) 是 3 的倍数),则 G = (2 + 0.5 × ADVExtraDelay) × GPMC_FCLK(15)
对于读取模式下的 ADV 上升沿(ADV 停用):
- 如果 GPMCFCLKDIVIDER = 0:
- G = 0.5 × ADVExtraDelay × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 1:
- 如果(ClkActivationTime 和 ADVRdOffTime 为奇数)或(ClkActivationTime 和 ADVRdOffTime 为偶数),则 G = 0.5 × ADVExtraDelay × GPMC_FCLK(15)
- 否则 G = (1 + 0.5 × ADVExtraDelay) × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 2:
- 如果((ADVRdOffTime - ClkActivationTime) 是 3 的倍数),则 G = 0.5 × ADVExtraDelay × GPMC_FCLK(15)
- 如果((ADVRdOffTime - ClkActivationTime - 1) 是 3 的倍数),则 G = (1 + 0.5 × ADVExtraDelay) × GPMC_FCLK(15)
- 如果((ADVRdOffTime - ClkActivationTime - 2) 是 3 的倍数),则 G = (2 + 0.5 × ADVExtraDelay) × GPMC_FCLK(15)
对于写入模式下的 ADV 上升沿(ADV 停用):
- 如果 GPMCFCLKDIVIDER = 0:
- G = 0.5 × ADVExtraDelay × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 1:
- 如果(ClkActivationTime 和 ADVWrOffTime 为奇数)或(ClkActivationTime 和 ADVWrOffTime 为偶数),则 G = 0.5 × ADVExtraDelay × GPMC_FCLK(15)
- 否则 G = (1 + 0.5 × ADVExtraDelay) × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 2:
- 如果((ADVWrOffTime - ClkActivationTime) 是 3 的倍数),则 G = 0.5 × ADVExtraDelay × GPMC_FCLK(15)
- 如果((ADVWrOffTime - ClkActivationTime - 1) 是 3 的倍数),则 G = (1 + 0.5 × ADVExtraDelay) × GPMC_FCLK(15)
- 如果((ADVWrOffTime - ClkActivationTime - 2) 是 3 的倍数),则 G = (2 + 0.5 × ADVExtraDelay) × GPMC_FCLK(15)
(7) 对于 OE 下降沿(OE 激活)和 IO DIR 上升沿(数据总线输入方向):
- 如果 GPMCFCLKDIVIDER = 0:
- H = 0.5 × OEExtraDelay × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 1:
- 如果(ClkActivationTime 和 OEOnTime 为奇数)或(ClkActivationTime 和 OEOnTime 为偶数),则 H = 0.5 × OEExtraDelay × GPMC_FCLK(15)
- 否则 H = (1 + 0.5 × OEExtraDelay) × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 2:
- 如果((OEOnTime - ClkActivationTime) 是 3 的倍数),则 H = 0.5 × OEExtraDelay × GPMC_FCLK(15)
- 如果((OEOnTime - ClkActivationTime - 1) 是 3 的倍数),则 H = (1 + 0.5 × OEExtraDelay) × GPMC_FCLK(15)
- 如果((OEOnTime - ClkActivationTime - 2) 是 3 的倍数),则 H = (2 + 0.5 × OEExtraDelay) × GPMC_FCLK(15)
对于 OE 上升沿(OE 停用):
- 如果 GPMCFCLKDIVIDER = 0:
- H = 0.5 × OEExtraDelay × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 1:
- 如果(ClkActivationTime 和 OEOffTime 为奇数)或(ClkActivationTime 和 OEOffTime 为偶数),则 H = 0.5 × OEExtraDelay × GPMC_FCLK(15)
- 否则 H = (1 + 0.5 × OEExtraDelay) × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 2:
- 如果((OEOffTime - ClkActivationTime) 是 3 的倍数),则 H = 0.5 × OEExtraDelay × GPMC_FCLK(15)
- 如果((OEOffTime - ClkActivationTime - 1) 是 3 的倍数),则 H = (1 + 0.5 × OEExtraDelay) × GPMC_FCLK(15)
- 如果((OEOffTime - ClkActivationTime - 2) 是 3 的倍数),则 H = (2 + 0.5 × OEExtraDelay) × GPMC_FCLK(15)
(8) 对于 WE 下降沿(WE 激活):
- 如果 GPMCFCLKDIVIDER = 0:
- I = 0.5 × WEExtraDelay × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 1:
- 如果(ClkActivationTime 和 WEOnTime 为奇数)或(ClkActivationTime 和 WEOnTime 为偶数),则 I = 0.5 × WEExtraDelay × GPMC_FCLK(15)
- 否则 I = (1 + 0.5 × WEExtraDelay) × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 2:
- 如果((WEOnTime - ClkActivationTime) 是 3 的倍数),则 I = 0.5 × WEExtraDelay × GPMC_FCLK(15)
- 如果((WEOnTime - ClkActivationTime - 1) 是 3 的倍数),则 I = (1 + 0.5 × WEExtraDelay) × GPMC_FCLK(15)
- 如果((WEOnTime - ClkActivationTime - 2) 是 3 的倍数),则 I = (2 + 0.5 × WEExtraDelay) × GPMC_FCLK(15)
对于 WE 上升沿(WE 停用):
- 如果 GPMCFCLKDIVIDER = 0:
- I = 0.5 × WEExtraDelay × GPMC_FCLK(13)
- 如果 GPMCFCLKDIVIDER = 1:
- 如果(ClkActivationTime 和 WEOffTime 为奇数)或(ClkActivationTime 和 WEOffTime 为偶数),则 I = 0.5 × WEExtraDelay × GPMC_FCLK(15)
- 否则 I = (1 + 0.5 × WEExtraDelay) × GPMC_FCLK(15)
- 如果 GPMCFCLKDIVIDER = 2:
- 如果((WEOffTime - ClkActivationTime) 是 3 的倍数),则 I = 0.5 × WEExtraDelay × GPMC_FCLK(15)
- 如果((WEOffTime - ClkActivationTime - 1) 是 3 的倍数),则 I = (1 + 0.5 × WEExtraDelay) × GPMC_FCLK(15)
- 如果((WEOffTime - ClkActivationTime - 2) 是 3 的倍数),则 I = (2 + 0.5 × WEExtraDelay) × GPMC_FCLK(15)
(9) 如果使用 CLK DIV 1 模式,仅限第一次传输:数据和字节使能信号在 GPMC_CLK 上升沿转换
- 非多路复用模式:数据在周期开始时转换
- 多路复用模式:数据在 WRDATAONADMUXBUS × (TimeParaGranularity + 1) × GPMC_FCLK 处转换(15)
(10) CLK DIV 1 模式情况,初始传输后的所有数据信号和字节使能信号:数据和字节使能信号在 GPMC_CLK 的下降沿(GPMC_CLK 的半个周期)转换
(11) 非 CLK DIV 1 模式的情况(GPMC_CLK 从 GPMC_FCLK 进行分频):所有数据与字节使能信号均在 GPMC_CLK 的下降沿(GPMC_CLK 的半个周期)转换。必须配置 ClkActivationTime、GPMCFCLKDIVIDER、RDACCESSTIME/WRACCESSTIME 和 PAGEBURSTACCESSTIME 配置,以在 GPMC_CLK 的下降沿强制执行数据和字节使能信号转换(以便在 GPMC_CLK 上升沿锁存)
(12) 在 GPMC_CSn[i] 中,i 等于 0、1、2 或 3。
(13) P = 以 ns 为单位的 GPMC_CLK 周期
(14) 对于读取:K = (ADVRdOffTime - ADVOnTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15)对于写入:K = (ADVWrOffTime - ADVOnTime) × (TimeParaGranularity + 1) × GPMC_FCLK
(15)
(15) GPMC_FCLK 是通用存储器控制器内部功能时钟周期(以 ns 为单位)。
(16) 与 GPMC_CLK 输出时钟相关的最大和最小频率可在 GPMC 模块中通过设置 GPMC_CONFIG1_i 配置寄存器位字段 GPMCFCLKDIVIDER 进行编程。