Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

シリアル通信

これが今回使用するものです。あなたのコンピューターにも付いているとよいのですが!

いや、心配はいりません。このコネクタ DE-9 はかなり前に PC では廃れており、Universal Serial Bus (USB) に置き換えられました。私たちが扱うのは DE-9 コネクタそのものではなく、このケーブルが通常使われていた通信プロトコルです。

では、この シリアル通信 とは何でしょうか。これは 非同期 の通信プロトコルで、2 つのデバイスが 2 本のデータ線(および共通のグラウンド)を使って、1 度に 1 ビットずつ、つまり 直列に データをやり取りします。このプロトコルが非同期であるとは、共有されるどちらの線にもクロック信号が流れない、という意味です。その代わり、通信が行われる 前に、双方が配線上をどのくらいの速さでデータを送るかについて合意しておく必要があります。このプロトコルでは、A から B へ、そして B から A へ同時にデータを送れるため、全二重 通信が可能です。

このプロトコルを使って、マイクロコントローラーとあなたのコンピューターの間でデータをやり取りします。これまで使用してきた ITM プロトコルとは異なり、シリアル通信プロトコルでは、コンピューターからマイクロコントローラーへデータを送ることができます。

次に実際的な疑問として、おそらくこう尋ねたくなるでしょう。このプロトコルでは、どれくらいの速さでデータを送れるのでしょうか。

このプロトコルはフレームで動作します。各フレームは 1 つの スタート ビット、5 ~ 9 ビットのペイロード(データ)、そして 1 ~ 2 個の ストップビット を持ちます。このプロトコルの速度は ボーレート と呼ばれ、1 秒あたりのビット数(bps)で表されます。一般的なボーレートは 9600、19200、38400、57600、115200 bps です。

この問いに実際に答えると、1 スタートビット、8 データビット、1 ストップビット、ボーレート 115200 bps という一般的な設定では、理論上、1 秒あたり 11,520 フレームを送信できます。各フレームは 1 バイトのデータを運ぶので、データレートは 11.52 KB/s になります。実際には、通信の遅い側(マイクロコントローラー)での処理時間があるため、データレートはこれより低くなる可能性があります。

今日のコンピューターはシリアル通信プロトコルをサポートしていません。そのため、コンピューターをマイクロコントローラーに直接接続することはできません。そこで登場するのがシリアルモジュールです。このモジュールは両者の間に入り、マイクロコントローラーにはシリアルインターフェイスを、コンピューターには USB インターフェイスを提供します。マイクロコントローラーからは、あなたのコンピューターは別のシリアルデバイスとして見え、コンピューターからは、マイクロコントローラーは仮想シリアルデバイスとして見えます。

それでは、シリアルモジュールと、OS が提供するシリアル通信ツールに慣れていきましょう。ルートを 1 つ選んでください。