Skip to content

Latest commit

 

History

History
105 lines (83 loc) · 11.8 KB

ahb_uart_lite.org

File metadata and controls

105 lines (83 loc) · 11.8 KB

AHB UART Lite

AHU UART Liteは、UART通信を行うためのモジュールです。 このモジュールはソフトウェア開発時のコンソール出力を目的としているため、フロー制御を行う機能などは持っていません。

レジスタ詳細

AHB UART Liteは、Base Address 0x4F010000に配置されています。

OffsetSymbolRegisterInitial
0x0000UARTL_RXFIFORRx FIFO Register0x00000000
0x0004UARTL_TXFIFORTx FIFO Register0x00000000
0x0008UARTL_STATRStatus Register0x00000004
0x000CUARTL_CTRLRControl Register0x00000000
0x0010UARTL_UBRSRUART Baudrate Setting Register0x000001A0
0xF000UARTL_VERAHB UART Lite IP Version Register-

Rx FIFO Register (Offset 0x0000)

Rx FIFO Registerは、UARTの受信データを読み出すためのレジスタです。

Rx FIFOは受信したデータを 1 Byte単位で最大 16エントリまで格納できます。

bitSymbolFieldDescriptionR/W
31:8-ReservedReserved-
7:0RXDATAUART Rx Data受信したデータを Rx FIFOから読み出すためのレジスタです。UART受信した順に 1 Byteずつ読み出されます。RO

Tx FIFO Register (Offset 0x0004)

Tx FIFO Registerは、UARTの送信データを書き込むためのレジスタです。

書き込みデータは Tx FIFOに格納され、書き込み後直ちに送信を開始します。 Tx FIFOは送信するデータを 1 Byte単位で最大 16エントリまで格納できます。

bitSymbolFieldDescriptionR/W
31:8-ReservedReserved-
7:0TXDATAUART Tx Data送信データを Tx FIFOに書き込むためのレジスタです。このTx FIFOに書き込みが行われると、ただちにUARTの送信が開始されます。WO

Status Register (Offset 0x0008)

Status Registerは、AHB UART Liteの Errorや FIFOのステータスを確認するためのレジスタです。

Control Registerの INTENACTLが “1”にセットされている時、RXFIFOVALビット・TXFIFOEMPビット・RXUNDERRUNERRビット・TXOVERRUNERRビットのいずれかが “0”から “1”に変化するたびに CPUに対しエッジ割り込みが出力されます。

bitSymbolFieldDescriptionR/W
31:10-ReservedReserved-
9TXOVERRUNERRTx FIFO Overrun ErrorTx FIFOが Fullの時に Tx FIFO Registerに書き込んだことにより Tx FIFOで Overrunエラーが発生したことを示すビットです。このビットは 読み出すとクリアされます。0: Tx FIFO Overrunエラー未発生 1: Tx FIFO Overrunエラー発生 Tx FIFO Overrunエラー発生時の書き込みデータは無効となり、Tx FIFOに格納されません。RC
8RXUNDERRUNERRRx FIFO Underrun ErrorRx FIFOが Emptyの時に Rx FIFO Registerを読み出したことにより Rx FIFOで Underrunエラーが発生したことを示すビットです。このビットは 読み出すとクリアされます。0: Rx FIFO Underrunエラー未発生 1: Rx FIFO Underrunエラー発生 Rx FIFO Underrunエラー発生時の Rx FIFO Registerからは無効データが読み出されます。RC
7PRTYERRParity Error受信したUARTフレームでParityエラーが発生したことを示すビットです。このビットは 読み出すとクリアされます。0: Parityエラー未発生 1: Parityエラー発生 このビットはUARTがParity無しで設定されている場合はアサートしません。RC
6FRAMEERRFrame Error受信したUARTフレームで Frameエラーが発生したことを示すビットです。このビットは 読み出すとクリアされます。0: Frameエラー未発生 1: Frameエラー発生 Frameエラー発生時の受信データは無効となり、Rx FIFOに格納されません。RC
5RXOVERRUNERRRx FIFO Overrun ErrorRx FIFOが Fullの時に UART受信したことにより Rx FIFOで Overrunエラーが発生したことを示すビットです。このビットは 読み出すとクリアされます。0: Rx FIFO Overrunエラー未発生 1: Rx FIFO Overrunエラー発生 Rx FIFO Overrunエラー発生時の受信データは無効となり、Rx FIFOに格納されません。RC
4INTENAMONInt Enabled Monitor割り込み通知ステータスを示します。Control Registerの INTENACTLが “1”にセットされている時、このビットは “1”になります。0: 割り込み通知は無効 1: 割り込み通知は有効RO
3TXFIFOFULLTx FIFO FullTx FIFOのFull状態を示します。0: Tx FIFOは Full状態でない 1: Tx FIFOは Full状態RO
2TXFIFOEMPTx FIFO EmptyTx FIFOのEmpty状態を示します。0: Tx FIFOは Empty状態でない 1: Tx FIFOは Empty状態RO
1RXFIFOFULLRx FIFO FullRx FIFOのFull状態を示します。0: Rx FIFOは Full状態でない 1: Rx FIFOはFull状態RO
0RXFIFOVALRx FIFO Valid DataRx FIFOの有効データ格納状態を示します。0: Rx FIFOにデータ無し 1: Rx FIFOにデータ有りRO

Control Register (Offset 0x000C)

Control Registerは、Tx FIFO/Rx FIFOのリセット制御と割り込み通知の設定を行うためのレジスタです。

bitSymbolFieldDescriptionR/W
31:5-ReservedReserved-
4INTENACTLInt Enable ControlAUB UART Liteの割り込み通知の有無を設定します。 0: 割り込み通知を無効にする 1: 割り込み通知を有効にするWO
3:2-ReservedReserved-
1RXFIFORSTReset Rx FIFOこのビットは Rx FIFOをクリアするためのビットです。このビットに1を書き込むと Rx FIFOをリセットします。WO
0TXFIFORSTReset Tx FIFOこのビットは Tx FIFOをクリアするためのビットです。このビットに1を書き込むと Tx FIFOをリセットします。WO

UART Baudrate Setting Register (Offset 0x0010)

UART Baudrate Setting Registerは、UART通信のボーレートを設定するためのレジスタです。

この設定では、UARTの 1ビットの幅がシステムクロックの何サイクルで生成するかを設定します。 そのため、System Register.System Clock Control Registerの CLKMODEの設定を変更し、システムクロックの周波数が変わると設定しなおす必要があります。

レジスタの設定値はシステムクロックの周期と、設定するボーレートから以下のように計算することができます。

$UDIVSET = \frac{1}{{baudrate[bps]}×{SYSCLK\ period[s]}}-1$

bitSymbolFieldDescriptionR/W
15:0UDIVSETUART Divider SettingUART通信のボーレートを設定するためのフィールドです。R/W

AHB UART Lite IP Version Register (Offset: 0xF000)

AHB UART Lite IPのバージョン管理用レジスタです。

bitSymbolFieldDescriptionR/W
31:24MAJVERAHB UART Lite IP Major VersionAHB UART LiteコアのMajor Versionです。RO
23:16MINVERAHB UART Lite IP Minor VersionAHB UART LiteコアのMinor Versionです。RO
15:0PATVERAHB UART Lite IP Patch VersionAHB UART LiteコアのPatch Versionです。RO