• 検索結果がありません。

UART モデム制御レジスタ

ドキュメント内 LPC111x UM Rev0015 Japanese (ページ 111-114)

(パワーマネージメントユニット)

9.6 レジスタの説明

9.6.8 UART モデム制御レジスタ

U0MCRはモデムループバックモードをイネーブルにして、モデム出力信号を制御します。

3 Parity Enable

0 パリティの生成とチェックをディスエーブルにします。 0 1 パリティの生成とチェックをイネーブルにします。

5:4 Parity Select

00 奇数パリティ。送信される文字内の1の数であり、付加されるパリ ティビットは奇数になります。

0 01 偶数パリティ。送信される文字内の1の数であり、付加されるパリ

ティビットは偶数になります。

10 強制"1"スティックパリティ。

11 強制"0"スティックパリティ。

6 Break Control

0 ブレーク送信をディスエーブルにします。 0 1 ブレーク送信をイネーブルにします。 U0LCR[6]がアクティブHIGH

のとき、出力ピンUART TXDは強制的にロジック0になります。

7 Divisor Latch Access Bit (DLAB)

0 ディバイザラッチへのアクセスをディスエーブルにします。 0 1 ディバイザラッチへのアクセスをイネーブルにします。

31:8 - - 予約済み

-Table 123. UART Line Control Register (U0LCR - address 0x4000 800C) bit description (続き)

Bit Symbol Value Description Reset

Value

Table 124. UART0 Modem Control Register (U0MCR - address 0x4000 8010) bit description

Bit Symbol Value Description Reset

value 0 DTR

Control

モデム出力ピンDTRのソース。モデムループバックモードがアク ティブのとき、このビットは0と読み取られます。

0 1 RTS

Control

モデム出力ピンRTSのソース。モデムループバックモードがアク ティブのとき、このビットは0と読み取られます。

0 3:2 - NA 予約済み。ユーザーソフトウェアによって予約ビットに1を書き

込まないでください。予約ビットから読み取った値は未定義で す。

0

FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A

9.6.8.1 自動フロー制御

自動RTSモードがイネーブルな場合、UARTのレシーバFIFOハードウェアがUARTのRTS 出力を制御します。自動CTSモードがイネーブルな場合、CTS入力信号がアサートされて

いれば、UARTのU0TSRハードウェアは送信の開始のみを行います。

9.6.8.1.1 自動RTS

自動RTS機能は、RTSenビットを設定することによってイネーブルになります。自動RTS データフロー制御は、U0RBRモジュールから発信され、プログラムされたレシーバFIFO トリガレベルにリンクされます。自動RTSがイネーブルの場合、データフローは次のよう に制御されます。

レシーバのFIFOレベルがプログラムされたトリガレベルに達すると、RTSが(高い値に)

デアサートされます。送信側UARTは、トリガレベルに達した後に1バイトを追加送信す ることができます(送信側UARTにもう1つ送信するバイトがあると仮定します)。これ は、追加バイトの送信を開始するまで、RTSのデアサートを認識しない可能性があるから です。レシーバ FIFO が以前のトリガレベルに達すると、RTS は自動的に(低い値に)再 アサートされます。 RTSの再アサートは、送信側UARTに対してデータ送信を続行するよ うに信号を出します。

4 Loopback Mode Select

0

モデムループバックモードは、診断ループバックテストを実行す るメカニズムを提供します。トランスミッタからのシリアルデー タは、レシーバのシリアル入力に内部接続されています。入力ピ ンRXDはループバックにまったく影響せず、出力ピンTXDはマー キング状態に保たれます。 4 つのモデム入力(CTS、DSR、RI、 DCD)は外部で切断されます。外部では、モデム出力(RTS、DTR) は非アクティブに設定されます。内部では、4 つのモデム出力が 4つのモデム入力に接続されます。これらの接続の結果、U0MSR の上位 4 ビットは、通常モードの 4 つのモデム入力ではなく、

U0MCRの下位4ビットによって駆動されます。これにより、モデ

ムステータス割り込みは、U0MCRの下位4ビットを書き込むこ とによってループバックモードで生成されます。

0

モデムループバックモードをディスエーブルにします。

1 モデムループバックモードをイネーブルにします。

5 - NA 予約済み。ユーザーソフトウェアによって予約ビットに1を書き 込まないでください。予約ビットから読み取った値は未定義で す。

0

6 RTSen 0 自動RTSフロー制御をディスエーブルにします。 0

1 自動RTSフロー制御をイネーブルにします。

7 CTSen 0 自動CTSフロー制御をディスエーブルにします。 0

1 自動CTSフロー制御をイネーブルにします。

31:8 - - 予約済み

-Table 124. UART0 Modem Control Register (U0MCR - address 0x4000 8010) bit description(続き)

Bit Symbol Value Description Reset

value

FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A 自動RTSモードがディスエーブルの場合、RTSenビットがUARTのRTS出力を制御しま す。自動RTSモードがイネーブルの場合、ハードウェアがRTS出力を制御し、RTSの実際 値はUARTのRTS制御ビットにコピーされます。自動RTSがイネーブルである限り、RTS 制御ビットの値はソフトウェアにとって読み取り専用となります。

例: タイプ’550モードで動作するUARTの、U0FCRでのトリガレベルが0x2に設定されて いるとすれば、自動RTSがイネーブルの場合、UARTは受信FIFOに8バイトが含まれる とただちに RTS 出力をデアサートします(110 ページの Table 122)。 RTS 出力は、受信 FIFOが以前のトリガレベルである4バイトに達すると、ただちに再アサートされます。

9.6.8.1.2 自動CTS

自動CTS機能は、CTSenビットを設定することによってイネーブルになります。自動CTS がイネーブルの場合、U0TSR モジュール内のトランスミッタ回路は、次のデータバイト を送信する前にCTS入力をチェックします。 CTSがアクティブ(LOW)のとき、トランス ミッタは次のバイトを送信します。後続のバイトの送信をトランスミッタが停止するに は、現在送信されている最後のストップビットの中間より前に CTS を解放する必要があ ります。自動CTSモードでは、CTS割り込みイネーブルビットが設定されていない限り、

CTS信号の変化によってモデムステータス割り込みがトリガされることはありません(た

だし、U0MSR 内のデルタ CTS ビットは設定されます)。モデムステータス割り込みを生

成するための条件をTable 125に示します。

Fig 12. Auto-RTS Functional Timing

start byte N stop start bits0..7 stop start bits0..7 stop

N-1 N N-1 N-2 N-1 N-2 M+2 M+1 M M-1

UART1 Rx

RTS1 pin

UART1 Rx FIFO level UART1 Rx FIFO read

~ ~

~ ~

~ ~

~ ~

~ ~

Table 125. Modem status interrupt generation Enable

modem status interrupt (U0ER[3])

CTSen (U0MCR[7])

CTS interrupt enable (U0IER[7])

Delta CTS (U0MSR[0])

Delta DCD or trailing edge RI or

Delta DSR (U0MSR[3] or U0MSR[2] or U0MSR[1])

Modem status interrupt

0 x x x x No

1 0 x 0 0 No

1 0 x 1 x Yes

FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A

自動CTS機能は、ホストシステムへの割り込みを減らします。フロー制御がイネーブルの ときは、デバイスが自身のトランスミッタを自動制御するので、CTSの状態変化がホスト 割り込みをトリガすることはありません。自動 CTS がなければ、トランスミッタは送信 FIFO 内にあるデータをすべて送信するので、レシーバのオーバーランエラーが発生する ことがあります。Figure 13に、自動CTSの機能タイミング例を示します。

最初の文字の送信開始時にCTS信号がアサートされます。送信は、保留中の送信が完了す るとただちに停止します。 UARTは、CTSがデアサート(HIGH)されている限り、1ビッ トの送信を続行します。 CTS がデアサートされるとただちに送信は再開され、スタート ビットが送信されるのに続いて、次の文字のデータビットが送信されます。

9.6.9 UART ラインステータスレジスタ( U0LSR - 0x4000 8014 、読み取り専

ドキュメント内 LPC111x UM Rev0015 Japanese (ページ 111-114)