MCU 程式設計和偵錯介面
重要
這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。
MT3620 公開兩個專用UART和兩個控制訊號(重設和復原),以在裝置布建和復原期間使用。 此外,SWD 介面可用於偵錯 RTApp,而進一步的 UART 則保留給Microsoft診斷。
Azure Sphere 計算機軟體工具需要使用 USB 對 UART 介面晶片,以允許工具辨識並與其互動的方式向電腦公開這些介面。 Azure Sphere 工具包括支援使用服務 UART 透過 USB 載入應用程式,以及使用復原 UART 復原 Azure Sphere OS。 計算機工具需要使用未來技術裝置國際(FTDI)FT4232HQ UART 對 USB 介面晶片來公開介面。 目前,這些工具不支援來自不同製造商的其他 FTDI 晶片或介面晶片。
針對開發板,此介面晶元通常位於與 MT3620 相同的 MT3620 上。 此方法記載於 MT3620 參考開發板 (RDB) 設計中。 針對使用 MT3620 的自定義面板或模組,可能適合將介面晶片放在個別的 CB 上,因為只有在製造或服務期間才需要此硬體,才能節省每單位成本。 此方法記載於 獨立程式設計和偵錯介面板設計中。
埠概觀
MT3620 公開三個 UART 和一個 SWD 介面,用於程式設計、Microsoft診斷和布建晶片。 這四個介面具有下列函式:
偵錯 UART— 偵錯 UART 可讓Microsoft執行診斷。 請注意,此 UART 不適用於應用程式偵錯或診斷。
在Microsoft的指導下,此介面提供擷取其他診斷資訊的方法,在偵錯某些問題時很有用。 因此,建議針對用於軟體或硬體開發的裝置包含此介面,但對於已達到製造階段的裝置,可以將其視為選擇性。
SWD 介面 — 在 M4F 核心上執行即時可用的應用程式 (RTApps) 偵錯時,會使用 SWD 介面;此介面會在兩個 M4F 核心之間共用。
如果您需要偵錯 RTApps 的能力(例如在裝置開發期間),您的裝置應該支援此介面。 一旦裝置到達製造階段,此介面就可以視為選擇性,並可省略。
服務 UART— 服務 UART 提供 MT3620 與主電腦之間的主要程式設計和偵錯介面。
此介面可啟用所有需要連結裝置的 Azure Sphere CLI 作業,但復原除外(如下一段所述)。 由於服務 UART 是 MT3620 與主電腦之間的主要介面,因此此介面必須適用於支援軟體開發的裝置,以及在零售裝置製造期間使用。 如果此介面可用於現場裝置,服務工程師也可以使用此介面,例如,如果裝置未連線到因特網,則載入新版本的應用程式軟體。
復原 UART— 復原埠提供將裝置復原至最新版本操作系統的方法。
製造期間必須支援此介面,因為將裝置復原至最新版本的操作系統是裝置製造期間的常見工作。 不過,在裝置銷售給客戶之後(且已將其連線到因特網),雲端更新可確保裝置保持在最新版的操作系統。
元件概觀
下圖提供 4 埠 FTDI 介面的主要元件及其與 MT3620 的互連概觀:
您可以選擇使用 FTDI 晶片和電路作為 MT3620 相同面板的一部分(例如,如果您要建置開發板),或在位於 MT3620 裝置與電腦之間的個別介面板中。
連接埠指派
為了確保與計算機工具的相容性,請務必確保設計中使用的每個公開UART和SWD介面都已連線到FTDI埠,如下表所述。
Function | FT4232HQ針腳函式 (針腳號碼) | MT3620 Pin 函式 (針腳號碼) | ||
---|---|---|---|---|
復原 UART、重設和修復綁帶釘 | 埠 D | DDBUS0 (48) | RECOVERY_RXD (134) | |
DDBUS1 (52) | RECOVERY_TXD (135) | |||
DDBUS2 (53) | RECOVERY_CTS (137) | |||
DDBUS3 (54) | RECOVERY_RTS (136) | |||
DDBUS5 (57) | DEBUG_RTS (96)* | |||
DDBUS6 (58) | SYSRST_N (125) (並選擇性地透過以下詳細線路喚醒 (70) | |||
服務UART | Port-C | CDBUS0 (38) | SERVICE_RXD (129) | |
CDBUS1 (39) | SERVICE_TXD (127) | |||
CDBUS2 (40) | SERVICE_CTS (130) | |||
CDBUS3 (41) | SERVICE_RTS (128) | |||
SWD 和重設 |
埠 B | BDBUS0 (26) | SWCLK | 如需 SWD 線路的詳細資訊,請參閱 SWD 介面 |
BDBUS1 (27) | SWDIO 輸出 | |||
BDBUS2 (28) | 中的 SWDIO | |||
BDBUS4 (30) | SWDIO 方向 | |||
BDBUS5 (32) | 啟用 SWD | |||
BDBUS6 (33) | SYSRST_N (125) (並選擇性地透過以下詳細線路喚醒 (70) | |||
偵錯 UART |
埠 A | ADBUS0 (16) | DEBUG_RXD (94) | |
ADBUS1 (17) | DEBUG_TXD (95) | |||
ADBUS2 (18) | DEBUG_CTS (97) | |||
ADBUS3 (19) | DEBUG_RTS (96)* |
*DEBUG_RTS是 MT3620 的“綁腳”之一,如果在晶片重設期間拉高,會導致晶片進入恢復模式。 在其他時間,此針腳是偵錯 UART 的 RTS 針腳。
圖表
下列圖解顯示支援FT4232HQ晶元所需的主要元件。 MT3620 參考板設計提供包含此圖解的參考設計。
圖解 1:
附註- 圖解 1:
- 包含與重設線的 1K 電聯,以避免使用者在復原期間以程式設計方式控制重設線時按下重設按鈕(如果包含在設計中)時發生短路。
- 配置 VLAN 時,請確定差異組USB_P和USB_N會平行路由傳送,以提供 90 號的特性差異二元。
- 與 (選擇性) SWD 線的數列 33Л 電壓旨在減少暫時性,而且應該放在接近FT4232HQ。
圖解 2:
附註- 圖解 2:
- SYSRST_N被拉高與10萬電壓(R8)。 這表示晶元重設預設不會判斷提示。
下列兩個元素是選擇性的。 如果有的話,它們允許計算機的實體 RESET 按鈕和 FTDI 介面在已切換 RESET 時自動喚醒 MT3620。 對於使用Power Down模式的任何設計,建議使用電源關閉模式,其中重設按鈕或電腦介面必須在Power Down模式中繼續運作。
- 一對肖特基二元在SYSRST_N和 WAKEUP 之間以系列連接,二次二元的常見陰極連接連接到重設按鈕和 FTDI 重設信號。 這可防止當 WAKEUP 切換為低時,SYSRST_N切換低。
- WAKEUP 會以 100K 電壓拉高,連接到3V3_RTC電源供應器。 100K阻力可確保當切換為低SYSRST_N時,WAKEUP 會切換為低;與 3V3_RTC 的連線可確保如果 MT3620 電源供應器關閉電源模式,則 WAKEUP 會繼續拉高。
FTDI EEPROM
FTDI 介面晶片提供一組針腳,必須連接到用來儲存製造商詳細數據和序號的小型 EEPROM。 面板元件之後,這項資訊會使用FTDI所提供的軟體工具,透過USB將此資訊程序設計成EEPROM,如FTDI FT_PROG程式設計工具稍後所述。
下列 EEPROM 元件與 FTDI 晶片相容:
- 93LC46BT-I/OT
- 93LC56BT-I/OT
- 93LC66BT-I/OT
請注意 LC 變體的使用,其與 3.3V 供應器相容。 基於內部開發目的,Microsoft一律使用 93LC56BT-I/OT 部分。
將 EEPROM 連接到 FTDI 晶片,如下所示:
EEPROM 線路 | 與 FTDI 晶片的連線 |
---|---|
UART 介面
MT3620 與 FTDI 之間的復原、服務和偵錯 UART 連線不需要特殊的線路。 不過,請注意 TXD 和 RXD 的交叉,以及 CTS 和 RTS。 FTDI 檔將每個埠的針腳 0 描述為 TXD,並將針腳 1 描述為 RXD。 這些定義與 FTDI 晶片相對;也就是說,針腳 0 是輸出,而針腳 1 是輸入。 因此,必須跨越與 MT3620 的 RXD 和 TXD 連線(同樣適用於 CTS 和 RTS)。 下圖說明此服務 UART;針對復原和偵錯 UART 使用相同的配置:
SWD 介面
雖然 FTDI 晶片通常用來提供 UART 與 USB 之間的橋樑,但 Azure Sphere 程式設計與偵錯介面會使用以四次三角緩衝區為基礎的額外電路,讓 FTDI 元件以高速 SWD 介面運作。
以下說明 FTDI 晶片的必要線路和連線。 請注意,SWDIO 訊號會連線到 MT3620 針腳 98,而 SWCLK 會連線到針腳 99。
三狀態緩衝區排列 | FTDI 埠 B 連線 |
---|---|
USB 活動 LED(選擇性)
USB 活動 LED 可用來指出在正常作業期間透過 USB 連線進行資料傳輸。 您可以透過數種方式實作 USB 活動 LED。 下列線路只是一個範例。
線路 AND 會將FT4232HQ連接到 EEPROM 的時鐘和數據行結合在一起。 雖然不明顯,這兩行會在透過USB傳送和接收數據時切換,因此可用來指出USB活動。 不過,AND 閘道的輸出時間太短,無法照亮 LED:因此,這個訊號是用來驅動單向穩定電路,進而驅動 LED。
單向穩定電路的運行時間設定為 100 毫秒,因此即使是短載的 USB 流量也會使 LED 亮起。
FTDI FT_PROG程式設計工具
為了協助設計 EEPROM,FTDI 提供稱為 FT_PROG 的免費軟體工具。 此工具同時以 Windows GUI 應用程式和命令行工具的形式提供;這兩個選項會同時從相同的套件安裝。 從 FTDI 網站 下載此工具,並將其安裝在預設位置。
FT_PROG命令行工具
命令行版本的 FT_PROG 是 EEPROM 程式設計慣用的方法,因為它會採用組態檔的名稱做為參數,然後使用單一命令來程式設計多個裝置。
GitHub 上的 Azure Sphere 硬體設計存放庫包含 EEPROM 組態檔,可與命令行工具搭配使用。 強烈建議您在製造案例中使用這個檔案和命令行工具。 組態檔會使用下列設定來程式 EEPROM:
- 啟用 D2XX 直接模式並停用虛擬 COM 埠
- 自動產生序號,開頭為 'AS'
- 將產品描述設定為 “MSFT MT3620 Std 介面”
若要對 EEPROM 進行程式設計,您必須如往常使用這個檔案,因為 Azure Sphere PC 工具會尋找產品描述字串,如果此值變更,將會失敗。
EEPROM 程式設計的逐步指示
若要使用命令行版本的 FT_PROG,針對四埠 FTDI 晶片對 EEPROM 進行程式設計:
在預設位置安裝 FTDI 工具:
C:\Program Files(x86)\FTDI\FT_Prog
。將一或多個 MT3620 面板連線到電腦。
開啟命令提示字元 (例如,cmd.exe),並變更為您儲存組態檔的資料夾。
輸入下列命令以列出所有連結的裝置:
"c:\Program Files (x86)\FTDI\FT_Prog\FT_Prog-CmdLine.exe" scan
如果連結四個裝置,輸出看起來會像這樣:
Device 0: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 1: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 2: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 3: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36
輸入下列命令以程式設計所有連結的裝置。 在 和
cycl
參數後面prog
指定附加裝置的索引(0、1、2 等等):"c:\Program Files (x86)\FTDI\FT_Prog\FT_Prog-CmdLine.exe" scan prog 0,1,2,3 MT3620_Standard_Interface.xml cycl 0,1,2,3
此工具應該會顯示:
Scanning for devices... Device 0: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 1: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 2: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 3: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 0 programmed successfully! Device 1 programmed successfully! Device 2 programmed successfully! Device 3 programmed successfully! Finished Re-enumerating Device 0.... Re-enumerating Device 1.... Re-enumerating Device 2.... Re-enumerating Device 3....
若要確認程式設計成功,請再次掃描:
"c:\Program Files (x86)\FTDI\FT_Prog\FT_Prog-CmdLine.exe" scan
請注意,序號在輸出中有變更,現在以 AS 開始:
Scanning for devices... Device 0: FT4232H, MSFT MT3620 Std Interface, AS5AW7FD Device 1: FT4232H, MSFT MT3620 Std Interface, AS5AHG3C Device 2: FT4232H, MSFT MT3620 Std Interface, AS5DWM2I Device 3: FT4232H, MSFT MT3620 Std Interface, AS5JQ0LJ
FT_PROG GUI 應用程式
應用程式的 Windows GUI 版本適用於讀取和檢查 EEPROM 資訊的狀態。 您也可以使用它來變更資訊;不過,我們建議使用工具的命令行版本來設計裝置。
啟動應用程式之後,按兩下 [掃描] 按鈕(使用放大鏡圖示)來讀取和顯示 EEPROM 的目前內容。
如果出現 [未知的裝置] 對話框,如下列範例所示,請按兩下 [ 確定 ],直到應用程式視窗正確顯示信息為止。
下列範例顯示正確的顯示:
如需使用軟體的詳細資訊,請參閱FT_PROG檔。