MCP2221A-I/ST 選型筆記:USB 轉 I2C/UART 的小工具晶片

整理 Microchip MCP2221A-I/ST 的關鍵參數和使用注意點:USB 2.0 轉 I2C/UART、GPIO 複用、供電範圍、封裝、速率限制,以及適合放進硬體除錯工具箱的原因。

MCP2221A-I/ST 是 Microchip 的 USB 2.0 轉 I2C/UART 橋接晶片。它不算新,但很適合做成一個隨手可用的小工具:一端接電腦 USB,另一端拉出 I2C、UART 和幾個 GPIO,就能臨時讀暫存器、刷配置、除錯板上外設。

我關注它,主要是因為前面整理 LGA3647 高 TDC OEM CPU 的 VRM ICC_MAX 修改時,經常會看到 MCP2221A 這個名字。很多現成工具就是用它把 PC 變成 USB-I2C 主機,再去訪問板上的 VRM 控制器。

這顆晶片能做什麼

MCP2221A 的核心功能很直接:

  • USB 轉 UART。
  • USB 轉 I2C。
  • 提供 4 個可複用的 GP 腳位。
  • 支援 USB CDC 和 HID 複合裝置方式。
  • 可透過配置工具調整 VID、PID、字串描述符和啟動配置。

換句話說,它既可以像普通 USB 轉串口晶片那樣用,也可以作為一個不需要單晶片韌體的 USB-I2C 小橋。

關鍵參數

立創商城中的 MCP2221A-I/ST 對應 Microchip 原廠器件,商品編號為 C130462,封裝是 TSSOP-14

常用參數可以先記這幾項:

  • USB:USB 2.0 Full-Speed,12 Mbps。
  • UART:最高支援 460800 bps
  • I2C:作為 I2C Host 使用,最高 400 kHz
  • 供電:3.0V5.5V
  • 工作溫度:工業級 -40℃+85℃
  • GPIO:4 個 GP 腳位,可複用為 LED、ADC、DAC、時鐘輸出、中斷檢測等功能。
  • 封裝:MCP2221A-I/STTSSOP-14

它和舊的 MCP2221 非常接近,主要區別是 MCP2221A 的 UART 最高波特率從 115200 提高到了 460800

為什麼適合做除錯工具

很多硬體除錯場景只需要臨時訪問一次匯流排,並不值得專門寫 MCU 韌體。

比如:

  • 掃描 I2C 地址。
  • 讀取 EEPROM 或感測器暫存器。
  • 配置 PMBus/VRM 控制器。
  • 給板子留一個臨時 UART 控制台。
  • 用 GPIO 拉高、拉低某個使能腳。
  • 做一塊內部用的小型 USB-I2C/UART 轉接板。

MCP2221A 的好處是 PC 端支援比較成熟,Windows 下可枚舉成複合 USB 裝置,UART 側走 CDC,I2C 控制側走 HID。對臨時工具來說,這比自己維護一套 USB 韌體省心很多。

I2C 側要注意什麼

MCP2221A 適合做 I2C Host,不適合把它理解成萬能高速擷取器。

幾個容易踩坑的點:

  • I2C 最高到 400 kHz,不要按高速邏輯分析儀的思路用它。
  • I2C 上拉電阻仍然要按目標板電壓和匯流排電容設計。
  • 如果接到已經上電的目標板,只共地和接 SCLSDA 通常更安全,不要隨便從轉接器給目標板供電。
  • 目標板如果有 BMC、PCH 或別的主控也在佔用同一條 I2C,匯流排仲裁和訪問時機會變複雜。
  • 用它寫 VRM、EEPROM、PMBus 參數前,先確認地址、暫存器和寫入副作用。

在維修和改板場景裡,最危險的通常不是晶片本身,而是把 SCLSDAGND 或電源腳接錯。

UART 側適合什麼

UART 最高 460800 bps,用於普通日誌、命令列和裝置配置基本夠用。

如果只是替代 CH340、CP2102 之類的 USB-UART,MCP2221A 未必是最便宜的選擇。它的價值在於同一顆晶片還能順手提供 I2C 和 GPIO,適合做多功能除錯器,而不是只做最低成本串口線。

GP 腳位不要浪費

MCP2221A 的 4 個 GP 腳位可以配置成不同功能。常見用途包括:

  • 普通 GPIO 輸入輸出。
  • UART 活動 LED。
  • SSPND 掛起狀態輸出。
  • USBCFG,用於指示 USB 枚舉完成。
  • ADC 輸入。
  • DAC 輸出。
  • 可配置時鐘輸出。
  • 外部中斷邊沿檢測。

如果是自己畫小板,建議至少把這些腳引到焊盤或排針。哪怕一開始用不上,後面除錯時也可能會很方便。

畫板時的基本思路

一個簡單的 MCP2221A 轉接板,通常可以按下面思路做:

  1. USB 口接到晶片的 D+D-
  2. VDD 按目標供電方案接 3.3V5V
  3. VUSB 按規格書要求放去耦電容。
  4. SCLSDA 引出到排針,並預留上拉電阻位置。
  5. URxUTx 引出到排針。
  6. GP0GP3 盡量引出。
  7. RST 按推薦方式處理,避免懸空導致異常復位。
  8. USB 口附近按需要加 ESD 保護。

如果板子主要用於外接未知目標板,I2C 側最好預留電平選擇、上拉電阻使能和保護措施。除錯線越常插拔,越應該把誤接和靜電當成真實風險處理。

適合使用它的場景

比較適合選 MCP2221A 的情況:

  • 想做一塊小型 USB-I2C/UART 除錯器。
  • 希望 PC 端直接訪問 I2C 裝置。
  • 不想為 USB 協議單獨寫 MCU 韌體。
  • 工具板還需要幾個簡單 GPIO。
  • 需要在 Windows 環境下配合現成 DLL、配置工具或第三方腳本使用。

不太適合的情況:

  • 只需要最低成本 USB-UART。
  • 需要更高 UART 波特率。
  • 需要高速 I2C 或 SPI。
  • 需要複雜 GPIO 時序。
  • 目標是量產裝置中的主控,而不是除錯橋接。

小結

MCP2221A-I/ST 的定位很清楚:它不是高性能擷取晶片,也不是完整 MCU,而是一顆好用的 USB 到 I2C/UART 橋接器。它的優勢在於省掉 USB 韌體,把電腦、I2C、UART 和幾個 GPIO 快速連起來。

如果你的工作經常涉及板級除錯、I2C 暫存器配置、PMBus 或 VRM 參數讀寫,那麼手邊有一塊基於 MCP2221A 的小板會很順手。真正動手前,重點不是背參數,而是把供電、共地、上拉、電平和目標板匯流排佔用關係確認清楚。

參考連結

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計