表 6-58 および 表 6-59 に、GPMC および NOR フラッシュ (同期モード) のタイミング要件とスイッチング特性を示します。
表 6-58 GPMC および NOR フラッシュのタイミング要件 — 同期モード 図 6-39、図 6-40、図 6-43 を参照
| 番号 |
パラメータ |
説明 |
モード(4) |
最小値 |
最大値 |
最小値 |
最大値 |
単位 |
| 32 ビット データ バス (最大 100MHz)(1) |
16 ビット データ バス (最大 133MHz)(1) |
| F12 |
tsu(dV-clkH) |
セットアップ時間、GPMC0_CLK High の前に GPMC0_AD[n:0](1) 有効 |
div_by_1_mode |
1.81 |
|
1.12 |
|
ns |
| not_div_by_1_mode |
1.06 |
|
3.5 |
|
ns |
| F13 |
th(clkH-dV) |
ホールド時間、GPMC0_CLK High の後 GPMC0_AD[n:0](1) 有効 |
div_by_1_mode |
2.29 |
|
2.29 |
|
ns |
| not_div_by_1_mode |
2.29 |
|
2.29 |
|
ns |
| F21 |
tsu(waitV-clkH) |
セットアップ時間、GPMC0_CLK High の前 GPMC0_WAIT[j](2)(3) 有効 |
div_by_1_mode |
1.81 |
|
1.12 |
|
ns |
| not_div_by_1_mode |
1.06 |
|
3.5 |
|
ns |
| F22 |
th(clkH-waitV) |
ホールド時間、GPMC0_CLK High の後 GPMC0_WAIT[j](2)(3) 有効 |
div_by_1_mode |
2.29 |
|
2.29 |
|
ns |
| not_div_by_1_mode |
2.29 |
|
2.29 |
|
ns |
(1) 同期モードでは、最大 100MHz の GPMC0_CLK を備えた 32 ビット データ バス (GPMC0_AD[31:0]) と、最大 133MHz の GPMC0_CLK を備えた 16 ビット データ バス (GPMC0_AD[15:0]) をサポートしています。CTRLMMR_GPMC0_CLKSEL レジスタに書き込むことで、GPMC0_CLK に供給される GPMC0_FCLK のクロック ソースを選択します。
- 133MHz:CLK_SEL = 0h – MAIN_PLL0_HSDIV3_CLKOUT (デフォルト)
- 100MHz:CLK_SEL = 1h – MAIN_PLL2_HSDIV3_CLKOUT
(2) GPMC_WAIT[j] で、j は 0 または 1 です。
(3) 待機モニタリングのサポートは、WaitMonitoringTime の値 > 0 に制限されます。待機監視機能の詳細な説明については、 デバイスのテクニカル リファレンス マニュアルで「汎用メモリ コントローラ (GPMC)」セクションを参照してください。
(4) div_by_1_mode の場合:
- GPMC_CONFIG1_i レジスタ:GPMCFCLKDIVIDER = 0h:
- GPMC0_CLK 周波数 = GPMC0_FCLK 周波数
not_div_by_1_mode に対し:
- GPMC_CONFIG1_i レジスタ:GPMCFCLKDIVIDER = 1h~3h:
- GPMC0_CLK 周波数 = GPMC0_FCLK 周波数 / (2 ~ 4)
表 6-59 GPMC および NOR フラッシュのスイッチング特性 - 同期モード 図 6-39、図 6-40、図 6-41、図 6-42、図 6-43 を参照
| 番号 |
パラメータ |
説明 |
最小値 |
最大値 |
単位 |
| F0 |
tc(clk) |
サイクル時間、GPMC0_CLK(16) |
7.52(1) |
|
ns |
| F1 |
tw(clkH) |
標準パルス期間、GPMC0_CLK high |
0.475P(14) - 0.3 |
|
ns |
| F1 |
tw(clkL) |
標準パルス期間、GPMC0_CLK low |
0.475P(14) - 0.3 |
|
ns |
| F2 |
td(clkH-csn[i]V) |
遅延時間、GPMC0_CLK 立ち上がりエッジから GPMC0_CSn[i](13) 遷移まで |
F(6) - 2.2 |
F(6) + 1.31 |
ns |
| F3 |
td(clkH-csn[i]IV) |
遅延時間、GPMC0_CLK 立ち上がりエッジから GPMC0_CSn[i](13) まで無効 |
D(5) - 2.2 |
D(5) + 1.31 |
ns |
| F4 |
td(aV-clk) |
遅延時間、GPMC0_A[27:1] は GPMC0_CLK の最初のエッジまで有効 |
B(3) - 2.3 |
B(3) + 4.5 |
ns |
| F5 |
td(clkH-aIV) |
遅延時間、GPMC0_CLK 立ち上がりエッジから GPMC0_A[27:1] まで無効 |
-2.3 |
4.5 |
ns |
| F6 |
td(be[x]nV-clk) |
遅延時間、GPMC0_BE0n_CLE、GPMC0_BE1n、GPMC0_BE2n、GPMC0_BE3n から GPMC0_CLK の最初のエッジまで有効 |
B(3) - 2.3 |
B(3) + 1.9 |
ns |
| F7 |
td(clkH-be[x]nIV) |
遅延時間、GPMC0_CLK 立ち上がりエッジから GPMC0_BE0n_CLE、GPMC0_BE1n、GPMC0_BE2n、GPMC0_BE3n まで無効 |
D(5) - 2.3 |
D(5) + 1.9 |
ns |
| F8 |
td(clkH-advn) |
遅延時間、GPMC0_CLK 立ち上がりエッジから GPMC0_ADVn_ALE 遷移まで |
G(7) - 2.3 |
G(7) + 4.5 |
ns |
| F9 |
td(clkH-advnIV) |
遅延時間、GPMC0_CLK 立ち上がりエッジからGPMC0_ADVn_ALE まで無効 |
D(5) - 2.3 |
D(5) + 4.5 |
ns |
| F10 |
td(clkH-oen) |
遅延時間、GPMC0_CLK 立ち上がりエッジから GPMC0_OEn_REn 遷移まで |
H(8) - 2.3 |
H(8) + 3.5 |
ns |
| F11 |
td(clkH-oenIV) |
遅延時間、GPMC0_CLK 立ち上がりエッジからGPMC0_OEn_REn まで無効 |
D(5) - 2.3 |
D(5) + 3.5 |
ns |
| F14 |
td(clkH-wen) |
遅延時間、GPMC0_CLK 立ち上がりエッジから GPMC0_WEn 遷移まで |
I(9) - 2.3 |
I(9) + 4.5 |
ns |
| F15 |
td(clkH-do) |
遅延時間、GPMC0_CLK 立ち上がりエッジから GPMC0_AD[n:0](1) まで遷移(10) |
-2.3 |
2.7 |
ns |
| F15 |
td(clkL-do) |
遅延時間、GPMC0_CLK 立ち下がりエッジから GPMC0_AD[n:0](1) 遷移まで(11) |
-2.3 |
2.7 |
ns |
| F15 |
td(clkL-do) |
遅延時間、GPMC0_CLK 立ち下がりエッジから GPMC0_AD[n:0](1) 遷移まで(12) |
-2.3 |
2.7 |
ns |
| F17 |
td(clkH-be[x]n) |
遅延時間、GPMC0_CLK 立ち上がりエッジから GPMC0_BE0n_CLE、GPMC0_BE1n、GPMC0_BE2n、GPMC0_BE3n 遷移まで(10) |
-2.3 |
1.9 |
ns |
| F17 |
td(clkL-be[x]n) |
遅延時間、GPMC0_CLK 立ち下がりエッジから GPMC0_BE0n_CLE、GPMC0_BE1n、GPMC0_BE2n、GPMC0_BE3n 遷移まで(11) |
-2.3 |
1.9 |
ns |
| F17 |
td(clkL-be[x]n) |
遅延時間、GPMC0_CLK 立ち下がりエッジから GPMC0_BE0n_CLE、GPMC0_BE1n、GPMC0_BE2n、GPMC0_BE3n 遷移まで(12) |
-2.3 |
1.9 |
ns |
| F18 |
tw(csnV) |
パルス幅、GPMC0_CSn[i](13) low |
A(2) |
|
ns |
| F19 |
tw(be[x]nV) |
パルス幅、GPMC0_BE0n_CLE、GPMC0_BE1n、GPMC0_BE2n、GPMC0_BE3n low |
C(4) |
|
ns |
| F20 |
tw(advnV) |
パルス幅、GPMC0_ADVn_ALE low |
K(15) |
|
ns |
(1) 同期モードでは、最大 100MHz の GPMC0_CLK を備えた 32 ビット データ バス (GPMC0_AD[31:0]) と、最大 133MHz の GPMC0_CLK を備えた 16 ビット データ バス (GPMC0_AD[15:0]) をサポートしています。CTRLMMR_GPMC0_CLKSEL レジスタに書き込むことで、GPMC0_CLK に供給される GPMC0_FCLK のクロック ソースを選択します。
- 133MHz:CLK_SEL = 0h – MAIN_PLL0_HSDIV3_CLKOUT (デフォルト)
- 100MHz:CLK_SEL = 1h – MAIN_PLL2_HSDIV3_CLKOUT
(2) 単一読み取りの場合:A = (CSRdOffTime – CSOnTime) × (TimeParaGranularity + 1) × GPMC0_FCLK
(14) バースト読み取りの場合:A = (CSRdOffTime – CSOnTime + (n – 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC0_FCLK
(14) バースト書き込みの場合:A = (CSWrOffTime – CSOnTime + (n – 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC0_FCLK
(14) n はページ バースト アクセス数。
(3) アドレス バス / バイト イネーブルはサイクル開始時に有効となり、GPMC0_CLK のアクティブ化タイミングはサイクル開始後に遅延する場合があります
B = ClkActivationTime × GPMC0_FCLK
(14)
(4) 単一読み取りの場合:C = RdCycleTime × (TimeParaGranularity + 1) × GPMC0_FCLK
(14) バースト読み取りの場合:C = (RdCycleTime + (n – 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC0_FCLK
(14) バースト書き込みの場合:C = (WrCycleTime + (n – 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC0_FCLK
(14) n はページ バースト アクセス数。
(5) 単一読み取りの場合:D = (RdCycleTime – RdAccessTime) × (TimeParaGranularity + 1) × GPMC0_FCLK
(14) 単一書き込みの場合:D = (WrCycleTime – WrAccessTime) × (TimeParaGranularity + 1) × GPMC0_FCLK
(14) バースト読み取りの場合:D = (RdCycleTime – RdAccessTime + (n – 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC0_FCLK
(14) バースト書き込みの場合:D = (WrCycleTime – WrAccessTime + (n – 1) × PageBurstAccessTime) × (TimeParaGranularity + 1) × GPMC0_FCLK
(14) n はページ バースト アクセス数。
(6) CSn 立ち下がりエッジ時 (CS 起動時):
- Case GPMCFCLKDIVIDER = 0:
- F = 0.5 × CSExtraDelay × GPMC0_FCLK(14)
- Case GPMCFCLKDIVIDER = 1:
- F = 0.5 × CSExtraDelay × GPMC0_FCLK(14) if (ClkActivationTime および CSOnTime が奇数) or (ClkActivationTime および CSOnTime が偶数)
- F = (1 + 0.5 × CSExtraDelay) × GPMC0_FCLK(14) otherwise
- Case GPMCFCLKDIVIDER = 2:
- f = 0.5 × CSExtraDelay × GPMC0_FCLK(14) if ((CSOnTime – ClkActivationTime) が 3 の倍数)
- F = (1 + 0.5 × CSExtraDelay) × GPMC0_FCLK(14) if ((CSOnTime – ClkActivationTime – 1) が 3 の倍数)
- F = (2 + 0.5 × CSExtraDelay) × GPMC0_FCLK(14) if ((CSOnTime – ClkActivationTime – 2) が 3 の倍数)
CSn 立ち上がりエッジ時 CS 非アクティブ時、読み取りモード:
- Case GPMCFCLKDIVIDER = 0:
- F = 0.5 × CSExtraDelay × GPMC0_FCLK(14)
- Case GPMCFCLKDIVIDER = 1:
- F = 0.5 × CSExtraDelay × GPMC0_FCLK(14) if (ClkActivationTime と CSRdOffTime が奇数) or (ClkActivationTime と CSRdOffTime が偶数)
- F = (1 + 0.5 × CSExtraDelay) × GPMC0_FCLK(14) otherwise
- Case GPMCFCLKDIVIDER = 2:
- f = 0.5 × CSExtraDelay × GPMC0_FCLK(14) if ((CSRdOffTime – ClkActivationTime) が 3 の倍数)
- F = (1 + 0.5 × CSExtraDelay) × GPMC0_FCLK(14) if ((CSRdOffTime – ClkActivationTime – 1) が 3 の倍数)
- F = (2 + 0.5 × CSExtraDelay) × GPMC0_FCLK(14) if ((CSRdOffTime – ClkActivationTime – 2) が 3 の倍数)
書き込みモードでの CSn 立ち上がりエッジ (CS が非アクティブ) の場合:
- Case GPMCFCLKDIVIDER = 0:
- F = 0.5 × CSExtraDelay × GPMC0_FCLK(14)
- Case GPMCFCLKDIVIDER = 1:
- F = 0.5 × CSExtraDelay × GPMC0_FCLK(14) if (ClkActivationTime と CSWrOffTime が奇数) or (ClkActivationTime と CSWrOffTime が偶数)
- F = (1 + 0.5 × CSExtraDelay) × GPMC0_FCLK(14) otherwise
- Case GPMCFCLKDIVIDER = 2:
- F = 0.5 × CSExtraDelay × GPMC0_FCLK(14) if ((CSWrOffTime – ClkActivationTime) が 3 の倍数の場合)
- F = (1 + 0.5 × CSExtraDelay) × GPMC0_FCLK(14) if ((CSWrOffTime – ClkActivationTime – 1) が 3 の倍数の場合)
- F = (2 + 0.5 × CSExtraDelay) × GPMC0_FCLK(14) if ((CSWrOffTime – ClkActivationTime – 2) が 3 の倍数の場合)
(7) ADV 立ち下がりエッジ (ADV がアクティブ) の場合:
- Case GPMCFCLKDIVIDER = 0:
- G = 0.5 × ADVExtraDelay × GPMC0_FCLK(14)
- Case GPMCFCLKDIVIDER = 1:
- G = 0.5 × ADVExtraDelay × GPMC0_FCLK(14) if (ClkActivationTime および ADVOnTime が奇数) or (ClkActivationTime および ADVOnTime が偶数)
- G = (1 + 0.5 × ADVExtraDelay) × GPMC0_FCLK(14) otherwise
- Case GPMCFCLKDIVIDER = 2:
- G = 0.5 × ADVExtraDelay × GPMC0_FCLK(14) if ((ADVOnTime – ClkActivationTime) が 3 の倍数)
- G = (1 + 0.5 × ADVExtraDelay) × GPMC0_FCLK(14) if ((ADVOnTime – ClkActivationTime – 1) が 3 の倍数)
- G = (2 + 0.5 × ADVExtraDelay) × GPMC0_FCLK(14) if ((ADVOnTime – ClkActivationTime – 2) が 3 の倍数)
読み取りモードでの ADV 立ち上がりエッジ (ADV が非アクティブ) の場合:
- Case GPMCFCLKDIVIDER = 0:
- G = 0.5 × ADVExtraDelay × GPMC0_FCLK(14)
- Case GPMCFCLKDIVIDER = 1:
- G = 0.5 × ADVExtraDelay × GPMC0_FCLK(14) if (ClkActivationTime および ADVRdOffTime が奇数) or (ClkActivationTime および ADVRdOffTime が偶数)
- G = (1 + 0.5 × ADVExtraDelay) × GPMC0_FCLK(14) otherwise
- Case GPMCFCLKDIVIDER = 2:
- G = 0.5 × ADVExtraDelay × GPMC0_FCLK(14) if ((ADVRdOffTime – ClkActivationTime) が 3 の倍数)
- G = (1 + 0.5 × ADVExtraDelay) × GPMC0_FCLK(14) if ((ADVRdOffTime – ClkActivationTime – 1) が 3 の倍数)
- G = (2 + 0.5 × ADVExtraDelay) × GPMC0_FCLK(14) if ((ADVRdOffTime – ClkActivationTime – 2) が 3 の倍数)
書き込みモードでの ADV 立ち上がりエッジ (ADV が非アクティブ) の場合:
- Case GPMCFCLKDIVIDER = 0:
- G = 0.5 × ADVExtraDelay × GPMC0_FCLK(14)
- Case GPMCFCLKDIVIDER = 1:
- G = 0.5 × ADVExtraDelay × GPMC0_FCLK(14) if (ClkActivationTime および ADVWrOffTime が奇数) または (ClkActivationTime および ADVWrOffTime が偶数)
- G = (1 + 0.5 × ADVExtraDelay) × GPMC0_FCLK(14) otherwise
- Case GPMCFCLKDIVIDER = 2:
- G = 0.5 × ADVExtraDelay × GPMC0_FCLK(14) if ((ADVWrOffTime – ClkActivationTime) が 3 の倍数)
- G = (1 + 0.5 × ADVExtraDelay) × GPMC0_FCLK(14) if ((ADVWrOffTime – ClkActivationTime – 1) が 3 の倍数)
- G = (2 + 0.5 × ADVExtraDelay) × GPMC0_FCLK(14) if ((ADVWrOffTime – ClkActivationTime – 2) が 3 の倍数)
(8) OE の立ち下がりエッジ (OE がアクティブ) および IO DIR の立ち上がりエッジ (データ バスが入力方向) の場合:
- Case GPMCFCLKDIVIDER = 0:
- H = 0.5 × OEExtraDelay × GPMC0_FCLK(14)
- Case GPMCFCLKDIVIDER = 1:
- F = 0.5 × OEExtraDelay × GPMC0_FCLK(14) (ClkActivationTime および OEOnTime が奇数) または (ClkActivationTime および OEOnTime が偶数) の場合
- H = (1 + 0.5 × OEExtraDelay) × GPMC0_FCLK(14) otherwise
- Case GPMCFCLKDIVIDER = 2:
- H = 0.5 × OEExtraDelay × GPMC0_FCLK(14) ((OEOnTime – ClkActivationTime) が 3 の倍数) の場合
- H = (1 + 0.5 × OEExtraDelay) × GPMC0_FCLK(14) ((OEOnTime – ClkActivationTime – 1) が 3 の倍数) の場合
- H = (2 + 0.5 × OEExtraDelay) × GPMC0_FCLK(14) ((OEOnTime – ClkActivationTime – 2) が 3 の倍数) の場合
OE 立ち上がりエッジ (OE が非アクティブ) の場合:
- Case GPMCFCLKDIVIDER = 0:
- H = 0.5 × OEExtraDelay × GPMC0_FCLK(14)
- Case GPMCFCLKDIVIDER = 1:
- H = 0.5 × OEExtraDelay × GPMC0_FCLK(14) if (ClkActivationTime および OEOffTime が奇数) or (ClkActivationTime および OEOffTime が偶数)
- H = (1 + 0.5 × OEExtraDelay) × GPMC0_FCLK(14) otherwise
- Case GPMCFCLKDIVIDER = 2:
- H = 0.5 × OEExtraDelay × GPMC0_FCLK(14) if ((OEOffTime – ClkActivationTime) が 3 の倍数)
- H = (1 + 0.5 × OEExtraDelay) × GPMC0_FCLK(14) if ((OEOffTime – ClkActivationTime – 1) が 3 の倍数)
- H = (2 + 0.5 × OEExtraDelay) × GPMC0_FCLK(14) if ((OEOffTime – ClkActivationTime – 2) が 3 の倍数)
(9) WE 立ち下がりエッジ (WE がアクティブ) の場合:
- Case GPMCFCLKDIVIDER = 0:
- I = 0.5 × WEExtraDelay × GPMC0_FCLK(14)
- Case GPMCFCLKDIVIDER = 1:
- I = 0.5 × WEExtraDelay × GPMC0_FCLK(14) if (ClkActivationTime および WEOnTime が奇数) or (ClkActivationTime および WEOnTime が偶数)
- I = (1 + 0.5 × WEExtraDelay) × GPMC0_FCLK(14) otherwise
- Case GPMCFCLKDIVIDER = 2:
- I = 0.5 × WEExtraDelay × GPMC0_FCLK(14) if ((WEOnTime – ClkActivationTime) が 3 の倍数)
- I = (1 + 0.5 × WEExtraDelay) × GPMC0_FCLK(14) if ((WEOnTime – ClkActivationTime – 1) が 3 の倍数)
- I = (2 + 0.5 × WEExtraDelay) × GPMC0_FCLK(14) if ((WEOnTime – ClkActivationTime – 2) が 3 の倍数)
WE 立ち上がりエッジ (WE が非アクティブ) の場合:
- Case GPMCFCLKDIVIDER = 0:
- I = 0.5 × WEExtraDelay × GPMC0_FCLK (14)
- Case GPMCFCLKDIVIDER = 1:
- I = 0.5 × WEExtraDelay × GPMC0_FCLK(14) if (ClkActivationTime および WEOffTime が奇数) or (ClkActivationTime および WEOffTime が偶数)
- I = (1 + 0.5 × WEExtraDelay) × GPMC0_FCLK(14) otherwise
- Case GPMCFCLKDIVIDER = 2:
- I = 0.5 × WEExtraDelay × GPMC0_FCLK(14) if ((WEOffTime – ClkActivationTime) が 3 の倍数)
- I = (1 + 0.5 × WEExtraDelay) × GPMC0_FCLK(14) if ((WEOffTime – ClkActivationTime – 1) が 3 の倍数)
- I = (2 + 0.5 × WEExtraDelay) × GPMC0_FCLK(14) if ((WEOffTime – ClkActivationTime – 2) が 3 の倍数)
(10) div_by_1_mode で GPMC0_CLK の場合
(17)、最初の転送のみ:データおよびバイト イネーブルは GPMC0_CLK の立ち上がりエッジで遷移します
- 非多重化モード:サイクル開始時のデータ遷移
- 多重化モード:WRDATAONADMUXBUS × (TimeParaGranularity + 1) × GPMC0_FCLK でのデータ遷移(14)
(11) div_by_1_mode で GPMC0_CLK の場合
(17)、初回転送以降のすべてのデータおよびバイト イネーブル:データおよびバイト イネーブルは GPMC0_CLK の立ち下がりエッジで遷移します (GPMC0_CLK の半周期)
(12) not_div_by_1_mode で GPMC0_CLK の場合
(17) (GPMC0_CLK は GPMC0_FCLK から分周):すべてのデータおよびバイト イネーブルは GPMC0_CLK の立ち下がりエッジで遷移します (GPMC0_CLK の半周期)。ClkActivationTime、GPMCFCLKDIVIDER、RDACCESSTIME/WRACCESSTIME、および PAGEBURSTACCESSTIME の設定は、データおよびバイト イネーブルが GPMC0_CLK の立ち下がりエッジで遷移し (GPMC0_CLK の立ち上がりエッジでラッチされるように)、強制されるように構成する必要があります
(13) GPMC0_CSn[i] で、i は 0、1、2、または 3 です。
(14) P = GPMC0_CLK 周期 (ns)
(15) 読み出しの場合:K = (ADVRdOffTime – ADVOnTime) × (TimeParaGranularity + 1) × GPMC0_FCLK
(14) 書き込みの場合:K = (ADVWrOffTime – ADVOnTime) × (TimeParaGranularity + 1) × GPMC0_FCLK
(14)
(16) GPMC モジュールで、GPMC0_CONFIG1_i 構成レジスタのビット フィールド GPMCFCLKDIVIDER の設定によりプログラム可能な、GPMC0_CLK 出力クロックの最高および最低周波数に関連します。
(17) div_by_1_mode の場合:
- GPMC_CONFIG1_i レジスタ:GPMCFCLKDIVIDER = 0h:
- GPMC0_CLK 周波数 = GPMC0_FCLK 周波数
not_div_by_1_mode に対し:
- GPMC_CONFIG1_i レジスタ:GPMCFCLKDIVIDER = 1h~3h:
- GPMC0_CLK 周波数 = GPMC0_FCLK 周波数 / (2 ~ 4)