HDRS-UARTについて
このページでは、HDRS-UARTに関することについて、いくつか解説を書いています。
使い方
使い方
のページを参照してください。
FT234XD
HDRS-UARTでは、 シリアル(UART) と USBのブリッジ(変換) に
FTDI Chip社製
の
FT-234XD
というチップを採用しています。
このチップは 3x3mm、12ピンを持った、小さな表面実装対応、リードレスチップです。 シリアル (UART)通信とUSB 2.0(12MBps Full Speed)を橋渡しする便利なワンチップです。 マイコン等に接続する UART側は、1.62~3.63Vまで対応していますので、RaspberryPiなど IO電圧に 3.3Vを使うシステムから 1.8Vを使うシステムでも 使うことが出来ます。 HDRS-UARTは、 RaspberryPi 用なので IO電圧は 3.3Vに設定しています。
USB側は、USB 2.0の規格に対応し、 12Mbps (Full speed) に対応しているようです.
Windows用ドライバ
Microsoft Windows 10/11 では、 標準で FT234XDに対応していますので、特にドライバや infファイルの導入をすることなく、 自動的に認識され、 COMポート経由で通信できるようになります。
FT234XD
のページから Drivers のページに移動し、 VCPドライバ、または D2XXドライバをインストールすることもできます。
R3およびR4について
FT234XDの USB通信用の DP端子とUSBコネクタの DP端子、および DN端子と DN端子の間に 22Ωのチップ抵抗を入れてあります。 これは USB通信において、リンキングや、その他のノイズによる通信の乱れを防ぎ、安定化させる目的で ダンピング抵抗として、 挿入しています。
R5およびR6について
HDRS-UARTでは、FT234XDの RTS端子と CTS端子(*1) にそれぞれ 10kΩのチップ抵抗が接続できるようにしています。 この2つの端子は UART側 (HDRS-UARTでは RaspberryPi側)が、ハードウェア フロー制御を行うときに使う信号線です。 RaspberryPiのシリアル通信では、フロー制御線がありませんので、ハードウェアを使うことができません。もしも、USB側に接続された 端末が ハードウェアフロー制御を選択した場合、CTS端子の状態を送れないために USB側の端末が送信待ち状態になり、 通信ができなくなってしまいます。この状態を回避するために、チップ抵抗を接続しています。
CTS端子は、USB側に接続された相手側の端末から送られてくるデータを受信可能になったことを 相手に通知するための端子です。 もしも、RaspberryPi側でなんらかの処理が重く、受信の準備ができていない状態になった場合に USB側の端末からデータを 送信されてくると、正しく受信できないままデータを取りこぼすことになります。結果として通信は正しく成立しなくなります。 この状態を防ぐための信号線が CTS端子です。 HDRS-UARTでは、CTS端子に 10kΩのチップ抵抗を通じて GNDに接続することにより、常に受信な状態にしています。 フロー制御なしでは、無視されます。 ハードウェアフロー制御を有効にした場合でも フロー制御なしと同様に、常にデータを受信 可能な状態になります。
RTS端子は、USB側に接続された端末が受信可能なのか、不可能なのか、という状態を受け取るための端子になります。 もしも、相手側がなんらかの処理中などで、受信のための準備ができていないのに、データを送信すると、相手側がデータの 受信に失敗し、データを取りこぼすことになります。結果して通信は正しく成立しなくなります。ハードウェアフロー制御では、 この状態を防ぐために、相手側の準備ができていない場合は、データの送信を一時的に停止し、準備ができるのを待ちますが、 RaspberryPiでは、 処理するピンが GPIOヘッダにはありません。 HDRS-UARTでは、この状態を無視し、常にデータを 送信をしています。
*1
RTS端子と CTS端子は、負論理です。通常は RTS, CTSの上に オーバー バーを引きますが、 この文書では、省略しています。
HDRS-UARTの実装について
HDRS-UARTについては、手半田による手作業にて実装しています。なるべく同一になるようにしていますが、手作業による 作業のため、実装には若干のばらつきがありますので、ご了承ください。
HDRS-UART ボードの説明のページ
に戻る
Copyright 2023 (C) by HardwareDreams