UART
通信規格の一つで、主にパソコンとの通信に使われることが多い。
RS-232Cシリアルポートはこの規格で通信している。
Universal Asynchronous Receiver Transmitterの略
特徴
UARTは一般的な通信規格であり、その信号も単純。
信号はグランド(GND)、送信(TXD)、受信(RXD)の3本。送信と受信はクロスさせる。
よって送受信が同時に(かつ個別に)可能である。
ただし、速度は速いとは言えず、ノイズにも耐性は高くない。
ちなみにUARTには上位の仲間としてUSARTなども存在する。
どんな信号?
UARTの信号は単純で、次の4つに分けられる。
- スタートビット
- データビット
- (パリティビット)
- ストップビット
さらにデータ無転送時のhigh状態がある。
そして、UARTのA、非同期式である最大の問題が、通信速度の設定である。
単純なパルスの送信であるが、そのパルス幅は両方の機器で設定する必要がある。
これに誤差があると通信ミスなどの問題が起こる。速度を早めるとこれは顕著に現れる。
まあ、失敗したらゆっくりに設定しなおせばいいんだけど。
では、解説していこう。
まず無転送な状態では、TXDからはhighの状態の電圧が出力される。
もしRXDがGND電圧であり続けると、エラーとして処理される。
エラー処理に関しては、機器によって違うのでなんともいえない。
送信側が信号を送る状態になると、まずTXDからスタートビットが出力される。
これは1ビット分のlow出力で、受信側はこの立ち下がりを検出することでデータを受信するタイミングの同期を行う。
そこからはデータの送受信を行う。
両者が設定した通信速度でデータの送信、受信を行い、8ビットまたは7ビットのデータ転送を行う。
疲れたのでまずはここまで。
dsPICの仕様書のUARTの一部を日本語訳したもの
dsPIC_UART.doc
最終更新:2010年09月06日 13:10