TEL:086-227-0113
info@gopher-tec.jp
TOP page 製品情報 FPGAソース Transmitter Block for UART
Transmitter Block for UART

UARTのデータ送信部分のサンプルコードです。
16段のFIFOとシフトレジスタ、そしてステートマシンで構成されます。
CPUのコンソール用というよりも、FPGAの内部情報等をソフトウェアレスで常時外部へ送出するための
UART、という役回りで使用されます。
キャラクチャ長5~8ビット、パリティの偶/奇/なし、ストップビット長1または2ビット等が外部信号に
よって選択可能です。
なお、本モジュールにはボーレートジェネレータは含んでいません。
弊社のWebStoreにある、"Baud Rate Generator for UART"モジュールとセットで使用すると、
内部動作クロックと通信ボーレート用クロックを生成するためのクロックイネーブル信号出力がそのまま
接続でき便利です。

Port I/O  Description 
CLK_IN in 本モジュールの内部動作クロック入力です。
24M~133.33MHzのクロック(ただし制限あり)が接続される想定です。詳しくは弊社の
”Bard Rate Generator for UART”モジュールの資料から、CLK_INに関する記載をご覧下さい。
RST
in 非同期リセット入力です。パワーオン時、またはシステムリセット時にアサートして下さい。
CKE_TX in UART 送信用クロックイネーブル入力です。
ボーレートの周期でアサートされるCLK_INに同期した信号を入力して下さい。
弊社の”Bard Rate Generator for UART”モジュールとセットで使用する場合は、そのCKE_TX
出力を本ポートに直接接続して下さい。
TX_EN in 送信開始のイネーブル入力です。
RS232Cの制御線(本モジュールにはありません)等を使ってフロー制御を行いたい場合は、
このポートを操作することで送信開始の制御が可能です。不要な場合はHi固定として下さい。
TX_FORCE_BREAK in BREAK を強制送出するための信号です。
アサート期間中は、FIFOやシフトレジスタ内のデータに関係なく、BREAK信号が送出され
続けます。
TX_CHAR_LEN[1:0] in 送信するキャラクタ長を設定する信号です。
00の時5ビット、01の時6ビット、10の時7ビット、11の時8ビットとなります。
TX_PAR_TYP[1:0] in キャラクタに続いて送出されるパリティビットを設置する信号です。
00または01の時パリティなし、10の時偶数パリティ、11の時奇数パリティとなります。
TX_STOP_LEN[1:0] in ストップビット長を設定する信号です。
00または01の時1ビット、10または11の時2ビットとなります。
TX_BI_STB in 送信データFIFOへのライトストローブ入力です。
TX_BI_DAT[7:0] in 送信データFIFOへのデータ入力です。
TX_BI_FULL out 送信データFIFOのフルフラグです。
TX_BI_EMPTY out 送信データFIFOのエンプティフラグです。
TX_ALL_EMPTY out 送信データFIFOと同シフトレジスタが、ともにエンプティとなったことを示すフラグです。
TX_BI_ERR out 送信データFIFOのエラーパルス出力です。
FIFOがフルの状態でライトを行うとアサートされます(データはFIFOにライトされず捨て
られます)。
SOUT out UARTのシリアル出力です。
※特に注記のない限り、信号は全て正論理です。
本ソースコードはVerilog版のみとなっております。
詳細は下記の資料ダウンロードをクリックください。
ソースコード自体は当社WEBストアにて販売しております。

Transmitter Block for UART
資料ダウンロード