USB-TTL¶
USB-TTLアダプターまたはUSB-UARTアダプターは、コンピューターをUSB経由でUARTを介してマイクロコントローラーと通信できるようにします。
必要な場合。
- 一部のボードをフラッシュする
- ログを読む
- UART通信をデバッグする
- モジュールを構成する
- 通常のUSBが機能しないときにボードを回復する
- 組み込みUSB-UARTがないデバイスに接続する
一般的なアダプターはCH340、CP2102、FT232などのチップを使用しています。
USB-TTLまたはUSB-UART¶
消費者の説明はしばしばUSB-TTLと言っています。
技術的には、通常TTLロジックレベルを持つUSB-UARTアダプターを意味しています。
理解すべき主なこと。
- USB側はコンピューターに接続します
- UART側はマイクロコントローラーに接続します
- アダプターはすべてのボードのプログラマーではありません
- アダプターはSWDを介してSTM32をフラッシュする場合、ST-Linkに代わるものではありません
メインピン¶
通常、以下があります。
GNDTXRXVCCまたは3V3/5V- 時々
DTR - 時々
CTS、RTS
通信の最小。
GNDTXRX
電源は、アダプターがボードに電力を供給すべきことが確実な場合にのみ接続されます。
TXとRXはクロス接続されます¶
UARTは次のように接続されています。
TX は送信です。
RX は受信です。
あるデバイスの送信者は、別のデバイスの受信者に接続する必要があります。
TX を TX に接続した場合、通信は通常機能しません。

出典: SparkFun Electronics、CC BY-SA 4.0
共通のグラウンド¶
アダプターの GND とボード GND を接続する必要があります。
共通グラウンドなしでは、UARTが機能しないか、不安定に機能します。
ボードが別の電源から電力を供給されている場合でも、共通の信号レベルとしてグラウンドが必要です。
3.3Vと5Vロジックレベル¶
これは最も重要なポイントの1つです。
アダプターは以下のロジックで動作できます。
3.3V5V- スイッチ可能な
3.3V/5V
多くのモダンボードとモジュールは3.3Vロジックを使用しています。ESP32、RP2040、多くのSTM32。
5V UART信号を3.3V入力に適用すると、ピンまたはボード全体を損傷することができます。
接続する前に、確認してください。
- ボードが使用するロジックレベル
- アダプターが使用するロジックレベル
- 3.3V/5Vジャンパーが何を行うか
- ジャンパーが
VCC電源のみを変更するか、またはTX/RXレベルも変更するか
一部のアダプターは5V電源を提供しますが、3.3Vロジック信号です。その他は電源とレベルの両方を変更します。特定のアダプターのドキュメンテーションを確認してください。
アダプターからの電力¶
常に VCC を接続する必要があるわけではありません。
多くの場合、以下のみを接続する方が安全です。
GNDTXRX
ボードを通常のソースから電力を供給してください。
アダプターから VCC を接続できる場合。
- ボードはその電圧に対応しています
- ボード電流はアダプターの能力範囲内です
- 同時に別の電源がない
- ボードのドキュメンテーションがこのピンを通じた電力供給を許可しています
危険な間違いは、USB-UARTアダプターと別の電源から同時に電力を供給し、ソースが競合させることです。
DTRと自動リセット¶
一部のボードはフラッシュ中に自動リセットに DTR を使用しています。
例えば、Arduino Pro MiniおよびそのようなボードはコンデンサーをとおしてDTRを使用して自動リセットできます。
フラッシュが自動的に開始されない場合、これは以下の理由かもしれません。
- DTRが接続されていない
- 手動リセットが必要です
- 間違ったアダプターが選択されている
- 間違ったブートローダーが選択されている
- IDEで速度またはボードが正しく選択されていない
単純なログ読取の場合、DTRは通常不要です。
アダプターがシステムに表示されているかどうかを確認する方法¶
macOSおよびLinuxでは、アダプターは通常 /dev のデバイスとして表示されます。
例。
Windowsでは、COM ポートとして表示されます。
ポートが表示されない場合。
- USBケーブルを確認してください
- 別のUSBポートを試してください
- ドライバーを確認してください
- それが単なる充電ケーブルではないことを確認してください
- アダプターに表示されているチップを確認してください。CH340、CP2102、FT232。
安いアダプターは時々別のドライバーを必要とします。特にWindowsで。
ループバックテスト¶
アダプターをチェックする簡単な方法。
- アダプターの
TXとRXを一緒に接続します。 - シリアルターミナルを開きます。
- ポートと速度を選択します。
- テキストを入力します。
入力した文字が戻る場合、アダプターとポートはおそらく機能しています。
テストの後、TX と RX の間のジャンパーを削除します。
一般的なエラー¶
TXをTXとRXをRXに接続- 共通の
GNDを忘れた - 3.3Vボードに5Vレベルを選択した
- ボードが既に別々に電力を供給されているのに
VCCを接続した - USBケーブルが充電のみであることが判明した
- CH340/CP210x/FTDIドライバーがインストールされていない
- 間違った COM ポートが選択されている
- UART速度が一致しない
- USB-UARTがSWDを介してSTM32をフラッシュすることを期待している
- フラッシング中にブートモードまたはリセットを混同した
重要な点¶
- USB-UARTアダプターはコンピューターとボード間のUART通信に必要です
- 通信の最小。
GND、TX、RX - アダプター
TXはボードRXに、アダプターRXはボードTXに接続します - 接続する前に3.3V/5Vロジックレベルを確認してください
VCCはアダプターから電力が必要な場合にのみ接続されます- アダプターが見えない場合は、ケーブル、ドライバー、USBポートを確認してください
参考資料¶
- SparkFun: Serial Basic Hookup Guide - USBシリアルアダプター、TX/RX/GND、VCC、DTR、3.3V/5V切り替え
- SparkFun: Serial Basic CH340C Hookup Guide - 現代的なCH340C USB-UARTアダプター、ピン、LED、電圧選択
- SparkFun: Serial Communication - UARTの基本、TX/RX、シリアル通信
- Silicon Labs: CP210x USB to UART Bridge VCP Drivers - 公式CP210x仮想COMポートドライバー
- Adafruit FTDI TTL-232 USB Type C Cable - 5V電力と3.3Vロジックを備えたケーブルの例。電力と信号レベルを別々に読む必要がある理由を示しています