(パワーマネージメントユニット)
9.6 レジスタの説明
9.6.5 UART 割り込み識別レジスタ( U0IIR - 0x4004 8008 、読み取り専用)
U0IIR は、保留中の割り込みの優先度とソースを示すステータスコードを提供します。
U0IIRアクセスの間、割り込みは凍結されます。 U0IIRアクセス中に割り込みが発生した場
合、その割り込みは次のU0IIRアクセスで記録されます。
Table 119. UART Interrupt Enable Register (U0IER - address 0x4000 8004 when DLAB = 0) bit description
Bit Symbol Value Description Reset
value
0 RBR
Interrupt Enable
UART の受信データ使用可能割り込みをイネーブルにしま す。これは文字受信タイムアウト割り込みも制御します。
0 0 RDA割り込みをディスエーブルにします。
1 RDA割り込みをイネーブルにします。
1 THRE
Interrupt Enable
UARTのTHRE割り込みをイネーブルにします。この割り込 みのステータスはU0LSR[5]から読み取ることができます。
0 0 THRE割り込みをディスエーブルにします。
1 THRE割り込みをイネーブルにします。
2 RX Line Interrupt Enable
UART RX ラインステータス割り込みをイネーブルにしま
す。この割り込みのステータスはU0LSR[4:1]から読み取る ことができます。
0
0 RXラインステータス割り込みをディスエーブルにします。
1 RXラインステータス割り込みをイネーブルにします。
3 - - 予約済み
-6:4 - 予約済み。ユーザーソフトウェアによって予約ビットに1 を書き込まないでください。予約ビットから読み取った値 は未定義です。
NA
7 - - 予約済み 0
8 ABEOIntEn 自動通信速度設定割り込みの終了をイネーブルにします。 0
0 自動通信速度設定割り込みの終了をディスエーブルにし ます。
1 自動通信速度設定割り込みの終了をイネーブルにします。
9 ABTOIntEn 自動通信速度設定タイムアウト割り込みをイネーブルに
します。
0 0 自動通信速度設定タイムアウト割り込みをディスエーブ
ルにします。
1 自動通信速度設定タイムアウト割り込みをイネーブルに します。
31:10 - 予約済み。ユーザーソフトウェアによって予約ビットに1
を書き込まないでください。予約ビットから読み取った値 は未定義です。
NA
FT D RAF FT DR
AFT DRA
FT D FT D
RA FT D
RA FT D
RA FT DR
A
ビットU0IIR[9:8]は自動通信速度設定機能によって設定され、自動通信速度設定状態のタ
イムアウトまたは終了の信号を出します。自動通信速度設定割り込み状態は、自動通信速 度設定制御レジスタ内の対応するクリアビットを設定することによってクリアされます。
IntStatusビットが1で保留中の割り込みがない場合、IntIdビットは0になります。 IntStatus が 0 の場合、非自動通信速度設定割り込みは保留されます。この場合、IntId ビットは
Table 121の説明に従って割り込みの種類を識別し、処理します。 U0IIR[3:0]のステータス
では、割り込みハンドラルーチンが、割り込みの原因とアクティブな割り込みをクリアす る方法を特定することができます。割り込みサービスルーチンを終了する前に割り込み をクリアするには、U0IIRを読み取る必要があります。
UART RLS割り込み(U0IIR[3:1] = 011)は最優先割り込みであり、4つのエラー状態(オー バーランエラー(OE)、パリティエラー(PE)、フレーミングエラー(FE)、ブレーク割り Table 120. UART Interrupt Identification Register (U0IIR - address 0x4004 8008, Read Only)
bit description
Bit Symbol Value Description Reset
value
0 IntStatus 割り込みステータス。 U0IIR[0]はアクティブLOWです。保留
される割り込みは、U0IIR[3:1]を評価することで特定できま す。
1
0 少なくとも1つの割り込みが保留されています。
1 割り込みは保留されていません。
3:1 IntId 割り込みの識別。 U0IER[3:1]はUART Rx FIFOに対応する割り 込みを識別します。以下に列挙していないU0IER[3:1]の他の 組み合せは、すべて予約済みです(100、101、111)。
0
011 1 - 受信ラインステータス(RLS) 010 2a - 受信データ使用可能(RDA)
110 2b - 文字タイムアウトインジケータ(CTI) 001 3 - THRE割り込み
000 4 - モデム割り込み
5:4 - 予約済み。ユーザーソフトウェアによって予約ビットに 1 を書き込まないでください。予約ビットから読み取った値 は未定義です。
NA
7:6 FIFO Enable これらのビットはU0FCR[0]と同等です。 0
8 ABEOInt 自動通信速度設定割り込みの終了。自動通信速度設定が正
常に完了し、割り込みがイネーブルな場合にtrueです。
0
9 ABTOInt 自動通信速度設定タイムアウト割り込み。自動通信速度設
定がタイムアウトし、割り込みがイネーブルな場合に true です。
0
31:10 - 予約済み。ユーザーソフトウェアによって予約ビットに 1
を書き込まないでください。予約ビットから読み取った値 は未定義です。
NA
FT D RAF FT DR
AFT DRA
FT D FT D
RA FT D
RA FT D
RA FT DR
A UART RDA 割り込み(U0IIR[3:1] = 010)は、CTI 割り込み(U0IIR[3:1] = 110)との間で 2 番目の優先度を共有します。 RDAは、UART Rx FIFOがU0FCR7:6で定義されたトリガレベ ルに達するとアクティブになり、UART Rx FIFOの深度がトリガレベルより下がるとリセッ トされます。 RDA割り込みがアクティブになると、CPUはトリガレベルによって定義され たデータのブロックを読み取ることができます。
CTI割り込み(U0IIR[3:1] = 110)は第2レベルの割り込みであり、UART Rx FIFOに少なく とも1つの文字が含まれ、UART Rx FIFOアクティビティが3.5〜4.5文字回数以内に発生 しなければ設定されます。何らかのUART Rx FIFOアクティビティ(UART RSRの読み取り または書き込み)があると、割り込みはクリアされます。この割り込みは、トリガレベル サイズの倍数ではないメッセージを受信した後で、UART RBRをフラッシュすることを目 的としています。たとえば、ペリフェラルが105文字のメッセージを送信しようとしてい てトリガレベルが10文字だとした場合、CPUは10件のRDA割り込みを受信します。そ の結果、100文字と1〜5件のCTI割り込み(サービスルーチンに応じて異なる)が転送 されることによって、残りの5文字が転送されます。
[1] 値「0000」、「0011」、「0101」、「0111」、「1000」、「1001」、「1010」、「1011」、「1101」、「1110」、「1111」は 予約済みです。
[2] 詳細はSection 9.6.9「UARTラインステータスレジスタ(U0LSR - 0x4000 8014、読み取り専用)」を参照。
[3] 詳細はSection 9.6.1「UARTレシーババッファレジスタ(U0RBR - 0x4000 8000、DLAB = 0のとき、読み取 り専用)」を参照。
[4] 詳細はSection 9.6.5「UART割り込み識別レジスタ(U0IIR - 0x4004 8008、読み取り専用)」およびSection 9.6.2「UARTトランスミッタ保持レジスタ(U0THR - 0x4000 8000、DLAB = 0のとき、書き込み専用)」を参照。
Table 121. UART Interrupt Handling U0IIR[3:0]
value[1]
Priority Interrupt type
Interrupt source Interrupt
reset
0001 - None なし
-0110 Highest RX Line Status / Error
OE[2]またはPE[2]またはFE[2]またはBI[2] U0LSR 読み 取り[2]
0100 Second RX Data Available
Rxデータ使用可能またはFIFO内でトリガレベルに 到達(U0FCR0=1)
U0RBR 読み 取り[3]また は UART FIFO がトリ ガレベル未 満に低下 1100 Second Character
Time-out indication
RX FIFO内に少なくとも1文字があり、一定時間内 に文字の入力や削除が行われていないこと。この 時間は、FIFO 内にいくつの文字があり、トリガレ ベルがいくつに設定されているか(3.5〜4.5文字 回数)によって異なります。
正確な時間は次式のとおりです。
[(ワード長) ×7 - 2] ×8 + [(トリガレベル - 文字数 )×8 + 1] RCLK
U0RBR 読み 取り[3]
0010 Third THRE THRE[2] U0IIR読み取
り [4](割り 込みソース の 場 合)ま たはTHR書 き込み
FT D RAF FT DR
AFT DRA
FT D FT D
RA FT D
RA FT D
RA FT DR
A UART THRE割り込み(U0IIR[3:1] = 001)は第3レベルの割り込みであり、UART THR FIFO が空で、一定の初期化条件を満たしている場合にアクティブになります。これらの初期化 条件は、UART THR FIFOをデータで満たし、多くのTHRE割り込みがシステム起動時に発 生するのを防ぐことを目的としています。初期化条件は、THRE = 1のときは常に1文字遅 延からストップビットを引いたものを導入し、最後のTHRE = 1イベント以降、U0THR内 に一度に少なくとも2文字が存在したことはありません。この遅延は、デコードとサービ スのためにTHRE割り込みを行うことなく、U0THRにデータを書き込む時間をCPUに与 えるために提供されます。 THRE割り込みは、UART THR FIFOが一度に2文字以上保持し ていて、現在U0THRが空であれば、ただちに設定されます。 THRE割り込みは、U0THR書 き込みが発生するか、U0IIRの読み取りが発生し、THREが最優先割り込み(U0IIR[3:1] = 001) である場合にリセットされます。
FT D RAF FT DR
AFT DRA
FT D FT D
RA FT D
RA FT D
RA FT DR
A