「UART」の解説
現在でも、 マイコンボードにプログラムを書き込むために、USBシリアル変換器を使って、パソコン⇔USB⇔USBシリアル変換器⇔UART⇔マイコンのCPUというルートで、通信を行う事があります。この場合、接続したマイコンの種類をパソコンのソフトで指定する必要がありますが、これは、UARTの先につながっている機器を確認する方法がない事によります。(どんな種類のUSBシリアル変換器がつながっているかまでは、パソコンは知っています)
画像をクリックすると、Amazonの購入ページが別窓で開きます。2. フロー制御のない最小構成のUART
↑ 画像をクリックすると拡大 図1、最小構成のUARTの入出力線(Transmit Data)の信号は出力信号で、他のUARTに、 調歩同期方式 のシリアル通信でデータを送信します。
↑ 画像をクリックすると拡大 図2、最小構成のUARTの結線 画像をクリックすると、Amazonの購入ページが別窓で開きます。3. ハードウェアフロー制御
この様な取りこぼしが発生しない様に、受信の準備ができていない場合は、通信相手のUARTにデータの送信を許可するための信号線を付け加える場合があります。通信相手のUARTにデータ送信を許可するための信号線を(Request To Send)、通信相手のUARTから来たデータ送信の許可信号を受け取るための信号線をCTS(Clear To Send)と呼びます。図3に、RTSとCTSを付け加えた場合のUARTの入出力線の図を示します。
参考:RTS、CTSは 負論理 信号なので、それぞれ RTS 、 CTS という信号名になる事があります。RTSをあえて 正論理 で解釈すると、通信相手にデータの送信を「禁止」するための信号になります。
↑ 画像をクリックすると拡大 図3、RTSとCTSがある場合のUARTの入出力線この図において、RTSは出力信号です。RTSには、CPUがデータの受信が可能な場合に L を出力し、CPUが他の処理で忙しく、データの受信の余裕がない場合に H を出力します。
またCTSは、通信相手のUARTのRTS信号を受け取る入力信号です。CTSが L の場合、TXから新しいデータを送信できますが、CTSが H の場合は、CTSが L になるまで、データの送信を待機します。
↑ 画像をクリックすると拡大 図4、RTSとCTSがある場合のUARTの結線4. ソフトウェアフロー制御
関連用語
関連ページ
- WikipediaのUARTのページ
- FAQ 1006965 : CTSなどの制御信号を用いた調歩同期通信を行ないたい。マイコン内蔵のUARTを用いた実現方法を知りたい。ルネサスエレクトロニクスのFAQページ。RTSとCTSを使ったUARTのハードウェアフロー制御に関する説明がある
- FTDIのUSBシリアル変換器のドライバのインストール法USBシリアル変換器(パソコンとUARTで通信する機器とを接続する機器)用のICを作っているFTDI社のドライバをWindowsパソコンにインストールする方法
- Arduino用ブートローダ/スケッチライタの製作Arduino互換のAVRマイコンに、USBシリアル変換器経由でスケッチ(プログラム)を書き込む機器の製作記事