跳轉至

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。

主要引腳

通常有:

  • GND
  • TX
  • RX
  • VCC3V3/5V
  • 有時DTR
  • 有時CTSRTS

最小通信:

  • GND
  • TX
  • RX

只有在你確定適配器應該為板供電時,才連接電源。

TX和RX是交叉連接

UART連接如下:

adapter TX -> board RX
adapter RX -> board TX
adapter GND -> board GND

TX是發送。

RX是接收。

一個設備的發送器必須連接到另一個的接收器。

如果你連接TXTX,通信通常無法進行。

UART連接中的交叉連接TX/RX

Source: SparkFun Electronics, CC BY-SA 4.0

公共接地

適配器GND和板GND必須連接。

沒有公共接地,UART可能無法工作或不穩定。

即使板由單獨的電源供電,接地仍然需要作為公共信號電平。

3.3V和5V邏輯電平

這是最重要的要點之一。

適配器可以工作的邏輯:

  • 3.3V
  • 5V
  • 可切換3.3V/5V

許多現代板和模組使用3.3V邏輯:ESP32、RP2040、許多STM32。

如果你將5V UART信號應用於3.3V輸入,你可能會損壞引腳或整個板。

連接前,驗證:

  • 板使用什麼邏輯電平;
  • 適配器使用什麼邏輯電平;
  • 3.3V/5V跳線做什麼;
  • 跳線是否只改變VCC電源或也改變TX/RX電平。

某些適配器提供5V電源但3.3V邏輯信號。其他的同時改變電源和電平。檢查特定適配器文檔。

來自適配器的電源

你不總是需要連接VCC

通常,只連接是更安全的:

  • GND
  • TX
  • RX

從其正常來源為板供電。

你可以連接適配器的VCC,如果:

  • 板額定為該電壓;
  • 板電流在適配器能力範圍內;
  • 同時沒有其他電源;
  • 板文檔允許通過此引腳供電。

一個危險的錯誤是同時從USB-UART適配器和單獨的電源供電,導致源衝突。

DTR和自動重置

某些板使用DTR進行刷新期間的自動重置。

例如,Arduino Pro Mini和類似的板可以通過電容器使用DTR進行自動重置。

如果刷新不會自動啟動,可能是因為:

  • DTR未連接;
  • 需要手動重置;
  • 選擇了錯誤的適配器;
  • 選擇了錯誤的引導加載程序;
  • IDE中的速度或板選擇不正確。

對於簡單的日誌閱讀,DTR通常不需要。

如何檢查適配器是否對系統可見

在macOS和Linux上,適配器通常在/dev中显示为設備。

示例:

ls /dev/tty.*
ls /dev/cu.*
ls /dev/ttyUSB*
ls /dev/ttyACM*

在Windows上,它显示为COM端口。

如果端口未显示:

  • 檢查USB電纜;
  • 嘗試不同的USB端口;
  • 檢查驅動程序;
  • 驗證它不只是一根充電電纜;
  • 查看適配器上的芯片:CH340、CP2102、FT232。

便宜的適配器有時需要單獨的驅動程序,尤其是在Windows上。

環路測試

檢查適配器的簡單方法:

  1. 連接適配器的TXRX
  2. 打開序列終端。
  3. 選擇端口和速度。
  4. 輸入文本。

如果你輸入的字符返回,適配器和端口可能工作。

測試後,移除TXRX之間的跳線。

常見錯誤

  • TX連接到TXRXRX
  • 忘記公共GND
  • 為3.3V板選擇了5V電平;
  • 連接了VCC,儘管板已由單獨供電;
  • USB電纜是充電專用;
  • CH340/CP210x/FTDI驅動未安裝;
  • 選擇了錯誤的COM端口;
  • UART速度不匹配;
  • 期望USB-UART通過SWD刷新STM32;
  • 混淆了刷新期間的啟動模式或重置。

要點

  • USB-UART適配器是電腦和板之間UART通信所需的。
  • 最小通信:GNDTXRX
  • 適配器TX進入板RX,適配器RX進入板TX
  • 連接前檢查3.3V/5V邏輯電平。
  • VCC僅在你絕對需要適配器的電源時才連接。
  • 如果適配器不可見,檢查電纜、驅動程序和USB端口。

參考資料