Comments
Description
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