...

CPU外部バスの活用と シリアル・ダウンローダの作成

by user

on
Category: Documents
14

views

Report

Comments

Transcript

CPU外部バスの活用と シリアル・ダウンローダの作成
5月号付属ARMマイコン基板徹底活用
山武 一朗
CPU外部バスの活用と
シリアル・ダウンローダの作成
本誌2009年5月号付属ARMマイコンに搭載したLPC2388には外部バス・コントローラが内蔵されており,外
部にメモリや周辺LSIを接続できる.ここではLPC2388の外部バスの使い方について説明する.また具体的な使
用例として外部にSRAMを増設し,この上でプログラムを動かす事例についても紹介する.
(編集部)
本誌 2009 年 5 月号付属 ARM マイコン基板搭載 LPC
LPC シリーズのユーザ・マニュアル(1)では,外部バス・
2388 について,これまでに CPU に内蔵されているさまざ
コントローラをずばり External Memory Controller(EMC)
まな周辺コントローラの使い方が解説されてきました.こ
と呼んでいます.LPC23xx の外部バスの信号を表 1 に示
こでは LPC2388 に内蔵されている機能のうち,まだ解説
します.16 本のアドレス・バス,8 本のデータ・バス,2
されていない外部バス・コントローラの使い方について解
本のチップ・セレクト,リード信号,ライト信号の合計 28
説します.さらに外部メモリ上にプログラムを配置しても
本です.なぜライト信号の信号名が BLS0 なのかは不明で
ソフトウェアが動作することを確認するための簡易ブー
すが,マニュアルにはそう明記されています.
ト・ローダとして,シリアル経由でプログラムをダウン
外部バスの制御信号といえば,もう一つウェイト制御信
ロードして起動するシリアル・ダウンローダを作成したの
号がありますが,残念なことに LPC23xx シリーズの外部
で,それについても簡単に紹介します.
バスにはウェイト信号を入力できません.次に説明する
EMC の各レジスタに設定した値に従い,常に固定のタイ
1.LPC23xx シリーズの外部バス
ミングでバス・アクセスを行うことになります.
● 外部バス・コントローラのレジスタ
表 2 に外部バス・コントローラ(EMC)のレジスタ一覧
● 外部データ・バス幅は 8 ビット
オランダ NXP Semiconductors 社(以下 NXP 社)の ARM
を示します.
マイコン LPC シリーズにはいくつかのファミリがありま
チップ・セレクト共通の設定レジスタには,EMC のイ
す.LPC22xx シリーズには最大 32 ビット幅のローカル・
ネーブルやエンディアンの設定ビットなどがあります.エ
バスを備えた品種もありますが,LPC2388 が属する
ンディアン設定は共通レジスタの中にあるので,チップ・
LPC23xx シリーズで外部バスに対応している品種は,す
セレクトごとの設定はできません.
べてデータ・バス幅が 8 ビットになっています.LPC23xx
チップ・セレクト個別の設定レジスタでは,チップ・セ
シリーズの仕様一覧には MiniBus と表現される場合もある
レクト信号の論理を選択できたり,各タイミングを何ク
ようです.8 ビットとバス幅が狭いこともあり,MiniBus
ロックに設定するかのバス・アクセス・タイミングを設定
と呼ばれているのでしょう.
したりします.
PLL をてい倍して CPU コアを高速クロックで動作させ
ると,外部バスの基準クロックもそのまま高速になります.
表1
LPC23xx シ
リーズの外
部バス信号
信号名
GPIO
ローカル・バス
用 途
外部に接続するメモリやデバイスのアクセス速度は 100ns
P4[0] ∼ P4[15] A[0]∼ A[15] アドレス・バス
のように固定なので,CPU コアを何 MHz で動作させるか
P3[0] ∼ P3[7]
により,各タイミング・レジスタに設定する値が異なるこ
D[0]∼ D[7]
データ・バス
P4[30]∼ P4[31] CS[0]∼ CS[1] チップ・セレクト
P4[24]
OE
リード
P4[25]
BLS0
ライト
とになります.
154 KEYWORD ―― LPC2388,外部バス,EMC,シリアル・ダウンロード,割り込み処理,例外ベクタ,代替ベクタ
Nov. 2009
Fly UP