技術共有

UARTシリアル通信実験

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. コミュニケーションの種類

1.1 データ通信方式による

1.1.1 シリアル通信

アドバンテージ:占有ピン数が少なく、低コスト

欠点がある:通信速度が遅い

アプリケーション長距離・低速通信の場合

1.1.2 パラレル通信

アドバンテージ: 伝送速度が速い

欠点がある:ピン占有量が多くコスト高

アプリケーション:近距離の状況。

1.2 データ送信方向による

1.2.1 単信通信:

      データは一方向にのみ転送できます。

1.2.2 半二重通信:

データは両方向に転送できますが、タイムシェアリングする必要があります。

1.2.3 全二重通信:

データは双方向に同時に送信できます。

1.3 データ同期方向による分類

1.3.1 同期通信

クロックポートによるデータ転送

1.3.2 非同期通信

クロック ポートはなく、送信側と受信側は独自のクロックを使用してデータの送受信プロセスを制御します。

2.UARTシリアルポート

意味: ユニバーサル非同期受信機、送信機、シリアル データ バス、データ送信時はパラレルデータをシリアルデータに変換して送信し、データ受信時は受信したシリアルデータをパラレルデータに変換します。これを実現するには 2 つの信号線が必要です。1 つはシリアル ポートの送信に使用され、もう 1 つは 2 つのデバイス間の TXD と RXD を相互接続する必要があります。

1.物理層:インターフェースの種類、レベル規格など

2.プロトコル層:通信プロトコル(データ形式、通信速度などを含む)

シリアル 送信または受信中のデータのフレームは次のもので構成されます。 4 スタートビット、データビット、パリティビット、ストップビットで構成されます。 。

        スタートビット: フレームの先頭では、低レベル 0 の下位ビットを維持する必要があります。

        データビット: 送信するデータ ビット。データ ビットは 5 ~ 8 ビット、LSB が最初、MSB が最後です。

        チェックデジット: オプションのビット。1 ビットを占有し、チェックする必要はありません。

        ストップビット: フレームの終わり (必須)。オプションで 0.5/1/1.5/2 ビットを占有し、ロジック ハイ レベルを維持します。

ボー レート: シリアル通信の速度はボー レートで表され、1 秒あたりに送信されるバイナリ データのビット数を表します。単位は bps (ビット/秒) です。一般的に使用されるボーレートは 9600 です1920038400、57600および 115200 待って。

UART はデータのシリアルからパラレルへの変換を完了する責任を負い、信号送信は外部ドライバー回路によって実装されます。非同期シリアル通信には、電気信号の伝送プロセスにさまざまなレベルの規格とインターフェース仕様があります。インターフェース規格RS232ありますRS422、RS485 など、インターフェイスのさまざまな電気的特性を定義します。 RS-232 はシングルエンド入力および出力ですが、 RS-422/485 差動入出力用

待って。

3. 実験タスク

        このセクションの実験タスクは、ホスト コンピューターがシリアル ポート デバッグ アシスタントを通じて Venus 開発ボードと Venus 開発ボード PL にデータを送信することです。 端末は USB_UART シリアル ポートを介してデータを受信し、受信したデータをホスト コンピュータに送信して、シリアル ポート データ ループバックを完了します。 UART ボーレート: 115200。ストップ ビット: 1、データ ビット 8、パリティ ビットなし。

4. システムブロック図の作成

uart_rx モジュールでは、uart_rxd はシリアル ポートで受信したデータであり、uart_rx_done はデータ変換が完了したことを示します (データがパラレル データからシリアル データに変換されたこと)。 uart_rx_data は変換完了後のシリアルデータを表します。注: 受信したパラレルデータは 1 ビット、変換されたシリアルデータは 8 ビットです。

uart_tx モジュール内: uart_tx_dat は変換された 8 ビット シリアル データを表し、uart_tx_en はデータがパラレルからシリアルに変換されたことを表し、uart_txd は変換されたパラレル データを表し、uart_tx_busy はデータがシリアルからシリアルに変換されたことを表します。シリアルで変換中です。

       

5. 波形図を描く

uart_rxd は非同期信号であり、スタートビットが Low レベルであるため、立ち下がりエッジの変化を捉える必要があるため、データ受信スタートビット信号を取得できるように 3 ビートで処理する必要があります。開始_enこの信号は、パラレル データが到着していることを示し、パラレルからシリアルへの変換を実行できるようになります。

                  rx_フラグ start_en から始まり rx_cnt=9 および baud_cnt が 216 までの、パラレル データからシリアル データへの変換が進行中であることを示します。これは、フレーム データが終了する前に次のフレーム データのスタート ビットが来る状況を避けるためで、ストップ ビットは 0.5 ビットに制御されます。

                 ボーレート: システム クロックは 50Mhz、つまり 50000000、ここでのボー レートは 115200 であるため、50000000/115200=434、つまり 1 ビットのデータを送信するのに 434 システム クロック サイクルかかるため、baud_cnt カウンターが必要になります。

                受信データ : シリアル データは 8 ビットであるため、特定のビットのデータを見つけて値を割り当てるのを容易にするインデックスを追加するのが最善です。したがって、rx_cnt が必要です。

                 rx_data_t:変換されたシリアルデータ。

uart_rx 波形図

uart_tx_en: シリアルデータ変換が完了したことを示します。つまり uart_rx_done 信号です。

uart_data_t: 変換後にシリアル データ ビットを一時的に保存し、その後の送信を容易にします。

baud_cnt: 上記と同じ。

tx_cnt: 上記と同じ。

uart_tx 波形図

6. シミュレーション

uart_rx シミュレーション波形

uart_tx 波形シミュレーション

uart全体波形図

7. ボードレベルの検証

シリアルポートデバッグツールを開く

デバッグが必要な信号にデバッグ属性を追加し、プログラムを開発ボードに書き込み、シリアル ポート アシスタントに次の情報を入力します。

55 66 77 の 4 桁の 16 進コードは、それぞれ 0101 0101、0110 0110、0111 0111 であるためです。