Filter
Clear
Tags by Type
Software
シリアル通信プロトコル - パート3: RS-232 シリアル通信プロトコル - パート3: RS-232 この一連の記事では、デバイス間でデータを転送するために利用可能なさまざまなシリアル通信プロトコルのタイプを見ていきます。これらの記事では、現在使用されているより人気のあるプロトコルと標準のいくつかを取り上げ、このシリーズの最後には、それぞれの利点と欠点をまとめて比較します。次に設計でシリアル通信バスを実装する必要があるときに、この情報が有益であることを願っています。これにより、回路に最も適したオプションを選択するのに役立ちます。 この記事では、レガシーのRS-232プロトコル標準について見ていきます。 RS-232は、Recommended Standard 232を意味し、1960年に作成された電子デバイス間のデータ伝送用の電子デバイスプロトコル標準です。かつて、RS-232は最も一般的に使用されるデータ伝送形式であり、主に標準の9ピンD-sub(DB-9)接続を使用して実装されていました。この標準は、今日でもコンピュータ、オートメーション、医療機器を含むさまざまな電子デバイスでよく使用されています。 クラシックなDB-9ケーブル、画像出典: https://www.digikey.co.uk/product-detail/en/assmann-wsw-components/AK131-2/AE1379-ND/930165 RS-232は、低論理レベル信号(0)の送信に正の電圧を使用し、高論理レベル信号(1)の送信に負の電圧を使用します。 RS-232信号の例 RS-232の電圧レベル 電圧 論理値 -18v から -5v 1 -5v から +5v (未定義)
シリアル通信プロトコル - UART シリアル通信プロトコル - パート2: UART この記事では、人気のある UARTデバイスについて見ていきます。これは通信プロトコルではなく、マイクロコントローラーやスタンドアロンのICでシリアルデータの送受信に使用される物理回路です。利用可能なさまざまな種類のシリアル通信プロトコルを見ていくために制作した一連の記事のサポートとなります。 シリアル通信は、 マイクロコントローラー、データを生成する周辺機器、その他の スマートデバイスなどのデバイス間で情報を伝送するための完璧なメカニズムです。次回、設計にシリアル通信バスを組み込む必要があるときに、このリソースが非常に価値あるものとなることを願っています。UARTは、デバイス上のシリアルポートとしても一般的に言及されます。しかし、これはDB9スタイルのコネクタを使用し、ハードウェアプロトコルとしてRS-232を使用する別の種類のシリアルポートと混同されることがよくあります。マイクロコントローラー上のUART周辺機器とRS-232ベースのデバイスが互いに通信するために、UARTがRS-232トランシーバーに接続されていることは珍しくありません。 UARTは、Universal Asynchronous Receiver Transmitterの略です。この通信システムには、グラウンドを除いて2つのピンが必要です。1つはTXとラベル付けされた送信機、もう1つはRXとラベル付けされた受信機です。名前に非同期という言葉が出てくることから、クロック信号を必要としないことがわかります。クロックがないため、送信機と受信機は同じボーレートを使用しなければなりません。 ボーレート(Bd)は、伝送速度を測定する単位です。このパラメータは、送信機と受信機のデータチャネル上の通信速度を決定します。ボーレートは、単純化するために秒あたりのビット数として表されることがあります。したがって、1000 Bdのレートは、通信速度が秒あたり1000ビット、または1ビットの持続時間が1/1000秒または1ミリ秒であることを意味します。ボーレートには、kBd(キロボー)、MBd(メガボー)、GBd(ギガボー)などの標準的なメトリックプレフィックスがあります。ボーレートには、スタートビットやストップビットなどのデータ以外のメッセージの部分が含まれているため、送信機から受信機へ送信される有用な情報の伝送速度はわずかに少なくなります。 より一般的な事前定義されたUARTボーレートには以下が含まれます: 110ボー 300ボー 1200ボー 4800ボー 9600ボー 19200ボー 38400ボー 115200ボー
シリアル通信プロトコル - 序章 シリアル通信プロトコル - 序章 この一連の記事では、 マイクロコントローラー、データ生成およびデータ処理ペリフェラル、その他のスマートデバイス間で情報を転送するために利用可能なさまざまなシリアル通信プロトコルのタイプについて見ていきます。このシリアル通信の紹介に続く記事では、一般的に使用されているいくつかの人気のあるプロトコルについて説明します。このシリーズの最後には、それぞれの利点と欠点をまとめます。次にシリアル通信バスを実装する必要があるときに、このリソースが役立ち、特定の状況に最適なオプションを選択するのに役立つことを願っています。 現在、 デジタル電子技術は市場に出回っているほとんどの電子デバイスの最も重要な部分となっています。多くの異なるチップが使用されており、その複雑な操作は他の同様のデジタルコンポーネントから送受信される情報に依存しています。これらの間で通信を可能にするために、共通のプロトコル標準が作成されました。もし、各ICやデバイスが独自のプロトコルを使用して通信していたらどうでしょうか。これは、すべての人間が独自の言語を使って話すのと同じです。お互いを理解することがほぼ不可能になるため、混乱に陥るでしょう。 現在、さまざまなメモリIC、デジタルセンサー、保護デバイス、プログラマブル電源、デジタルポテンショメータ、無線周波数ICなどを取り扱っています。これらはすべて、 マイクロプロセッサ、 FPGA、ASICとの間で、またはそれら同士で通信する必要があります。これらのデバイス間の通信の目的は大きく異なることがあります。プログラミングのため、情報を抽出するため、あるいはアクションの実行を開始する信号を提供するためなどです。 また、一部のプロトコルでは、私たち人間がマイクロコントローラーを介してICと対話することを可能にします。これらのプロトコルの1つを介してICに信号を送信するようにプログラムされたマイクロコントローラーに信号を送ることができます。あるいは、利用可能なデバッグツールの1つを接続することもできます。 シリアル通信における問題の一つは、何かがうまくいかない場合に回路を見つけてデバッグすることの難しさです。もし一つのデバイスから別のデバイスへデータが届かない場合、その原因は次のいずれか、または複数の場所に存在する可能性があります:送信デバイスのロジック、その回路設計、シリアル通信のエンコードの仕方、通信バス、受信機によるデコード、受信機の回路設計、または最終的に受信機のロジックに。シリアル通信にオシロスコープのプローブを差し込むことで、何らかの活動があるかどうかは確認できますが、その有効性についてはほとんど教えてくれません。何が起こっているのかを完全に把握するには、デコード機能付きのオシロスコープまたはロジックアナライザーが必要になります。これにより、パルスを横切る電圧パルスを知り、電圧レベルのフォルトを見つけ、ノイズの問題を特定し、信号の立ち上がりと立ち下がりの速度に問題がないかを探ることができます。 しかし、シリアル通信を徹底的にデバッグするには、バス上のデータをデコードして、それが正しいか、または破損しているか、衝突の影響を受けているかを確認できるツールが必要です。デバイス間またはIC間の通信をデバッグするために特別に作成されたデバッグツールがかなりあります。 Saleae Logicシリーズのロジックアナライザーは、業界標準のロジックアナライザーの一つであり、Proモデルは最も人気のあるプロトコルをすべて分析するのに十分な速度を提供します。 多くの低コストのロジックアナライザーは、SPIのような高速プロトコルを処理するには遅すぎます。 LA2016 Logic Analyserは、非常に低コストでSaleae Logic 8とLogic 8 Proの間のサンプルレートを提供します。私は一つを所有しており、プロトコルを非常に成功裏に分析するために使用してきました。