RS-232Cシリアル通信 | ||||||||||||||||||||
|
RS-232Cは、簡単かつユニバーサル、最も成熟した技術のシリアルインターフェースです。距離は、15mと制限があるにも拘らず、その低価格と配線が簡単なことからRS-232Cは、多くのアプリケーションに使用されています。RS-232C信号は、システム共通グランド(電源/ロジックグランド)に対して測定された電圧レベルによって表されます。データ1(MARK)は、共通グランドに対してネガティブであり、データ0(SPACE)は、共通グランドに対してポジティブです。通信は、全二重コミュニケーションが可能です。
| ||||||||||||||||||||
|
RS-232Cデータフォーマット
RS-232Cシリアル通信は、シリアルにデータが送られてくるので、そのままでは文字データの区切りが分らないためにデータの前後に識別のためのビットを付加します。そしてデータをビット単位に分けて1文字(5、6、7、8ビット構成)分のデータ毎に同期を取り送受信間のデータのやり取りを行います。RS-232Cフレームは、通信データの最初の1キャラクタ目は、スタートビット、次にデータ、パリティビット、ストップビットのセッションに分割されています。
各セクションは、決まったビット数が定められています。例えば、スタートセクションは、常に“0”であり1ビッ分が割り当てられます。データセクションは、5、6、7あるいは8ビットで構成されています。パリティセクションは、データの送受信を行う際にデータが正しく伝送されたかどうかを確認するために付加されるビットでデータビットの後ろにつけられます。パリティは、偶数、奇数、Noneがありデータビットの中で“1”になっているビットを数え"1"あるいは"0“かの状態を取り送られてきたデータに誤りがあるかどうかのチェックをします。例えば、10011011では”1”の数が奇数の5つであるのでパリティビットは"0”、11011011では、”1”の数が偶数の6つであるのでパリティビットは"1”となります。いくつかのデバイスは、SpaceおよびMarkのパリティをサポートします。ストップビットセクションは、1、1.5、2ビットで構成されます。
| ||||||||||||||||||||
| ||||||||||||||||||||
|
RS-232C仕様
RS-232Cの基本的な仕様:
| ||||||||||||||||||||
| ||||||||||||||||||||
RS-232C信号の定義 | ||||||||||||||||||||
| ||||||||||||||||||||
| RS-232Cのデータフレームの送信の仕組みについて下記に示します。UARTの信号は、0および5V間のTTL信号がスタートとなりRS-232Cトランシーバにおいて+12V〜-12Vの範囲に変換されます。 | ||||||||||||||||||||
![]() | ||||||||||||||||||||
フロー制御 | ||||||||||||||||||||
|
シリアル通信において一時的にデータを保存するためにデータバッファを使用します。しかし、デバイスがデータを受け取る際にデバイスのバッファがフルであるならデバイスはバッファが保存できるまで相手側に対して送信を中断させるための警告を出す必要があります。このようにフロー制御は、2台のデバイス間のデータの流れを制御するものです。フロー制御の方法には、2つのタイプがあります:
ハードウェアフロー制御(H/W)およびソフトウェアフロー制御(S/W) | ||||||||||||||||||||
|
H/Wフロー制御
H/Wフロー制御にRTSおよびCTS信号を使用します。 PC1がデータを受け取る準備ができているとき、PC2からデータを要求するためにRTS(Request To Send)信号を上げます。するとPC2は、TxからデータをRxに送ります。(注):全二重モードであるためPC1とPC2は、双方向同時に送受信が可能です。
| ||||||||||||||||||||
|
S/Wフロー制御
反応時間は、若干長くなりますが、フロー制御にTx/Rxラインを使用することができます。システムは、データフローを制御するためにXON/XOFFを送ることによりコントロールします。例えば、PC2が受信の準備ができたとき、PC1にXONパターンを送ります。しかしPC2のRxバッファがほぼフルの場合PC2は、XOFFパターンを送りPC1が送信するのを中止させます。 | ||||||||||||||||||||






H/Wフロー制御にRTSおよびCTS信号を使用します。 PC1がデータを受け取る準備ができているとき、PC2からデータを要求するためにRTS(Request To Send)信号を上げます。するとPC2は、TxからデータをRxに送ります。
反応時間は、若干長くなりますが、フロー制御にTx/Rxラインを使用することができます。システムは、データフローを制御するためにXON/XOFFを送ることによりコントロールします。例えば、PC2が受信の準備ができたとき、PC1にXONパターンを送ります。しかしPC2のRxバッファがほぼフルの場合PC2は、XOFFパターンを送りPC1が送信するのを中止させます。