第 1 章では、組み込みシステム UART と I2Sにおける 2 種類のユニバーサル ペリフェラル インターフェイスについて説明しました。では、第Ⅱ章で I2C、ADC、CAN バスについて学びましょう。
I2C (Inter-Integrated Circuit) は、フィリップスによって開発された 2 線シリアルの半二重バスで、主に近距離および低速でのチップ間の通信に使用されます。これは、マイクロエレクトロニクス通信制御の分野で広く使用されているバス規格です。これは、同期通信の特殊な形式であり、インターフェイス回線が少なく、制御方法が簡単で、デバイスのパッケージが小型であるなどの利点があります。
I2C は、SDA (シリアル データ) と SCL (シリアル クロック) の 2 本のワイヤのみを使用して、マルチマスター ノードとマルチスレーブ ノード間で情報を送信できます。シリアル 8 ビット双方向データ伝送速度は、標準で 100 Kbit/s、高速モードで 400 Kbit/s、高速モードで 3.4 Mbit/s に達します。デバイスの接続を図 1 に示します。
図 1 I2C バスのマスターとスレーブの接続
SDA ライン上のデータは、SCL ラインの High 期間中安定している必要があります。SDA ラインの HIGH または LOW 状態は、SCL ラインのクロック信号が LOW の場合にのみ変化します。
図 2 同期データ信号
開始条件: SCL が HIGH で、SDA が HIGH から LOW にジャンプすると、データ送信が開始されます。
停止条件: SCL が HIGH で、SDA が LOW から HIGH にジャンプすると、データ送信が停止します。
スタートコンディションとストップコンディションは両方ともマスターデバイスによって発行されます。スタートコンディション発生後はバスが占有された状態になります。そしてストップコンディション発生後、バスは解放されアイドル状態となります。
アイドル状態では、SCL と SDA は両方とも High レベルになります。このプロセスを以下の図 3 に示します。
図 3 スタートコンディションとストップコンディション
肯定応答信号: 1 バイトの送信が完了した後、つまり 9 番目の SCL クロック サイクル以内に、マスターは SDA バスを解放し、バス制御をスレーブに引き渡す必要があります。プルアップ抵抗の役割により、このときバスはハイレベルになります。スレーブがマスターから送信されたデータを正しく受信すると、SDA をプルダウンして確認信号を示します。
否定応答信号: 9 番目の SCL クロック サイクルに達すると、SDA は High のままになり、否定応答信号を示します。
各バイトは 8 ビットであることが保証されなければなりません。データを送信するときは、最上位ビット (MSB) が最初に送信され、送信される各バイトの後に確認応答ビットが続く必要があります (つまり、フレームは合計 9 ビットです)。一定時間以内にスレーブからの非確認信号があった場合、自動的にスレーブはデータを正しく受信したとみなし、マスターはストップコンディションを送信して通信を終了します。データ伝送フォーマットを図 4 に示します。
図4 データ伝送フォーマット
I2C は通常、MCU 周辺機器または複数の MCU 間の通信に使用されます。I2C インターフェイスは、シンプルなハードウェアと簡単なソフトウェア プログラミングという特徴を持っています。
機器システムでは、温度、圧力、流量、速度、光強度などの検出された連続的に変化するアナログ信号を、コンピュータに入力して処理する前に、個別のデジタル信号に変換する必要があることがよくあります。これらのアナログ信号は、センサーを介して電気信号(通常は電圧信号)に変換され、アンプで増幅された後、デジタル信号になるために一定の処理が必要です。アナログ信号をデジタル信号に変換するデバイスは、一般にアナログ デジタル コンバーター (ADC) と呼ばれ、A/D と略されます。
A/D 変換のプロセスは、サンプリング、ホールド、定量化、エンコードのプロセスです。ADC の基本的な考え方は、入力アナログ電圧を基準電圧と (直接的または間接的に) 比較し、デジタル出力に変換することです。ADCには並列比較型、逐次比較型、二重積分型の3種類があります。
ADC を使用する場合、最も重要な関心事は変換精度と変換時間です。変換精度は主に、電源電圧や基準電圧の安定性、オペアンプの安定性、環境温度などの外部要因に影響されます。チップ自体の影響を受ける要因には、解像度、量子化誤差、相対誤差、線形誤差などが含まれます。
CAN バスの正式名は、Controller Area Network です。これはシリアル、同期、半二重のバスです。ドイツの BOSCH 社によって開発されたこのペリフェラル インターフェイスは、国際的に最も広く使用されているフィールド バスの 1 つです。
CAN バスの特徴は次のとおりです。
CAN 通信プロトコルは次のとおりです。
CAN は、合計 5 種類のフレーム (パケットとも呼ばれます) を指定します。データ フレームは CAN 通信において最も重要かつ複雑です。データ フレームは 1 つの明示的なビット (論理 0) で始まり、7 つの連続した暗黙的なビット (論理 1) で終わります。
キャリアセンス多重アクセス (CSMA): 各ノードは、メッセージの送信を試みる前にバスをリッスンする必要があります。バスがアイドル状態の場合にのみ送信できます。
メッセージ優先度の衝突検出 + 調停 (CD+AMP): ビット調停による事前にプログラムされたメッセージ優先度によって衝突を解決します。メッセージ優先度は各メッセージの識別ドメインにあります。より高い優先順位の識別子を持つメッセージは常にバス アクセスを取得できます。つまり、論理的に高いままである識別子の最後のメッセージは、より高い優先順位を持つため送信され続けます。
図5 CANバスデータフレーム
標準 CAN : メッセージの優先順位を決定するために 11 ビットの識別子のみが使用されます。このフィールドの値が小さいほど、優先度が高くなります。図 6 に示すように。
図 6 標準 CAN 11 ビット識別子
拡張 CAN : 29 ビットの識別子。図 7 に示すように。
図 7 拡張 CAN 29 ビット識別子
CAN バスは主に産業制御分野では低速 CAN (つまり ISO11898-3 規格) が使用され、車載分野では 125 Kbps の高速 CAN が使用されます。CAN プロトコルは、乗用車、大型トラック、多目的車両、農業用車両など、あらゆるタイプの自動車産業アプリケーションで広く使用されています。
ほとんどの RF スター モジュールには、UART、ADC、I2C、および I2S 周辺機器がハードウェアに組み込まれています。市場のニーズにより、UART はソフトウェアにおける最も重要な通信モードの 1 つです。TI、Silicon Labs、Nordic、Realtek、および自社開発 IC をベースとした RF-star の BLE モジュールと Wi-Fi モジュールのほとんどは、最終製品の統合開発を容易にするために、透過的な伝送のための UART シリアル ポート プロトコルを備えています。製品の開発サイクルを短縮し、認定モジュールで証明書認定の時間とコストを節約し、より多くのモジュール RF 設計で柔軟性を高めます。たとえば、次のワイヤレス モジュールは非常に歓迎されます。
RF-BM-2642B1、RF-BM-BG22A1、RF-BM-ND04、RSBRS02ABR、RF-WM-20CMB1
Shenzhen RF-star Technology Co., Ltd. (RF-star) は、無線周波数デバイスに重点を置いているハイテク企業で、10 年以上にわたりテキサス・インスツルメンツの公式サードパーティ IDH を務めています。RF-star は、BLE、Wi-Fi、ZigBee、Thread、Matter、Wi-SUN、Sub-1G などを含む IoT ワイヤレス モジュールとソリューションのフルセットを提供します。詳細については、公式 Web サイト https: // www.rfstariot.com/または info@szrfstar.com までお問い合わせください。