メディア
連載
» 2021年01月08日 10時00分 公開

Q&Aで学ぶマイコン講座(59):マイコンにおけるメモリ外付け(メモリ増設)方法 (4/5)

[STマイクロエレクトロニクス,EDN Japan]

FMC使用例1:非多重/非同期16ビットNORフラッシュとの接続

 NORフラッシュを制御するために、FMCをNORフラッシュの仕様に従って設定します。設定例を以下に示します。

  • バンクは、NORフラッシュを選択
  • バンクを許可
  • メモリタイプはNORフラッシュを選択
  • データバスを16ビットに設定
  • 非多重メモリを選択

 他のパラメーターに関してはすべてクリア状態にしておきます。

 NORフラッシュのアクセスタイミングを図4に、ハードウェアの接続例を図5に示します。

図4:非多重/非同期16ビットNOR型フラッシュメモリのアクセスタイミングアプリケーション ノート:AN2784 STM32F10x FSMCによる外部メモリの使用から抜粋)
図5:非多重/非同期16ビットNOR型フラッシュメモリとの接続例アプリケーション ノート:AN2784 STM32F10x FSMCによる外部メモリの使用から抜粋)

 NORフラッシュ/PSRAMコントローラは非同期/同期メモリ双方のサポートが可能です。そのため、ユーザーはメモリの仕様に従って使用するパラメーターを設定します。

 非同期メモリを使用する場合は、次のパラメーターをメモリの仕様に従って設定します。

  • ADDSET:アドレス・セットアップタイム
  • ADDHOLD:アドレス・ホールドタイム
  • DATAST:データ・セットアップタイム
  • ACCMOD:アクセスモード

 同期メモリを使用する場合は、次のパラメーターを設定します。

  • CLKDIV:クロック分周比
  • DATLAT:データレイテンシ

 また、NORフラッシュからプログラムを実行することもできます。この場合は、以下の手順が必要です。

  • ユーザープログラムを外部のNORフラッシュにロード
    • この操作は開発ツールチェーンのリンカファイルに特別な設定が必要になります。外部NORフラッシュの先頭アドレス(もしくは、NORフラッシュのメモリ空間のあるアドレス)を指定する必要があります。特別な外部NORフラッシュ用のプログラムローダーも必要です。
  • ユーザーコードの実行
    • ユーザープログラムがNORフラッシュに書き込まれたら、FMCを設定して外部NORフラッシュにジャンプして実行するような特別なプログラムを、内部のフラッシュメモリにロードします。

FMC使用例2:非多重/非同期16ビットSRAMとの接続

 SRAMとNORフラッシュは同じバンクを使用しますが、バンクが同じでもメモリの種類によってプロトコルが変わるため、設定内容も異なります。SRAMを制御するための設定例を以下に示します。

  • バンクの使用を許可
  • メモリタイプをSRAMに設定
  • データバスを16ビットに設定(SRAMの仕様に依存)
  • マルチプレックスをしない(SRAMの仕様に依存)

 他のパラメーターに関してはすべてクリア状態にしておきます。

 非同期NORフラッシュと同様に、以下のパラメーターをSRAMの仕様に従って設定します。

  • ADDSET:アドレス・セットアップタイム
  • ADDHOLD:アドレス・ホールドタイム
  • DATAST:データ・セットアップタイム

 標準的なSRAMのアクセスタイミングを図6に、ハードウェアの接続例を図7に示します。

図6:非多重/非同期16ビットSRAMのアクセスタイミングアプリケーション ノート:AN2784 STM32F10x FSMCによる外部メモリの使用から抜粋)
図7:非多重/非同期16ビットSRAMとの接続例アプリケーション ノート:AN2784 STM32F10x FSMCによる外部メモリの使用から抜粋)

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.