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シフト点灯回路

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

前回は、RS232Cの通信ポートを使用してシリアルデータを送信する機能を構築しました。具体的には、トグルスイッチを使用して、8ビットのデータ作成して、プッシュスイッチを押すと、シリアルデータとして送信する仕組みを構築しました。送信されたシリアルデータはPC上のTeraTermに表示しました。前回の内容は下記のサイトを参考にしてください。

FPGA MAX10(12)-RS232Cシリアルデータ送信

今回は、RS232Cの通信ポートを使用してシリアルデータを受信する機能を構築したいと思います。具体的には、アスキーコードの0~9を受信すると、7セグメントに受信した数字を表示する機能になります。0~9以外の値を受信した場合は、7セグメントを非表示にします。bandrateは9600bps、ストップビットは1ビットです。データの送信はPC上のTeraTermから行います。

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

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

FPGA MAX10(12)-RS232Cシリアルデータ送信

前回は、Modelsimを使用してシミュレーション評価をしました。

Modelsimを使用してシミュレーションを実行した場合のシミュレーションの流れは下記のサイトを参考にしてください。

FPGA MAX10(10)-ModelSim①

QuartusPrimeからModelsimを起動して、シミュレーションを実行した場合のシミュレーションの流れは下記のサイトを参考にしてください。

FPGA MAX10(11)-ModelSim②

今回は、RS232Cの通信ポートを使用してシリアルデータを送信する機能を構築したいと思います。具体的には、トグルスイッチを使用して、8ビットのデータ作成して、プッシュスイッチを押すと、シリアルデータとして送信する仕組みを構築します。bandrateは9600bps、ストップビットは1ビットです。送信されたシリアルデータはPC上のTeraTermに表示したいと思います。

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

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

次に、VHDLファイルを作成して回路を構築していきます。まずは、プッシュスイッチのポーリング処理とエッジ検出処理機能を構築します。こちらのモジュールの作成方法は、下記のリンクを参照してください。

FPGA MAX10(9)-ポーリング処理とエッジ検出処理