そして,プリント基板, PCBA および PECVD のカスタマイズ, 試作・製造プロデューサー

ダウンロード | について | 接触 | サイトマップ

GPIO の本質を理解する, I2C, SPI, UART, 使用, およびUSB通信インターフェース - そして

プリント基板技術

GPIO の本質を理解する, I2C, SPI, UART, 使用, およびUSB通信インターフェース

多くの電子機器の基板上のさまざまなインターフェイスを見たことがあるはずです。, GPIOなど, I2C, SPI, UART, 使用, USB, 等. 動作原理に興味があるはずです, 目的, および回路基板上のこれらのインターフェイスの違い. 今日, 私たちの編集者は、UGPCB 社の技術部門の同僚を訪ねて説明しました。 “本質。”

通信インターフェース

通信インターフェース

単純な違い

1) GPIO (汎用入力出力) 汎用入出力です, 一般港, 業界標準 I2C を使用して I/O 拡張を簡素化するバス エクステンダー, SMバス™, またはSPI™ インターフェース. マイクロコントローラーまたはチップセットに十分な I/O ポートが不足している場合, またはシステムがリモートシリアル通信または制御を必要とする場合, GPIO 製品は追加の制御および監視機能を提供できます.

2) SPI (シリアルペリフェラルインターフェイス) 標準の 4 線式同期双方向シリアル バスです。. SPI インターフェイスは主に EEPROM で使用されます, フラッシュ, リアルタイムクロック, ADコンバータ, およびデジタル信号プロセッサとデジタル信号デコーダの間. SPIは高速です, 全二重, チップ上の 4 つのピンのみを占有する同期通信バス, ピン数と PCB レイアウトスペースを節約. シンプルで使いやすい特徴があるため、, この通信プロトコルを統合するチップが増えています.

3) 私2C (インターICバス) マイクロコントローラーとその周辺機器を接続するために PHILIPS によって開発された 2 線式シリアル バスです。. マイクロエレクトロニクス通信制御の分野で広く採用されているバス規格です。. インターフェイス回線が少ないという利点があります, 簡単な制御方法, 小型デバイスの梱包フォーム, 通信速度の向上.

4) UART (ユニバーサル非同期レシーバートランスミッター) 汎用の非同期受信/送信デバイスです.

5) USART ユニバーサル同期非同期レシーバートランスミッター;

6) USBユニバーサルシリアルバス (ユニバーサルシリアルバス)

7) CANフィールドバス

インターフェース送信パラメータの表

インターフェース送信パラメータの表

送信データラインの構成

SPIバスは3本の信号線で構成されています。 シリアルクロック (SCLK), シリアルデータ出力 (SDO), およびシリアルデータ入力 (SDI). SPI バスは複数の SPI デバイスを接続できます. SPI クロックを提供する SPI デバイスはマスターまたはメイン デバイスです。 (マスター), 他のデバイスがスレーブまたはスレーブデバイスである間 (スレーブ). マスターデバイスとスレーブデバイスは全二重通信を実現できます. スレーブ機器が複数台ある場合, 追加のスレーブ選択ラインを追加できます.

一般的な IO ポートを使用して SPI バスをシミュレートする場合, 出力ポートが 1 つ必要です (SDO), 1つの入力ポート (SDI), 実装されているデバイスの種類に応じて, マスターデバイスとスレーブデバイスを実装する場合は別のポート, 入力ポートと出力ポートの両方が必要; マスターデバイスのみを実装する場合, 出力ポートで十分です; スレーブデバイスのみを実装する場合, 入力ポートが必要です.

I2C バスは双方向です, 2線式 (SCL, SDA), シリアル, バスアービトレーション機構を備えたマルチマスターインターフェース標準, 近距離に非常に適しています, デバイス間のまれなデータ通信. そのプロトコル システムでは, データ送信時, 宛先デバイスのアドレスが含まれます, デバイスネットワーキングを有効にする.

双方向伝送用の一般的な IO ポートを使用して I2C バスをシミュレートする場合, 1つの入出力ポート (SDA) 必要です, そして別の出力ポート (SCL) が必要です. (注 I2C に関する私の理解は比較的限られています, したがって、この説明は不完全である可能性があります。)

UART バスは非同期シリアル ポートです。, そのため、一般に、前の 2 つの同期シリアル ポートよりもはるかに複雑な構造になっています。 (マイコンの本で紹介されている, 複雑とは考えられていませんが). 通常、ボーレートジェネレータで構成されます。 (生成されたボーレートは以下に等しい 16 送信ボーレートの倍), UARTレシーバー, そしてUARTトランスミッター, ハードウェアに 2 本のワイヤーが付いている, 1 つは送信用、もう 1 つは受信用.

明らかに, 一般的な IO ポートを使用して UART バスをシミュレートする場合, 入力ポートと出力ポートが 1 つずつ必要です.

2点目からは, SPI と UART が全二重を実現できることは明らかです。, しかし、I2Cはできません.

通信プロトコルの違い

SPI

 

SPI

SPI

SPI は、マスター デバイスがスレーブ デバイスとの同期通信を開始できるようにするプロトコルです。, これによりデータ交換が完了します. この通信方法には、占有するポートが少ないという利点があります。; 一般的に, 基本的なコミュニケーションには 4 つで十分です. 同時に, 通信速度も非常に高速です. 一般的に, マスターデバイスにはSPIコントローラーが必要です (しかし、それをシミュレートすることもできます) SPIベースのチップと通信するため.

SPIの通信原理は非常にシンプルです; 少なくとも4本のワイヤーが必要です, でも3つでも十分です. これらはすべての SPI ベースのデバイス SDI に共通です (データ入力), SDO (データ出力), SCK (クロック), CS (チップセレクト). CS はチップが選択されるかどうかを制御します, つまり、このチップ上の操作は、チップ選択信号が所定のイネーブル信号である場合にのみ有効になります。 (高レベルまたは低レベル). これにより、複数の SPI デバイスを同じバス上に接続できるようになります。.

次は通信を担当する 3 つのラインです. データ交換により通信が完了する. ここ, SPI はシリアル通信プロトコルであることを知っておくことが重要です, データはビットごとに送信されることを意味します. これが SCK クロック ラインが存在する理由です。. SCK はクロック パルスを提供します, およびSDI, SDO はこれらのパルスに基づいてデータ送信を完了します. データ出力はSDOラインを通じて行われます; データはクロックの立ち上がりエッジまたは立ち下がりエッジで変化し、直後の立ち下がりエッジまたは立ち上がりエッジで読み取られます。. こうして1ビットのデータ送信が完了します. 入力も同じ原理に従います. したがって, クロック信号の少なくとも 8 回の変化 (1 つのアップとダウンのサイクルが 1 つの変化を構成します) の送信を許可する 8 データのビット.

SCK 信号線はマスターデバイスによってのみ制御されることに注意してください。, スレーブデバイスは信号線を制御できません. 同様に, SPIベースのデバイス内, 少なくとも 1 つのマスターデバイスが必要です.

この伝送特性は、従来のシリアル通信とは異なり、一般的なシリアル通信に比べて有利です。, 少なくとも伝達するもの 8 データのビットを連続的に, SPI を使用すると、データをビットごとに送信できます, SCK クロック ラインはマスター デバイスによって制御されているため、一時停止も可能です。. クロック遷移がない場合, スレーブデバイスはデータを収集または送信しません. 言い換えると, マスターデバイスはSCKクロックラインの制御を通じて通信を制御できます。.

SPI データ入力ラインと出力ラインは独立しているため、SPI はデータ交換プロトコルでもあります。, データの入力と出力を同時に完了できます。.

SPI デバイスが異なれば実装も異なります, 主にデータがいつ変更され、収集されるかという観点から, クロック信号の立ち上がりエッジまたは立ち下がりエッジで収集するための異なる定義を使用. 具体的な詳細については, 関連するデバイスのマニュアルを参照してください。.

2C

必要なバス ラインは 2 つだけで、1 つのシリアル データ ライン SDA と 1 つのシリアル クロック ライン SCL が必要です。.

バスに接続されているすべてのデバイスは、一意のアドレスとソフトウェアによって設定された単純なマスター/スレーブ関係でアドレス指定できます。. ホストはマスター送信機または受信機として機能できます。.

それは真のマルチマスターバスです; 2 つ以上のマスターが同時にデータ転送を開始した場合, 競合検出と調停によりデータ破損を防止.

シリアル 8 ビット双方向データ転送速度は、標準モードで最大 100kbit/s に達します, 400高速モードの kbit/s, 高速モードで3.4Mbit/s.

オンチップフィルターはバスデータラインからグリッチを除去し、データの整合性を確保します。.

同じバスに接続される IC の数は、400pF の最大バス容量によってのみ制限されます。.

UART

UART バスは非同期シリアル ポートです。, そのため、その構造は一般に、前の 2 つの同期シリアル ポートよりもはるかに複雑です。. 通常、ボーレートジェネレータで構成されます。 (これは次と等しいボーレートを生成します 16 送信ボーレートの倍), UARTレシーバー, そしてUARTトランスミッター, ハードウェアに 2 本のワイヤーが付いている, 1 つは送信用、もう 1 つは受信用.

UART は、シリアル デバイスのコンピューター チップを制御するために一般的に使用されます。. 注目すべき点は、RS-232C データ端末装置インターフェイスを提供していることです。, コンピュータが RS-232C インターフェイスを使用してモデムまたは他のシリアル デバイスと通信できるようにします。.

UART は Universal Asynchronous Receiver/Transmitter の略です (非同期シリアル通信ポート). RS232などのインターフェースの規格と仕様が含まれています。, RS499, RS423, RS422, およびRS485, UART を非同期シリアル通信ポートの総称にする. RS232, RS499, RS423, RS422, RS485 および RS485 は、さまざまな非同期シリアル通信ポートのインターフェイス規格および仕様です。, 電気的特性の定義, 伝送速度, 接続特性, および界面の機械的特性. それらは物理層に属します (最下層) 通信ネットワークにおける概念であり、通信プロトコルとは直接関係ありません。. 通信プロトコルはデータリンク層に属します (次に上の層) 通信ネットワークの概念. COMポートとは、パソコンの非同期シリアル通信ポートの略称です。 (パソコン). 歴史的な理由により, IBM の PC 外部インターフェイスは RS232 として構成されていました, PC業界の事実上の標準になりつつある. したがって, 最近の PC の COM ポートはすべて RS232 です. 複数の非同期シリアル通信ポートが使用可能な場合, それらはCOM1という名前です, COM2, 等.

SPI と UART の両方が全二重通信を実現できることは明らかです, しかし、I2Cはできません.

USART ユニバーサル同期、非同期レシーバーおよびトランスミッター. (UARTとの違いは明らかです。)

UART ユニバーサル非同期レシーバーおよびトランスミッター;

USART ユニバーサル同期、非同期レシーバーおよびトランスミッター. 一般的に, マイクロコントローラーで, UART という名前のインターフェイスは、非同期シリアル通信にのみ使用されます。, 一方、USART という名前のものは、同期シリアル通信と非同期シリアル通信の両方に使用できます。.

USB

USB はユニバーサル シリアル バスの略です, コンピュータと外部デバイス間の接続と通信のための外部バス規格, PCドメインに適用される. USB はプラグアンドプレイおよびホットスワップ機能をサポートします. USBはインテルを含む連合によって提案された, コンパック, IBM, そしてマイクロソフトは最後に 1994.

USB

USB

USB の電気的特性と伝送特性には、フィリップスのような高速 USB トランシーバーが含まれます’ 82C251, TIのSN65/75LBC031, ボッシュのCF150, C250, およびインターシルの UC5350; 低速 USB トランシーバーには、Philips 82C252 が含まれます, TJA1053, シーメンス TLE 6252G; 単線 USB トランシーバーには、Philips AU5790 が含まれます, インフィニオン TLE 6255, デルフィ DK166153.

できる

バスが空いているとき, どの CAN ノードでもデータ送信を開始できます. 2 つ以上のノードが同時に送信を開始した場合, 識別子ベースのビットごとの調停によりアクセス競合を解決します。. CAN は、すべてのノードがバスからデータを受信するブロードキャスト タイプのバスです。, ハードウェア フィルタリング メカニズムにより、メッセージがノードに提供されるかどうかが決定されます。.

メッセージフレームには4種類あり データフレーム, リモートフレーム, エラーフレーム, そしてオーバーロードフレーム.

基本的な CAN コントローラーは、送受信用のメッセージ バッファーと基本的な CAN メッセージ フィルタリング メカニズムが制限されているため、コスト効率が高くなります。. フル CAN コントローラは、処理可能なバッファを備え、より高いコストとパフォーマンスを提供します。 8 送受信用の 1 つ以上のメッセージ. 標準の CAN コントローラは 11 ビットの識別子を持つメッセージを処理します, 一方、拡張 CAN コントローラは 11 ビットと 29 ビットの両方の識別子メッセージを処理します。. タイムトリガーCAN (TTCAN) コントローラは時間とイベントに基づいて CAN メッセージをスケジュールします, CANネットワークの全体的なパフォーマンスと動作の予測可能性を強化します。.

データバイトは最上位ビットから送信されます. 8 ビットのデータ バイトを 1 回の送信操作で送信できます, 最大CANバス速度は1Mbpsです.

ほとんどの CAN マイクロコントローラーは、物理バスに接続するために外部トランシーバーを必要とします。. 市場ではフィリップスのような高速トランシーバーが提供されています’ 82C251, TIのSN65/75LBC031, ボッシュのCF150, C250, およびインターシルの UC5350; Philips 82C252 などの低速トランシーバー, TJA1053, およびシーメンス TLE 6252G.

シリアルバスの選択

マイクロコントローラー (μC) 今日の高度な電子製品の中核です, 1 つ以上の周辺機器との通信が必要. 伝統的に, µC ペリフェラルはメモリマップされたデータおよびアドレス バスを介して接続されました. このインターフェイス タイプには最小限のピン数が必要です (電源とアースを除く) 8 (データ) + 1 (R//W) + 1 (/CS) + 住所 n 行 [n = log2(内部レジスタまたはメモリのバイト数)]. 例えば, 16 バイトのペリフェラルと通信するには、 8 + 1 + 1 + 4 = 14 ピン. このインターフェイスは高速アクセスを提供しますが、ピンの数が多いためパッケージ サイズと総コストが増加します。. コストと梱包サイズを削減するため, シリアルインターフェースは理想的な代替手段です.

シリアルバスの選択は簡単ではありません. データレートの考慮に加えて, データビットの送信順序 (最初または最後の最上位ビット), と電圧, 設計者は周辺機器の選択方法を考慮する必要があります (ハードウェアチップセレクト入力またはソフトウェアプロトコル経由), ペリフェラルがμCと同期する方法 (ハードウェア クロック ラインまたはデータ ストリーム内の埋め込みクロック情報を使用する), データが単一の回線で送信されるかどうか (間の切り替え “高い” そして “低い”) または差動ペア上で (2 つの回線が同時に反対方向に切り替わる), 通信回線の両端で整合抵抗を使用するかどうか (通常は差動信号用), 比類のない, または一方の端で一致 (シングルエンドバスに共通). テーブル 1 さまざまな一般的なバス システムの違いをマトリックス形式で示します. そのうちの4つだけ 16 可能な組み合わせはよく知られています.

こうした特徴のほかに, 特定のアプリケーションには、電源供給方法などの追加要件がある場合があります。, 分離, ノイズ抑制, 最大μC (ホスト) 周辺機器へ (奴隷) 伝送距離, とケーブルの接続方法 (バスの種類, スター型, 逆極性保護, 等). ビルディングオートメーションなどのアプリケーション, 産業用制御, 検針, 等, そのような要件に対する基準を確立している.

I²C/SMBus 対. 1-ワイヤーバス

アプリケーションがクロック ラインを提供できる場合, バス選択は I²C/SMBus デバイスまで拡張可能. SMBus仕様によると, これは、タイムアウト機能が追加された 100kbps I²C バス仕様の派生版と見なすことができます。. ノードがバスマスターとの同期を失った場合, タイムアウト機能によりバスのロックアップを防止します, 一方、I²C システムでは、このような障害状態から回復するためにパワーオン リセットが必要です。. 1-Wire システムは、通信インターフェイスの初期化フェーズ中に存在をリセット/検出します.

クロックライン以外にも, I²C/SMBus は、バス上で送信されるすべてのバイトに対して確認応答ビットを提供します, 実効データレートを下げることにより、 12%. 通信プロセスは開始条件で始まり、その後にスレーブ デバイス アドレスとデータ方向ビットが続きます。 (読み取り/書き込み), 停止条件で終了する. 1-Wireシステムの場合, まずネットワーク層の要件を満たす必要があります (つまり, 検索ROMコマンドまたはブロードキャストを通じて特定のデバイスを選択する), 次に、データ送信方向に影響を与える特定のデバイスに関連するコマンド コードを送信します。 (読み取り/書き込み).

オリジナルの I²C および SMBus バス システムの注目すべき問題は、7 ビットのアドレス空間が限られていることです。. 以上で 127 さまざまなデバイスタイプが利用可能, スレーブアドレスだけからデバイスの機能を推測することは不可能です. さらに, 多くの I²C デバイスでは、ユーザーが 1 つ以上のアドレス ビットを任意に設定して、バス上に複数の同一デバイスを接続できます。, 利用可能なアドレス空間がさらに減少する. アドレス競合の解決には、バス システムを複数のセグメントに分割し、ソフトウェアの制御下でいつでもアクティブにできるようにすることが含まれます。. これには追加のハードウェアが必要となり、アプリケーションのファームウェアが複雑になります. I²C システムにはネットワーク ノードの検出または列挙機能がありません, ノード数が動的に変化するネットワークの管理が困難になる. この問題は、SMBus 仕様バージョンのアドレス解決プロトコルによって解決されています。 2.013, ただし、サポートされている SMBus デバイスはまれです.

SPI および MICROWIRE インターフェイス

SPIとマイクロワイヤー (SPIのサブセット) 各スレーブデバイスに追加のチップ選択ラインが必要. チップセレクト信号により, SPI プロトコルは、確認応答機能を提供せずに、メモリ アドレスとステータス レジスタの読み取り/書き込みコマンドのみを定義します。. 通常, SPI デバイスはデータ入力と出力に別個のピンを使用します. データ出力はリード動作時以外はトライステートとなるため, 2 つのデータ ピンを一緒に接続して、単一の双方向データ ラインを形成できます。. SPI バスは、他のバス システムが必要な機能を提供していない場合、またはより高いデータ転送速度が必要な場合に選択されます。, 最大 2Mbps 以上のレートをサポート. しかし, 特定のデバイスをアドレス指定するために CS 信号を生成することは、SPI と MICROWIRE の欠点です. I²Cのような, ノード検出はサポートされていません. ホストは論理スレーブ アドレスからデバイスの機能を推測できません, ノードが動的に変化するネットワークの管理が困難になる.

RS-485, LVDS, できる, USB 2.0, とファイアワイヤー

これらの規格は差動伝送特性を示しています. これらのバス システムの中で最も速いのは FireWire と USB です 2.0, ポイントツーポイント電気接続を使用する. 高度なノードまたはハブを使用する場合, ツリー トポロジを使用して仮想バスを形成できます, ソースからエンドポイントへのデータパケットの送信 (USB) またはピアツーピア (ファイアワイヤー), 最大480Mbpsのバーストデータレート (USB 2.0) または1600Mbps (ファイアワイヤー). サイズが制限されたデータ パケットと受信/バッファ/再送信の通信メカニズムにより、送信時間が増加します, これにより、実効的なデータ スループットが低下します. USB のトポロジとプロトコルにより、最大で次のことが可能になります。 126 ノード, FireWire は最大で 63 パッシブケーブルを使用した最大ノード間距離 4.5m のノード. PC周辺機器向けに設計, マルチメディア, 産業用制御, および航空アプリケーション (FireWireのみ), USB および FireWire デバイスはホットプラグをサポートします. この機能により、ネットワーク ノード数を動的に変更できます。.

LVDS, RS-485, CAN は複数のホストを接続するバス トポロジを実装できます. 低電圧差動信号伝送 (LVDS) これらの規格の中で最高の速度を提供します, 最大10mの距離で100Mbpsで動作可能. 実際のデータ速度とスループットはネットワークのサイズによって異なります. LVDS 電気規格はバックプレーン アプリケーション向けに設計されており、ホットプラグをサポートしていますが、プロトコルは含まれていません.

RS-485 も電気パラメータのみを定義します, バスラインごとの負荷容量と最大負荷の指定 (32), ノードの観点ではなく. 電気ノードの負荷は、 1. 一般的なデータ速度は、12m の距離で最大 35Mbps に達します。, 1200mの距離で100kbps, データ収集および制御アプリケーションには十分です. RS-485 デバイス プロトコルは、多くの場合、もともと RS-232 用に設計されたプロトコルに基づいています。.

RSシリーズ

RSシリーズ

対照的に, コントローラーエリアネットワーク (できる) 非常に高いセキュリティを備えた分散型リアルタイム制御のための通信プロトコルを定義します, 特に自動車および産業オートメーションのアプリケーションを対象としています. データ速度の範囲は、最大 40m の距離で 1Mbps から、最大 1000m の距離で 50kbps です。. アドレス指定方法はメッセージに基づいています, プロトコル自体はノード数を制限しません. CAN ノードはホットプラグをサポートします, ネットワークノード数の動的な変更を可能にする.

結論

シンプルに, LIN バスや SensorPath と比較して低コストのバス システム, 1-ワイヤー システムはスレーブ デバイスに最も幅広い機能とネットワーク ドライバーを提供します. I²C と SMBus はデータ ラインとグランドに加えてクロック ラインと VCC 電源を必要としますが、多くのデバイス機能を提供します. SPI および MICROWIRE には追加のチップ選択ラインが必要ですが、より高いデータ レートが提供されます. 寄生電源とネットワークノード検出のサポートに加えて, 1-Wire インターフェースとプロトコルはホットプラグをサポートします, 通常、差動信号と SMBus を使用する高速システムでのみ見られます。 2.0 互換性のある製品. iボタン® 製品はホットプラグ可能な 1-Wire デバイスとして広く使用されています; ホットプラグは通常の動作モードです. これらのデバイスは、グローバル識別番号などのアプリケーションで非常に効果的であることが証明されています。, 回路基板/コンポーネントの識別と認証, 温度感知, および作動装置. 1-Wire テクノロジーのもう 1 つの成功したアプリケーションには、低コストの認証とソフトウェア コード保護を実現するための安全なストレージとチャレンジ/レスポンス メカニズムが含まれます。.

前へ:

次:

返信を残す

伝言を残す