SPI I2C UART- 通信プロトコルと用途
マイクロコントローラーの開発は、電子機器の組み立てにおける基本的なプロセスです。しかし、シリアル プロトコルと通信インターフェイスの入力により、この作業が容易になります。この記事では、SPI I2C UART インターフェイスや UART などのシリアル通信プロトコルを徹底的に調査する予定です。シリアル プロトコルの機能、長所、短所、および例を分析します。
1. UART インターフェイス
UART とは?
図 1:Arduino の UART プロトコル
ユニバーサル非同期送受信 ( UART ) 補助デバイスとのホスト通信を容易にするシリアル通信プロトコルです。主に、シリアルデータ伝送を可能にします。また、非同期通信と双方向伝送が可能です。
シンプルなプロトコルには、送信 (Tx) とその他の信号受信 (Rx) を処理する 2 つのデータ ラインも備わっています。通常、信号の送信はデジタル ピン 0 を介して行われ、受信はデジタル ピン 1 を介して行われます。
また、コンピュータと外部シリアル デバイスの管理の同期にも役立ちます。
仕組み
図 2:DIY 電子 USB UART ボード
基本的に、UART は次の方法で 2 つのデバイス間の信号通信を管理します:
- シンプレックス
- 半二重
- 全二重
シンプレックスは単方向のデータ伝送を含み、半二重は 2 つのデバイス間で双方向の非同時通信を意味します。最後に、全二重では、どちらの方向にも同時にデータ転送が行われます。
通常、接続後、送信 UART のデータ ラインから受信 UART へのデータ転送があります。これは次の原則によって行われます;
<オール>UART ワーキング プロトコル
データの送受信
<オール>割り込み制御
データ割り込みは、バッファ コンテンツの自動送信に便利です。次のシナリオの場合、割り込み制御を求めることができます:
- まず、FIFO (先入れ先出し) オーバーフロー エラー、改行エラー、フレーム エラー、またはパリティ エラーが発生した場合に使用します。
- また、データの受信中、送信中、または受信タイムアウト中にアクティブにします。
FIFO 操作
図 3. Arduino の UART インターフェイス
Stellaris ファミリの UART モジュールは、2 つの 16 バイト FIFO を備えており、1 つはデータ受信用、もう 1 つは送信用です。また、さまざまな深さでそれらを構成して、さまざまな割り込みを配信することもできます。たとえば、1/8 の深さ、1/4 の深さ、1/2 の深さなどがあります。
FIFO 送信の作業プロセス
<オール>FIFO 受信の作業プロセス
<オール>ループバック
UART には、RX 入力が送信されたデータを受信する場所に関するデバッグと診断のための内部ループバックがあります。
シリアル赤外線プロトコル
UART は、エンコーダー/デコーダー モジュールとして動作する IrDA シリアル赤外線 (SIR) を備えています。半二重シリアル SIR インターフェイスと非同期 UART データ ストリームの変換に便利です。
さらに、シリアル通信プロトコルは、デコードされた入力とデジタル コード化された出力を UART に送信します。
UART を使用する利点
<オール>UART を使用するデメリット
<オール>マイクロコントローラでの UART の例
- UART Seeeduino V4.2
- USB から UART 5V へ
- ベース シールド V2
- USB CP2102 シリアル コンバーター
2. I2C インターフェイス
I2C とは?
図 4:I2C を使用する差圧センサー
集積回路間 (I2C) 通信プロトコルは UART に似ています。ただし、UART は PC デバイス通信用に指定されていますが、I2C はセンサーやモジュール アプリケーションに役立ちます。
さらに、双方向の 2 線式同期シリアル バスは、通信経路を損なうことなく複数のデバイスを接続できます。これは、共有バスとアドレス システム プロパティのおかげです。
ただし、この機能には、SPI に比べてデバイス間の通信速度が比較的遅いという代償があります。その速度は、外部ノイズ、ワイヤの品質、およびデータ速度に依存します。
最後に、2 線式インターフェースにより、EEPROM、アナログ/デジタル コンバータ、マイクロコントローラなどの低速デバイスへの接続が可能になります。
仕組み
I2C プロトコルには、シリアル データ ライン受け入れポート (SDA) とシリアル クロック ライン (SCL) の 2 つのラインがあります。 SCL は送信同期を容易にし、SDA はデータ ビットを送受信するためのデータ ラインを表します。
転送中、マスターデバイスはバスデータ送信を促します。同時に、転送デバイスを開くクロックを生成します。このシナリオでは、送信でアドレス指定されたデバイスはスレーブ デバイスです。
注意すべき点として、マスター デバイスとスレーブ デバイスのデータ転送速度は一定ではありません。むしろ、それらの関係は、送信時のデータ転送方向に依存します。
また、単一のマスタ デバイスは、データ送信を開始する前に、スレーブ選択デバイスに通知する必要があります。同様に、スレーブからデータを受信する前にスレーブに通知する必要があります。
最適な機能のために、プルアップ抵抗を I2C 電源に接続することも重要です。
I2C ワーキング プロトコル
図 5:ピン 0.96 インチ OLED 128X64 OLED ディスプレイ モジュール IIC I2C
データ送信方法
接続手順は次のとおりです。
<オール>クロック同期
すべてのマスターは、データ送信のために SCL ラインでクロック信号を生成する必要があります。さらに、I2C 送信でデータが有効なままになるのは、クロックがハイの期間だけです。
送信モード
主に次の 2 つの手段で送信されます。
クイック モード
高速モードのデバイスは、400kbit/s の速度でデータを送受信します。また、高速モードの I2C バスはグリッチを大幅に抑えることができ、その出力はスロープ制御機能を備えています。
高速モード
高速モードの I2C バスは、3.4 Mbit/s のビット レートでデータの送受信を行います。したがって、以前のクイックモードよりも高速なデータ転送速度が特徴です。
I2C の利点
<オール>I2C の欠点
<オール>マイクロコントローラにおける I2C の例
- Raspberry Pi の 4 チャンネル 16 ビット ADC
- I2C ハブ (6 ポート) - Grove
- I2C ドライバー/アダプター
- I2C Arduino
3. SPI インターフェース
SPI とは?
図 6:SPI インターフェイスはディスプレイ モジュールで便利です。
シリアル ペリフェラル インターフェース (SPI) は、マイクロコントローラーで使用するように指定されています。また、全二重で機能するため、データの送受信を同時に行うことができます。
SPI は I2C よりも比較的高速で、データ転送速度は少なくとも 8 ビットです。主に、このモジュールのシンプルなプロトコルにより、より高速なデータ レートが可能になります。したがって、ディスプレイモジュールやSDカードなど、速度が必要なアプリケーションでは重要です.
また、温度計など、情報の急激な変化を伴うアプリケーションにも不可欠です。
仕組み
図 7:SPI を利用する SD カード
SPI 形式のデバイスは、次の 2 つの方法のいずれかで動作します:
- まず、チップ セレクト ラインでデバイスを選択します。各デバイスには固有のチップ セレクト ラインが必要であることに注意してください。
- または、デイジー チェーン経由でも機能します。
SPI インターフェイスには、必要な数のデバイスを接続できます。ただし、ほとんどの場合、使用可能なハードウェア選択ラインによって制限されます。最後に、ポイントツーポイント通信中、モジュールは操作に対処する必要はありません。
SPI ワーキング プロトコル
4 つのポートを介した SPI 機能:
<オール>マルチスレーブ システムを使用する場合、各スレーブは固有のイネーブル信号を要求します。この要件により、I2C 通信に比べてハードウェア要件が複雑になります。
また、SPI インターフェイスには 2 つのシフト レジスタがあります。これにより、CPU などの単一のマスター デバイスと周辺デバイスとの間で同期シリアル データ転送が可能になります。
SPI を使用する利点
<オール>SPI を使用するデメリット
<オール>マイクロコントローラでの SPI の例
- SPI Seeeduino V4.2
- SPI ドライバ/アダプタ - SPI デバイスを簡単にドライバ
UART、I2C、SPI の比較
これらの通信周辺機器のうち、「最高」のものはどれですか? UART、SPI、または I2C?
それぞれに重要な長所と短所があるため、3 つのうち優れた通信周辺機器はありません。したがって、プロジェクトに応じて最適なプロトコルを選択してください。たとえば、速度を求める場合は SPI が最適です。
ただし、複雑なアレイを使用せずに多数のデバイスを接続する場合は、I2C を使用してください。
結論
UART、I2C、および SPI 通信インターフェイスとそれらのさまざまな転送速度について知っておく必要があるすべての重要な洞察を明らかにしました。また、通信プロトコルに関するご質問にもお答えします。ご連絡いただければ、すぐにお手伝いいたします。
産業技術