I/O ポート GPIO の設定/利用方法

I/O ポート GPIO の設定/利用方法
32-BIT MICROCONTROLLER
FM3 ファミリ アプリケーションノート
APPLICATION NOTE
ARM is the registered trademark of ARM Limited in the EU and other countries.
Cortex is the trademark of ARM Limited in the EU and other countries.
Publication Number AN706-00006
Revision 3.1
Issue Date January 31, 2014
A P P L I C A T I O N
N O T E
AN706-00006-3v1-J, January 31, 2014
A P P L I C A T I O N
N O T E
目次
目次 ...................................................................................................................................... 3
対象製品 ............................................................................................................................... 4
1
はじめに ........................................................................................................................ 8
2
I/O ポート(GPIO) ........................................................................................................... 9
3
4
2.1
入力方向の GPIO として使用する .......................................................................... 9
2.2
出力方向の GPIO として使用する .......................................................................... 9
2.3
APB2 バスクロック ................................................................................................ 9
設定例(サンプルプログラム) .................................................................................. 10
3.1
サンプルプログラムについて ............................................................................... 10
3.2
設定手順例 ........................................................................................................... 11
使用上の注意事項 ........................................................................................................ 12
改版履歴 ............................................................................................................................. 13
January 31, 2014, AN706-00006-3v1-J
3
A P P L I C A T I O N
N O T E
対象製品
本アプリケーションノートに記載されている内容の対象製品は、下記の通り
です。
(TYPE0)
シリーズ名
品種型格(パッケージサフィックスは除く)
MB9B500B
MB9BF504NB,MB9BF505NB,MB9BF506NB
MB9BF504RB,MB9BF505RB,MB9BF506RB
MB9B400A
MB9BF404NA,MB9BF405NA,MB9BF406NA
MB9BF404RA,MB9BF405RA,MB9BF406RA
MB9B300B
MB9BF304NB,MB9BF305NB,MB9BF306NB
MB9BF304RB,MB9BF305RB,MB9BF306RB
MB9B100A
MB9BF102NA,MB9BF104NA,MB9BF105NA,MB9BF106NA
MB9BF102RA,MB9BF104RA,MB9BF105RA,MB9BF106RA
(TYPE1)
シリーズ名
品種型格(パッケージサフィックスは除く)
MB9A310A
MB9AF311LA,MB9AF312LA,MB9AF314LA
MB9AF311MA,MB9AF312MA,MB9AF314MA,MB9AF315MA,
MB9AF316MA
MB9AF311NA,MB9AF312NA,MB9AF314NA,MB9AF315NA,
MB9AF316NA
MB9A110A
MB9AF111LA,MB9AF112LA,MB9AF114LA
MB9AF111MA,MB9AF112MA,MB9AF114MA,MB9AF115MA,
MB9AF116MA
MB9AF111NA,MB9AF112NA,MB9AF114NA,MB9AF115NA,
MB9AF116NA
4
AN706-00006-3v1-J, January 31, 2014
A P P L I C A T I O N
N O T E
(TYPE2)
シリーズ名
品種型格(パッケージサフィックスは除く)
MB9BD10T
MB9BFD16S, MB9BFD17S, MB9BFD18S
MB9BFD16T, MB9BFD17T, MB9BFD18T
MB9B610T
MB9BF616S, MB9BF617S, MB9BF618S
MB9BF616T, MB9BF617T, MB9BF618T
MB9B510T
MB9BF516S, MB9BF517S, MB9BF518S
MB9BF516T, MB9BF517T, MB9BF518T
MB9B410T
MB9BF416S, MB9BF417S, MB9BF418S
MB9BF416T, MB9BF417T, MB9BF418T
MB9B310T
MB9BF316S, MB9BF317S, MB9BF318S
MB9BF316T, MB9BF317T, MB9BF318T
MB9B210T
MB9BF216S, MB9BF217S, MB9BF218S
MB9BF216T, MB9BF217T, MB9BF218T
MB9B110T
MB9BF116S, MB9BF117S, MB9BF118S
MB9BF116T, MB9BF117T, MB9BF118T
(TYPE3)
シリーズ名
品種型格(パッケージサフィックスは除く)
MB9A130LA
MB9AF131KA,MB9AF132KA
MB9AF131LA,MB9AF132LA
(TYPE4)
シリーズ名
品種型格(パッケージサフィックスは除く)
MB9B510R
MB9BF512N,MB9BF514N, MB9BF515N, MB9BF516N
MB9BF512R,MB9BF514R, MB9BF515R, MB9BF516R
MB9B410R
MB9BF412N,MB9BF414N, MB9BF415N, MB9BF416N
MB9BF412R,MB9BF414R, MB9BF415R, MB9BF416R
MB9B310R
MB9BF312N,MB9BF314N, MB9BF315N, MB9BF316N
MB9BF312R,MB9BF314R, MB9BF315R, MB9BF316R
MB9B110R
MB9BF112N,MB9BF114N, MB9BF115N, MB9BF116N
MB9BF112R,MB9BF114R, MB9BF115R, MB9BF116R
January 31, 2014, AN706-00006-3v1-J
5
A P P L I C A T I O N
N O T E
(TYPE5)
シリーズ名
品種型格(パッケージサフィックスは除く)
MB9A310K
MB9AF311K,MB9AF312K
MB9A110K
MB9AF111K,MB9AF112K
(TYPE6)
シリーズ名
品種型格(パッケージサフィックスは除く)
MB9AB40NA
MB9AFB41LA,MB9AFB42LA, MB9AFB44LA
MB9AFB41MA,MB9AFB42MA, MB9AFB44MA
MB9AFB41NA,MB9AFB42NA, MB9AFB44NA
MB9AA40NA
MB9AFA41LA,MB9AFA42LA, MB9AFA44LA
MB9AFA41MA,MB9AFA42MA, MB9AFA44MA
MB9AFA41NA,MB9AFA42NA, MB9AFA44NA
MB9A340NA
MB9AF341LA,MB9AF342LA, MB9AF344LA
MB9AF341MA,MB9AF342MA, MB9AF344MA
MB9AF341NA,MB9AF342NA, MB9AF344NA
MB9A140NA
MB9AF141LA,MB9AF142LA, MB9AF144LA
MB9AF141MA,MB9AF142MA, MB9AF144MA
MB9AF141NA,MB9AF142NA, MB9AF144NA
(TYPE7)
シリーズ名
品種型格(パッケージサフィックスは除く)
MB9AA30N
MB9AFA31L,MB9AFA32L
MB9AFA31M,MB9AFA32M
MB9AFA31N,MB9AFA32N
MB9A130N
MB9AF131M,MB9AF132M
MB9AF131N,MB9AF132N
(TYPE8)
シリーズ名
品種型格(パッケージサフィックスは除く)
MB9A150R
MB9AF154M,MB9AF155M, MB9AF156M
MB9AF154N,MB9AF155N, MB9AF156N
MB9AF154R,MB9AF155R, MB9AF156R
6
AN706-00006-3v1-J, January 31, 2014
A P P L I C A T I O N
N O T E
(TYPE9)
シリーズ名
品種型格(パッケージサフィックスは除く)
MB9B520M
MB9BF521K, MB9BF522K,MB9BF524K
MB9BF521L, MB9BF522L,MB9BF524L
MB9BF521M, MB9BF522M,MB9BF524M
MB9B320M
MB9BF321K, MB9BF322K,MB9BF324K
MB9BF321L, MB9BF322L,MB9BF324L
MB9BF321M, MB9BF322M,MB9BF324M
MB9B120M
MB9BF121K, MB9BF122K,MB9BF124K
MB9BF121L, MB9BF122L,MB9BF124L
MB9BF121M, MB9BF122M,MB9BF124M
January 31, 2014, AN706-00006-3v1-J
7
A P P L I C A T I O N
1
N O T E
はじめに
本製品の I/O ポートは以下の機能が兼用されています。
 GPIO…CPU から、入力レベルの読出し,出力レベルの設定が可能な汎用入出力ポートで
す
 周辺入出力…周辺機能の入出力信号ポートです
 アナログ入力 I/O ポート…A/D コンバータのアナログ入力ポートです
 端子ごとに以下の設定が可能です
 GPIO として利用するか、周辺機能の端子として利用するか、アナログ入力ポートとし
て使用するかを設定できます
 ポートを入力ポートとして利用するか、出力ポートとして利用するかを設定できます。
 プルアップ ON/OFF を設定できます
 周辺機能は同一機能の入出力が複数の I/O ポートに割り振られています。どの I/O ポー
トに機能を割り当てるかを設定できます(リロケート機能)
 レジスタ設定により、CPU がスタンバイモード中に、I/O ポートを Hi-Z 状態にするこ
とができます
このアプリケーションノートでは、I/O ポートを GPIO として使用、設定する方法について
説明します。
入力ポートとして使用する場合、出力ポートとして使用する場合の両方の設定をおこなう
サンプルプログラムにて設定例を示します。
8
AN706-00006-3v1-J, January 31, 2014
A P P L I C A T I O N
2
N O T E
I/O ポート(GPIO)
(※GPIO の特徴や動作、ブロックダイヤグラムについては”FM3 ファミリ
ペリフェラルマ
ニュアルの CHAPTER:I/O ポート”をご参照ください)
2.1
入力方向の GPIO として使用する
I/O ポートを GPIO の入力端子として使用する場合、以下を設定してください。
 PFR レジスタ設定により、対応するビットを 0 として端子を GPIO として使用する
 アナログ入力兼用端子(AN00~AN15)と共用の場合、ADE レジスタ設定により、対応す
るビットを 0 にしてデジタル入出力として使用する
 DDR レジスタ設定により、対応するビットを 0 にして入力方向で使用する
 内蔵プルアップ抵抗が必要な場合、PCR レジスタ設定により対応するビットを 1 にし
てプルアップ抵抗を接続する
2.2
出力方向の GPIO として使用する
I/O ポートを GPIO の出力端子として使用する場合、以下を設定してください。
 PFR レジスタ設定により、対応するビットを 0 として端子を GPIO として使用する
 アナログ入力兼用端子(AN00~AN15)と共用の場合、ADE レジスタ設定により、対応す
るビットを 0 にしてデジタル入出力として使用する
 出力方向にする前に PDOR レジスタ設定により、初期出力値を設定する
 DDR レジスタ設定により、対応するビットを 1 にして出力方向で使用する
2.3
APB2 バスクロック
(※APB2 バスクロックの詳細については” FM3 ファミリ
ペリフェラルマニュアルの
CHAPTER:クロック”をご参照ください)
GPIO のバスクロックは PCLK2 となっています(“FM3 ファミリ各シリーズのデータシート
のブロックダイヤグラム”をご参照ください)。CPU/AHB バスクロックが APB2 バスクロッ
クの最大周波数を越える設定をする場合は APB2 プリスケーラレジスタ(APBC2_PSR)の
設定で分周をしてください。
January 31, 2014, AN706-00006-3v1-J
9
A P P L I C A T I O N
3
N O T E
設定例(サンプルプログラム)
3.1
サンプルプログラムについて
GPIO を動作させるサンプルプログラムについて説明します。
以下に本サンプルプログラムの設定条件を示します。
クロック設定条件:

マスタクロックを PLL クロック最大周波数(X0,X1 に外部メインクロック 4MHz を入
力して逓倍)に設定

APB2 プリスケーラ 2 分周
以上の条件で I/O ポートを以下のように設定します。
-
P11 を入力方向の GPIO
-
P12 を出力方向の GPIO
-
P11=1 のとき P12 の出力値を 1、P11=0 のとき 0 になるように動作させる
-
P11,P12 は AN01,AN02 と共用の端子なので、デジタル入出力の端子として設定す
る
10
AN706-00006-3v1-J, January 31, 2014
A P P L I C A T I O N
3.2
N O T E
設定手順例
次の手順は、サンプルプログラムでおこなっている GPIO の設定方法を示しています。
GPIO 設定
START
APB2 バスクロック分周設定
マスタクロック PLL クロック設定
P11,P12 をデジタル入出力として使
用する(ADE&=0xFFF9)
P11,P12 を GPIO として使用する
(PFR1=0x0000)
P12 の出力端子をあらかじめ LOW に
する(PDOR1=0x0000)
P11 を入力方向、P12 を出力方向とし
て設定(DDR1=0x0004)
メインループ
P11=0
P11 の入力値は 1 か?
P11=1
P12 の出力値を 1 にする
(PDOR1=0x0004)
P12 の出力値を 0 にする
(PDOR1=0x0000)
図 3-1 サンプルプログラムでの設定手順例
January 31, 2014, AN706-00006-3v1-J
11
A P P L I C A T I O N
4
N O T E
使用上の注意事項
出力方向の GPIO として使用している端子は、PCR レジスタ設定により、ビットを 1 にし
ていても内蔵プルアップ抵抗は切断されます。システム上、プルアップ抵抗が必要な場合、
外部プルアップ抵抗を用いてください。
JTAG 端子として使用される P00~P04 以外はすべて入力方向が初期状態です。これらの端
子は、オープン状態で使用すると動作が不安定になる場合があります。適切な抵抗を介し
て電源端子やグランド端子に接続してください。または、出力方向にしてオープン状態に
してください。
アナログ入力兼用端子は、アナログ入力設定レジスタ(ADE)の初期値が 0xFFFF となってい
るので、すべてのアナログ入力機能が有効となっています。アナログ入力兼用端子を GPIO、
その他周辺機能として使用する場合、必ず ADE の対応ビットを 0 にしてください。
このアプリケーションノートに付属するサンプルプログラムは IAR Embedded Workbench
for ARM および Keil MDK-ARM によって作成されています。
12
AN706-00006-3v1-J, January 31, 2014
A P P L I C A T I O N
N O T E
改版履歴
版数
日付
内容
1.0 版
2010/11/4
新規作成
2.0 版
2011/1/20
MB9A100/MB9B100/MB9B300/MB9B400 Series に対応
3.0 版
2013/3/26
サンプルプロジェクトが MDK-ARM に対応
MB9A110A/MB9A310A Series に対応
MB9B110T/MB9B210T/MB9B310T/MB9B410T/MB9B510T/
MB9B610T/MB9BD10T Series に対応
MB9A130LA Series に対応
MB9B110R/MB9B310R/MB9B410R/MB9B510R Series に対応
MB9A110K/MB9A310K Series に対応
MB9A140NA/MB9A340NA/MB9AA40NA/MB9AB40NA Series
に対応
MB9A130N/MB9AA30N Series に対応
MB9A150R Series に対応
MB9B120M/MB9B320M/MB9B520M Series に対応
3.1 版
2014/1/31
January 31, 2014, AN706-00006-3v1-J
社名変更および記述フォーマットの変換
13
A P P L I C A T I O N
N O T E
免責事項
本資料に記載された製品は、通常の産業用, 一般事務用, パーソナル用, 家庭用などの一般的用途 (ただし、用途の限定はあ
りません) に使用されることを意図して設計・製造されています。(1) 極めて高度な安全性が要求され、仮に当該安全性が
確保されない場合、社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途 (原子力施設における
核反応制御, 航空機自動飛行制御, 航空交通管制, 大量輸送システムにおける運行制御, 生命維持のための医療機器, 兵器シ
ステムにおけるミサイル発射制御等をいう) 、ならびに(2) 極めて高い信頼性が要求される用途 (海底中継器, 宇宙衛星等を
いう) に使用されるよう設計・製造されたものではありません。上記の製品の使用法によって惹起されたいかなる請求また
は損害についても、Spansion は、お客様または第三者、あるいはその両方に対して責任を一切負いません。半導体デバイス
はある確率で故障が発生します。当社半導体デバイスが故障しても、結果的に人身事故, 火災事故, 社会的な損害を生じさ
せないよう、お客様において、装置の冗長設計, 延焼対策設計, 過電流防止対策設計, 誤動作防止設計などの安全設計をお願
いします。本資料に記載された製品が、外国為替及び外国貿易法、米国輸出管理関連法規などの規制に基づき規制されてい
る製品または技術に該当する場合には、本製品の輸出に際して、同法に基づく許可が必要となります。
商標および注記
このドキュメントは、断りなく変更される場合があります。本資料には Spansion が開発中の Spansion 製品に関する情報が
記載されている場合があります。Spansion は、それらの製品に対し、予告なしに仕様を変更したり、開発を中止したりする
権利を有します。このドキュメントに含まれる情報は、現状のまま、保証なしに提供されるものであり、その正確性, 完全
性, 実施可能性および特定の目的に対する適合性やその市場性および他者の権利を侵害しない事を保証するものでなく、ま
た、明示, 黙示または法定されているあらゆる保証をするものでもありません。Spansion は、このドキュメントに含まれる
情報を使用することにより発生したいかなる損害に対しても責任を一切負いません。
Copyright © 2013-2014 Spansion Inc. All rights reserved.
®
®
®
TM
TM
商標:Spansion , Spansion ロゴ (図形マーク), MirrorBit , MirrorBit Eclipse , ORNAND 及びこれらの組合せは、米国・
日本ほか諸外国における Spansion LLC の商標です。第三者の社名・製品名等の記載はここでは情報提供を目的として表記
したものであり、各権利者の商標もしくは登録商標となっている場合があります。
14
AN706-00006-3v1-J, January 31, 2014