UART
[Wikipedia|▼Menu]

UART (Universal Asynchronous Receiver/Transmitter, ユーアート) は、調歩同期方式によるシリアル信号をパラレル信号に変換したり、その逆方向の変換を行うための集積回路である。本機能のみがパッケージングされたICで供給されるものと、マイクロプロセッサペリフェラルの一部として内蔵されるものとがある。マキシムのMAX232のような、RS-232C規格に準拠する信号レベルに変換するICと組み合わせて、外部機器とのインタフェースとして利用されるのが一般的である。UARTに、同期方式のシリアル信号を変換するための回路を追加したものを、USART (Universal Synchronous Asynchronous Receiver/Transmitter) と呼ぶ。
代表的なUART

代表的なUARTとしては、ナショナル セミコンダクターの開発した16550Aがある。IBMの発売したPC/ATでは、16450というUARTが採用されたが、これにFIFOを内蔵したものが16550Aである。現在でもPC/AT互換機シリアルポートでは、16550Aと互換性のあるUARTが使用されている。16450と互換性を保つため基準発振周波数1.8432MHzな最大通信速度115.2kbpsが標準だが、この基準発振周波数を変更するか、互換性のある拡張機能を使用する事により、より高速なデータ通信速度が設定できるUARTが多い。16550Aからの拡張機能を使う事で、16950系で460.8kbps、16750系で921.6kbpsなどと、16550Aと速度設定条件の互換性を保ったまま高速化できる。拡張機能を使わず基準発振周波数のみ最大周波数を供給する事で、16550Aに8MHzで0.5Mbps、16550AFに24MHzで1.5Mbps、OX16C950Bに60MHzで3.75Mbpsなどと、ソフトウェア制御設定を変えずに高速化できる。拡張機能を使い基準発振周波数を最大にする事で、OX16C950Bに60MHzで15Mbps、XR16M255x & XR16M265x & XR20M117x & XR20V217x シリーズに64MHzで16Mbpsなどと、高速化できる。16550Aとの互換性を無くし、更に高速化したUARTもある。

16550より以前に存在していたインテル 8251、ナショナルセミコンダクター8250も広く使われていた。Z80ファミリではZ80 SIO (Z84C40) やZ80 SCC (Z85C30) が存在する。Z80SCCはサン・マイクロシステムズをはじめとする多くのUNIXワークステーションで使われた。

組み込みシステム向けのマイクロコントローラでは、UARTまたはUSARTは内蔵していない品種を探す方が難しいほど一般的なペリフェラルである。例として、フリースケールルネサス エレクトロニクスでは、SCI (Serial Communication Interface) という名前でUSARTの機能が内蔵されている。現在でも、8?16ビットのローコストのマイクロコントローラではUSARTが唯一の通信インタフェースであることも多いが、一方でパーソナルコンピュータではシリアルポートを搭載しない機種が大勢を占めるようになった。このため、このようなマイクロコントローラとパーソナルコンピュータ間でデータ通信を行うために、市販のUSB - シリアル変換ケーブルがよく用いられる。
UARTの原型

DEC社のミニコンピュータに使われたテレタイプライターASR-33は一個だけの円盤状ディストリビュータ[1]に摺動子を回転させ直列・並列相互変換を行い四線式非同期(調歩同期/スタート・ストップ方式、20mA カレントループ)半二重通信方式でつながった。DEC社のコンピュータ側のこの変換機能に相応するのは発振器を搭載したエラー検出機能のないトランジスタによる簡素な独自回路の専用モジュール(フリップチップモジュール)であり、ジャンパー線で通信速度110bpsと300bpsを選べ、初期のUARTはクロックと通信速度選択入力を除けばその基本的回路機能をそのまま踏襲IC化したものである。以後USART、SDLC/HDLCTCP/IPなどの直列転送の集積回路や通信制御プロトコルへと進化してゆく。
UARTが検出するエラー

UARTはデータの信頼性を保つために、エラーを検出する機能を持つ。UARTは、割り込みや内蔵レジスタによって、マイクロプロセッサにエラーが発生したことを伝える。以下に、UARTが検出するエラーを示す。
パリティエラー
受信したキャラクタパリティビットが誤っていたときに発生するエラー。パリティ無効の設定にしているときは発生しない。
オーバランエラー
受信バッファに格納されたキャラクタをマイクロプロセッサが取り出さないうちに、シフトレジスタに次のキャラクタが揃ってしまったときに発生するエラー。取り出されなかったキャラクタは失われる。
フレーミングエラー
ストップビットを受信すべきタイミングで、信号がストップビットの論理値ではなかったときに発生するエラー。
関連項目

シリアルケーブル

EIA-574

RS-232

8250 UART

16550 UART

脚注^ASR-33のディストリビュータ(分配器)写真(手前);スタート、情報8ビット、ストップの計10本線の信号が回転によって直列・並列変換される。接触圧力が偏在しないように時計の12時4時8時の3位置に摺動子が配置される。写真は「ストップ」信号の位置。
.mw-parser-output .asbox{position:relative;overflow:hidden}.mw-parser-output .asbox table{background:transparent}.mw-parser-output .asbox p{margin:0}.mw-parser-output .asbox p+p{margin-top:0.25em}.mw-parser-output .asbox{font-size:90%}.mw-parser-output .asbox-note{font-size:90%}.mw-parser-output .asbox .navbar{position:absolute;top:-0.90em;right:1em;display:none}

この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めていますPJ:コンピュータ/P:コンピュータ)。
.mw-parser-output .hlist ul,.mw-parser-output .hlist ol{padding-left:0}.mw-parser-output .hlist li,.mw-parser-output .hlist dd,.mw-parser-output .hlist dt{margin-right:0;display:inline-block;white-space:nowrap}.mw-parser-output .hlist dt:after,.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{white-space:normal}.mw-parser-output .hlist li:after,.mw-parser-output .hlist dd:after{content:" ・\a0 ";font-weight:bold}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist-pipe dd:after,.mw-parser-output .hlist-pipe li:after{content:" |\a0 ";font-weight:normal}.mw-parser-output .hlist-hyphen dd:after,.mw-parser-output .hlist-hyphen li:after{content:" -\a0 ";font-weight:normal}.mw-parser-output .hlist-comma dd:after,.mw-parser-output .hlist-comma li:after{content:"、";font-weight:normal}.mw-parser-output .hlist-slash dd:after,.mw-parser-output .hlist-slash li:after{content:" /\a0 ";font-weight:normal}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")\a0 ";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)" ";white-space:nowrap}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)" "}.mw-parser-output .navbar{display:inline;font-size:75%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}.mw-parser-output .infobox .navbar{font-size:88%}.mw-parser-output .navbox .navbar{display:block;font-size:88%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}

表示

編集


記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:13 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef