FPGA MAX10(14)-RS232Cシリアル通信エコーバック

このエントリーをはてなブックマークに追加

前回は、RS232Cの通信ポートを使用してシリアルデータを受信する機能を構築しました。具体的には、アスキーコードの0~9を受信すると、7セグメントに受信した数字を表示する機能になります。0~9以外の値を受信した場合は、7セグメントを非表示にします。データの送信はPC上のTeraTermから行います。前回の内容は下記のサイトを参考にしてください。

FPGA MAX10(13)-RS232Cシリアルデータ受信

今回は、RS232Cの通信ポートを使用したシリアル通信のエコーバック機能を構築したいと思います。受信したデータをそのまま送信する機能になります。bandrateは9600bps、ストップビットは1ビットです。シリアル通信を行う相手側はPC上のTeraTermになります。追加機能として、下記の機能も構築しようと思います。受信したデータは2進数表現でLEDに表示したいと思います。アスキーコードで0~9の値を受信した場合は、7セグメントにその値を表示します。0~9以外の値を受信した場合は、7セグメントを非表示にします。

それでは、RS232Cの通信ポートを使用したシリアル通信のエコーバック機能を構築したいと思います。まずは新規プロジェクトを作成します。新規プロジェクトを作成できたら、IPを使用してPLL回路を追加します。PLLでは50MHzのクロックを入力として、10MHzのクロックを出力します。新規プロジェクトの作成方法、PLLの追加方法は下記のリンクを参照してください。

FPGA MAX10(4)-LEDシフト点灯回路