削除された内容 追加された内容
m →‎UARTが検出するエラー: 論理を論理値に
Root253 (会話 | 投稿記録)
編集の要約なし
1行目:
'''UART''' (Universal Asynchronous Receiver Transmitter) は、[[同期方式#調歩同期方式|調歩同期方式]]による[[シリアル通信|シリアル]]信号を[[パラレル]]信号に変換したり、その逆方向の変換を行うための[[集積回路]]である。本機能のみがパッケージングされたICで供給されるものと、[[マイクロプロセッサ]]の[[ペリフェラル]]の一部として内蔵されるものとがある。[[マキシム・インテグレーテッド・プロダクツ|マキシム]]のMAX232のような、[[RS-232|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もある。
 
10行目:
[[フリースケール]]や[[ルネサス テクノロジ]]などの[[マイクロコントローラ]]ではSCI(Serial Communication Interface)という名前でUSARTの機能が内蔵されている。
 
== UARTの原型 ==
[[ディジタル・イクイップメント・コーポレーション|DEC]]社の[[ミニコンピュータ]]に使われた[[ASR-33]]は一個だけの円盤状[[ディストリビュータ]]に'''摺動子'''を回転させ直列・並列相互変換を行い四線式非同期(調歩同期/スタート・ストップ方式)[[半二重]]通信方式でつながった。DEC社のコンピュータ側のこの変換機能に相応するのは発振器を搭載したエラー検出機能のない[[トランジスタ]]による簡素な独自回路の専用'''モジュール'''(フリップチップモジュール)であり、ジャンパー線で通信速度110[[ビット毎秒|bps]]と300bpsを選べ、初期のUARTはクロックと通信速度選択入力を除けばその基本的回路機能をそのまま踏襲IC化したものである。以後USART、[[SDLC]]/[[HDLC]]や[[TCP/IP]]などの直列転送のIC回路や通信制御[[プロトコル]]へと進化してゆく。
 
== UARTが検出するエラー ==
UARTはデータの信頼性を保つために、エラーを検出する機能を持つ。UARTは、[[割り込み]]や内蔵[[レジスタ]]によって、マイクロプロセッサにエラーが発生したことを伝える。以下に、UARTが検出するエラーを示す。
; [[パリティ]]エラー
: 受信した[[キャラクタ_(コンピュータ)|キャラクタ]]の[[パリティビット]]が誤っていたときに発生するエラー。パリティ無効の設定にしているときは発生しない。
; オーバランエラー
: 受信バッファに格納されたキャラクタをマイクロプロセッサが取り出さないうちに、[[シフトレジスタ]]に次のキャラクタが揃ってしまったときに発生するエラー。取り出されなかったキャラクタは失われる。
; フレーミングエラー
: ストップビットを受信すべきタイミングで、信号がストップビットの[[論理値]]ではなかったときに発生するエラー。
 
== 関連項目 ==
* [[シリアルケーブル]]
* [[EIA-574]]
28行目:
 
[[Category:制御工学]]
[[Category:インタフェス規格]]
[[Category:データ転送]]
{{Computer-stub}}