IVEC 0 IVEC 1
11. 入出力ポート
11.1. 要点
● 個別形態設定を持つ汎用入出力ピン
● 形態設定可能な駆動部と引き込み設定を持つ出力駆動部
● コンプリメンタリ
● ワイヤードAND
● ワイヤードOR
● バス保持
● 反転入出力
● 割り込みと事象を持つ同期と/または非同期の感知付き入力
● 両端感知
● 上昇端感知
● 下降端感知
● Lowレベル感知
● 入力とワイヤードOR/AND形態設定での任意選択のプルアップとプルダウンの抵抗
● 全休止形態からデバイスを起動できる非同期ピン変化感知
● 入出力ポート毎でピン遮蔽を持つ2つのポート割り込み
● ポート ピンへの効率的で安全なアクセス
● 専用の切り換え、解除(0)、設定(1)用レジスタ通すハードウェア読み-変更-書き
● 単一操作で複数ピンの形態設定
● ビット アクセス可能なI/Oメモリ空間へポート レジスタの割り当て
● ポート ピンでの周辺クロック出力
● ポート ピンでの実時間計数器クロック出力
● 事象チャネルがポート ピンで出力可能
● デジタル周辺機能ピンの再割り当て
● 選択可能なUSART、SPI、タイマ/カウンタの入出力ピン位置 11.2. 概要
AVR XMEGAマイクロ コントローラは柔軟な汎用I/Oポートを持ちます。1つのポートはピン0~7で最大8つのポート ピンから成ります。各ポート ピ ンは形態設定可能な駆動部と引き込み設定を持つ入力または出力として形態設定することができます。それらは選択可能なピン変化 条件用の割り込みと事象を持つ同期と非同期の入力感知も実装します。非同期ピン変化感知はクロックが全く動かない形態を含む全 ての休止形態からピン変化がデバイスを起こせることを意味します。
全ての機能はピン毎に個別で形態設定可能ですが、単一操作で多数のピンを形態設定することができます。ピンは駆動値と/または引 き込み抵抗の形態設定の安全で正しい変更のためのハードウェア読み-変更-書き(RMW)機能を持ちます。1つのポート ピンの方向は他 のどのピンの方向をも予期せず変更することなく変えることができます。
ポート ピン形態設定は他のデバイス機能の入出力選択も制御します。それはポート ピンへの周辺クロックと実時間クロックの両出力を持つこと が可能で、それは外部使用に利用可能です。同じことが外部機能の同期と制御に使用できる、事象システムからの事象に適用されま す。応用の必要性に対するピン配置の最適化のため、USART、SPI、タイマ/カウンタのような他のデジタル周辺機能は選択可能なピン位置 に再割り当てすることができます。
図11-1.はI/Oピン機能とピン制御に対して利用可能なレジスタを示します。
図11-1. 標準I/Oピン機能
Q R D
Q R D
引き込み許可
入力禁止 引き込み方向
VCC
DIRn OUTn
ワイヤードAND/OR 反転I/O
D
Q Q D
同期化回路
引き込み保持
INn
0 1
Q R D PINnCTRL
Pxn
R R
デジタル入力ピン アナログ入出力
11.3. I/Oピンの使い方と形態設定
各ポートはポート ピン制御に使用される1つのデータ方向(DIR)レジスタと1つのデータ出力値(OUT)レジスタを持ちます。データ入力値(IN)レジス タはポート ピンを読むのに使用されます。加えて各ピンは付加的なピン形態用のピン形態設定(PINnCTRL)レジスタを持っています。
ピンの方向はDIRレジスタのDIRnビットによって決められます。DIRnが1を書かれた場合、ピンnは出力ピンとして形態設定されます。DIRn が0を書かれた場合、ピンnは入力ピンとして形態設定されます。
方向が出力として設定されると、OUTレジスタのOUTnビットはピンの値を設定するのに使用されます。OUTnが1を書かれた場合、ピンn はHighに駆動されます。OUTnが0を書かれた場合、ピンnはLowに駆動されます。
INレジスタはピン値を読むのに使用されます。デジタル入力が禁止される場合を除き、ピンが入力または出力のどちらとして形態設定され ているかに拘らず、ピン値は常に読むことができます。
I/Oピンは例えクロックが動作していなくてもリセット条件が活性(有効)になるとHi-Zにされます。
ピンn形態設定(PINnCTRL)レジスタは付加的なI/Oピン形態に使用されます。ピンはコンプリメンタリ、ワイヤードAND、ワイヤードOR形態に設定 できます。ピンに対して反転入出力を許可することも可能です。
コンプリメンタリ出力は、コンプリメンタリ(プッシュプル)、プルダウン、プルアップ、バス保持の4つの可能な引き込み形態設定を持ちます。バス保持は 両方向で活性(有効)です。これは出力禁止時の発振を避けるためです。プルアップとプルダウン付きのコンプリメンタリ形態はピンが入力とし て設定される時にだけ活性(有効)になる抵抗器を持ちます。この機能は不必要な電力消費を無くします。
ワイヤードANDとワイヤードOR形態については、任意選択のプルアップとプルダウン抵抗が入力と出力の両方向で活性(有効)です。
引き込み形態がピン形態設定レジスタを通して形態設定されるため、ピン方向とピン値の切り換え間のポート中間状態が避けられます。
I/Oピン形態は図11-2.~図11-7.での簡単化した回路図で要約されます。
11.3.1. コンプリメンタリ
コンプリメンタリ(プッシュプル)形態では、ピンが対応するデータ出力値(OUT)レジ スタ設定に従ってLowまたはHighに駆動されます。この形態ではそのピン が持つ可能な能力以外に吸い込み(シンク)と吐き出し(ソース)に対して何の 制限もありません。ピンが入力に形態設定された場合、外部の引き込み (プルアップ/ダウン)抵抗が接続されないなら、そのピンは浮き状態になりま
図11-2. I/Oピン形態 - コンプリメンタリ(プッシュプル)
Pn DIRn
OUTn INn
11.3.1.1. プルダウン付きコンプリメンタリ
この形態では入力として設定される時にピンが内部プルダウン抵抗とで形
態設定されるのを除いて、コンプリメンタリと同様です。 図11-3. I/Oピン形態 - 入力プルダウン付きコンプリメンタリ
Pn DIRn
OUTn INn
11.3.1.2. プルアップ付きコンプリメンタリ
この形態では入力として設定される時にピンが内部プルアップとで形態設
定されるのを除いて、コンプリメンタリと同様です。 図11-4. I/Oピン形態 - 入力プルアップ付きコンプリメンタリ
Pn DIRn
OUTn INn
VCC
11.3.2. バス保持
バス保持形態ではピンがもはやHighまたはLowに駆動されない時にその 論理レベルでピンを保持する弱いバス保持器を提供します。ピン/バス上の 最後のレベルが1だったなら、バス保持形態設定はバスをHighに保持する ために内部プルアップ抵抗を使用します。ピン/バス上の最後のレベルが0 だったなら、バス保持器はバスをLowに保持するために内部プルダウン抵 抗を使用します。
図11-5. I/Oピン形態 - バス保持付きコンプリメンタリ
Pn DIRn
OUTn INn
11.3.3. ワイヤードOR
ワイヤードOR形態設定ではデータ出力値(OUT)レジスタとデータ方向(DIR)レジ スタで対応するビットが1を書かれる時にピンがHighに駆動されます。OUT レジスタが0に設定されると、ピンは開放され、内部または外部のプルダウン 抵抗でLowに引かれることをピンに許します。内部プルダウンが使用される 場合、ピンが入力として設定される場合にもこれは活性(有効)です。
図11-6. 出力形態 - 任意選択プルダウン付きワイヤードOR
Pn OUTn
INn
VCC
11.3.4. ワイヤードAND
ワイヤードAND形態設定ではデータ出力値(OUT)レジスタとデータ方向(DIR)レ ジスタで対応するビットが0を書かれる時にピンがLowに駆動されます。OU Tレジスタが1に設定されると、ピンは開放され、内部または外部のプルアップ 抵抗でHighに引かれることをピンに許します。内部プルアップが使用される 場合、ピンが入力として設定される場合にもこれは活性(有効)です。
図11-7. 出力形態 - 任意選択プルアップ付きワイヤードAND
Pn OUTn
INn
VCC
11.4. ピン値の読み方
ピンのデータ方向と無関係に、ピン値は74頁の図11-1.で示 されるように、データ入力値(IN)レジスタから読むことができ ます。デジタル入力が禁止される場合、ピン値は読めませ ん。INレジスタ ビットと先行するフリップ フロップが同期化回路 を構成します。同期化回路は内部信号線での遅延を生 じます。図11-8.は外部的に印加されたピン値を読む時の 同期化タイミング構成図を示します。最大と最小の伝播遅 延は、各々tpd,maxとtpd,minとして記されます。
図11-8. 外部的に印加されたピン値を読む時の同期化
周辺クロック 実行命令 同期化回路 フリップフロップ IN値 R16値
XXX XXX LDS R16,PORTx+IN XXX
入力値 以前の値
tpd,min
tpd,max
11.5. 入力感知形態設定
入力感知はI/Oピン入力でのエッジまたはレベルの検出に使用されます。各ピンに対して利用可能な各種検知条件は上昇端、下降端、
両端の検出、またはLowレベルの検出です。Highレベルは反転入力形態設定を使用することによって検出することができます。入力感 知はピンでの変化があった時に割り込み要求(IREQ)または事象を起動することができます。
I/Oピンは同期と非同期の入 力感知を支援します。同期 感知は周辺クロックの存在を 必要とし、一方非同期感知 はどのクロックも必要としませ ん。
図11-9. 入力感知
割り込み 制御
INn
D Q D Q
同期化回路
R R
Pn
非同期感知 エッジ 検出
同期感知 エッジ 検出 反転I/O
割り込み
同期事象
非同期事象
11.6. ポート割り込み
各ポートは2つの割り込みベクタを持ち、各割り込みを起動するポートのピンが形態設定可能です。ポート割り込みはそれらが使用される前 に許可されなければなりません。どの感知形態が割り込み生成に使用できるかは、選択したピンに対して同期と非同期の入力感知の どちらが利用可能かに依存します。
同期感知については、全ての感知形態が割り込み生成に使用できます。エッジ検出に対しては、割り込み要求が生成されるために、
変更されたピン値が周辺クロックによって1度採取されなければなりません。
非同期感知については、各ポートのポート ピン2だけが完全な非同期感知支援を持ちます。これはエッジ検出に関してピン2がどのエッジも ラッチして検出し、常に割り込み要求を起動することを意味します。他のポート ピンは制限された非同期感知支援を持ちます。これはエッ ジ検出に関して、デバイス起動してクロックが存在するまで、変更された値が保持されなければならないことを意味します。デバイスの起動 時間が終わる前にピン値が戻る場合、デバイスは起動したままですが、割り込み要求は生成されません。
Lowレベルは周辺クロックが存在するか否かに拘らず全てのピンで常に検出できます。ピンがLowレベル感知に形態設定された場合、その ピンがLowを保持している限り、割り込みを起動します。活動動作に於いては、割り込みを生成するために現在実行中の命令の完了 までLowレベルが保たれなければなりません。全ての休止形態動作に於いて、割り込みを生成するためにデバイス起動時間の終りまで Lowレベルが保持されなければなりません。起動時間の終了前にLow レベルが消滅した場合、デバイスは起動したままですが、割り込み 要求は生成されません。
表11-1.、表11-2.、表11-3.は様々な入力感知形態に対して割り込みが起動され得る時を要約します。
表11-1. 同期感知支援
支援有無 割り込み内容
感知設定