共用方式為


工廠樓層工作

製造內含 Azure 球體硬體的連線裝置需要下列工廠部署工作,以準備出貨裝置:

  • 將每個 Azure 球體晶片連接到工廠的電腦
  • 取得裝置詳細資料並加以錄製以供日後使用
  • 如有需要,請更新 Azure 球體 OS
  • 如有需要,請更新受信任的鍵盤
  • 將軟體載入裝置
  • 執行功能測試以確認產品是否正確運作
  • 執行射頻 (RF) 測試和校正
  • 驗證 Wi-Fi 通訊
  • 設定乙太網路的裝置
  • 完成要運送的 Azure 球體裝置

您必須先將晶片連接到電腦、取得第二個裝置詳細資料,最後完成裝置,但您可以依任何符合製造環境的順序來執行其他工作。

重要

您應該進行一些準備,以確保您可以在不延遲的情況下完成出廠作業。 準備包括設定出廠樓面電腦和任何其他必要的設備,以及安裝必要的電腦軟體工具。 您為了準備順暢的製造流程所應執行的所有工作,都會在 製造流程準備中說明。

將每個 Azure 球體晶片連接到工廠的電腦

在製造期間,您必須將每個 Azure 球體晶片連接到出廠的電腦。 如果您想要同時將多個 Azure 球體裝置連接到單一電腦,請參閱製造準備工作中 的工廠作業設備

大部分的工廠作業都涉及 azsphere 裝置 命令。 當您有多個裝置連接到電腦時,您必須指定要套用 azsphere 裝置 命令的裝置,方法是將 --device 參數設定為裝置的 IP 位址 或裝置的 連線路徑。 如果省略參數且連接多個裝置, --device 命令將會失敗。 若要取得 IP 位址或連線路徑,請參閱 取得裝置詳細資料

重要

Azure 球體 23.05 SDK 版本和更新版本支援在 Windows 和 Linux 上與多個附加裝置進行通訊。

取得裝置詳細資料

您必須記錄貴公司納入製造產品之每個 Azure 球形晶片的裝置識別碼。 雲端設定工作需要裝置識別碼。

如果您將多個裝置連接到出廠的電腦,您也必須記錄附加裝置的 IP 位址或連線路徑,以供日後在出廠作業中使用。 如 連接每個 Azure 球體晶片所述,當有多個連接的裝置時,需要 IP 位址或連線路徑來指定目標裝置。

若要取得附加裝置的裝置識別碼、IP 位址和連線路徑,請使用 azsphere 裝置清單附加 命令。 下列描述提供有關裝置識別碼、IP 位址和連線路徑的基本詳細資料。

  • 裝置識別碼 : 晶片製造商會建立裝置識別碼、將它儲存在晶片上,然後向 Microsoft 註冊。 此裝置註冊可確保 Microsoft 知道所有 Azure 球體晶片,而且在連線的裝置中只能使用合法晶片。

  • IP 位址: 當 FTDI 裝置介面連接到電腦時,會指派 IP 位址;它不會指出有回應的裝置存在。 IP 位址會在 FTDI 裝置介面連接至電腦時持續存在,即使已將其他 Azure 球體裝置插入介面也一樣。 不過,電腦重新開機之後,IP 位址可能會變更。 要附加的第一個 FTDI 型裝置介面會指派位址 192.168.35.2。 系統會指派每個裝置的 IP 位址,即使該位址沒有回應,您仍可使用 IP 位址來識別需要修復的裝置。

  • 連線路徑: 連線路徑是可識別 USB 連線的 FTDI 位置標識 符。 當 FTDI 型裝置介面連接到相同 USB 集線器上的同一個 USB 埠,然後再連接到電腦上的相同埠時,位置識別碼會持續存在。 因此,它會持續于重新開機。 不過,電腦與裝置間的佈線變更都可能導致連線路徑變更。 就像 IP 位址一樣,即使將其他 Azure 球體裝置插入 FTDI 介面,它也不會變更。

更新 Azure 球體 OS

從晶片製造商出貨時,每個 Azure 球體晶片都會載入 Azure 球體 OS。 視供應商提供的晶片上的 Azure 球體 OS 版本而定,而且根據您應用程式的作業系統版本需求,您可能需要在製造連線裝置時更新 Azure 球體 OS。 您可以安裝特定的復原映射來更新作業系統,這些影像應該已經出現在您的電腦上。 請參閱準備製造準備工作中 的作業系統更新「製造範例」包含可執行平行多重裝置復原的範例腳本。

您可以發出 azsphere 裝置 復原命令,更新 Azure 球體裝置上的作業系統。 使用參數來安裝特定的 --images 復原映射:

azsphere device recover --images <path-to-images> [--device <IP-address or connection-path>]

注意

如果有多個裝置已連線到電腦,請包含 --device 參數,以透過 IP 位址或連線路徑識別目標裝置。 如需詳細資訊,請參閱 將每個 Azure 球體晶片連接到出廠的電腦

更新受信任的鍵盤

可能需要 更新裝置上受信任的金鑰store,作為將軟體載入裝置的必要條件。 只有在裝置上的作業系統早于您的軟體時才需要這麼做,而且只有在發佈 OS 和您的軟體已簽署生產期間更新 AS3 所使用的 Azure 球體映射簽署金鑰時,才需要這麼做。 若要避免此步驟並縮短製造時間,請考慮更新製造期間使用的作業系統版本。

您可以根據下一節中的指示,嘗試載入軟體,輕鬆判斷是否需要更新信任的鍵盤。 如果載入成功,您不需要更新信任的鍵盤。 如果載入失敗,從郵件開始, Internal device error: Image not trusted by device 就會產生過期的受信賴起點store。

若要更新受信任的金鑰store,您必須 取得最新的受信任的 Keystore 檔案。 然後,在您製造腳本的一部分中,使用 azsphere 裝置側載部署 命令,在載入應用程式軟體之前載入更新的受信任的金鑰store,並以信任的 Keystore 檔案路徑取代 <path-to-trusted-keystore.bin>

azsphere device sideload deploy --image-package <path-to-trusted-keystore.bin> [--device <IP-address or connection-path>]

載入裝置軟體

您載入的所有軟體,無論它是面板設定映射、測試應用程式或生產應用程式,都必須在生產簽署。 如果您載入暫時性應用程式進行測試,您必須在測試完成後將其刪除。

在工廠樓面流程期間,您需要的所有生產簽署影像,都應該在開始程式之前儲存在出廠的電腦上,如在製造準備工作中 取得已簽署生產階段的影 像中所述。

具有工具的電腦介面

在製造期間,Azure 球體裝置不得要求任何特殊 裝置功能,例如可進行偵錯的 app 要功能。 取得個別裝置的功能會降低裝置安全性,並需要網際網路連線,這在出廠時通常是不受歡迎的。

若要將軟體載入工廠的裝置,或在測試完成後從裝置刪除臨時軟體,請使用 azsphere 裝置側載 命令,如下所示:

  • 使用 azsphere 裝置側載部署 來載入影像,並 <file-path> 以生產簽署映射檔的名稱和路徑取代:

    azsphere device sideload deploy --image-package <file-path> [--device <IP-address or connection-path>]
    

  • 使用 azsphere 裝置側載刪除 以刪除暫存圖像,並 <component-id> 以要刪除之影像的元件識別碼取代:

    azsphere device sideload delete --component-id <component-id> [--device <IP-address or connection-path>]
    

注意

如果有多個裝置已連線到電腦,請包含 --device 參數,以透過 IP 位址或連線路徑識別目標裝置。 如需詳細資訊,請參閱 將每個 Azure 球體晶片連接到出廠的電腦

執行功能測試

您必須進行功能測試,才能確認產品是否正確運作。 執行您針對功能測試所開發的應用程式,做為製造準備工作的一部分。 請參閱 開發應用程式以進行功能測試

如果您的功能測試需要與測試中的晶片進行通訊,請透過您自己的設計適用回路,將 MT3620 周邊 UART (ISU0、ISU1、ISU2 或 ISU3) 連接到出廠的電腦或外部測試設備。

功能測試流程

執行射頻 (RF) 測試和校正

Azure 球體晶片可能會使用 Wi-Fi 來接收軟體更新,並與網際網路通訊。 如果您的產品使用 Wi-Fi,而且它納入了晶片向下設計或 RF 認證的模組,則您必須為每個裝置執行 RF 測試和校正。 此工作所需的設備和工具,請參閱製造準備工作中 RF 測試和校正的設備和軟體

RF 工具套件包含公用程式和 C API 文件庫,以便在測試期間使用。 您可以使用 C API 文件庫在電子合成中程式化產品特定的 RF 設定。 例如,電子合成是設計來設定天線和頻率、調整裝置以獲得最佳效能,以及啟用 Wi-Fi 通道。 RF 測試控管主題說明如何使用 RF 工具。

將電子合成程式啟用 Wi-Fi 頻道

Azure 球體 OS 會根據在位移位址0x36和0x37的 MT3620 e-fuses 中所設計之區碼,選取 Wi-Fi 通道。 如需 MT3620 上電子合成的詳細資料,請參閱 MT3620 E-fuse 內容指導方針 Mediatek 檔。

區碼是兩個字母的 ASCII 代碼。 Azure 球體 OS 會使用 e-fuses 中的區碼設定來查詢 Linux 無線法規資料庫 中的區域,然後選取該區域允許的頻道。 如果未將區碼程式設計成電子合成,在這種情況下,e-fus 會維持設為0x00 0x00,或者如果字元 「00」 是程式設計,作業系統預設會預設為所有地區通常允許的一組假設通道。 允許地區「00」的頻道會在 Linux 無線法規資料庫中指定。

電子合成中的區碼設定不需要符合裝置使用所在的國家/地區。 製造商可以選擇對應到作業區域所允許一組允許通道的任何區碼。 不同的地區及國家通常採用類似或相同的法規,可交替使用區碼。

例子: 若要指示 Azure 球體作業系統選取德國 () 地區 「DE」 的 Wi-Fi 通道,請將0x44=D 和 0x45=E 程式傳送到位址0x36和0x37的 e-fuses。 從 Linux 無線法規資料庫摘錄的德國允許通道如下所示。 歐盟 (歐盟) 允許同一組通道。

country DE: DFS-ETSI
        (2400 - 2483.5 @ 40), (100 mW)
        (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI
        (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI
        (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI
        # short range devices (ETSI EN 300 440-1)
        (5725 - 5875 @ 80), (25 mW)
        # 60 GHz band channels 1-4 (ETSI EN 302 567)
        (57000 - 66000 @ 2160), (40)

驗證 RF 設定

使用 RfSettingsTool 來確認已正確設定無線電設定選項,例如目標傳輸功率、區碼和 Wi-Fi Media 存取控制 (MAC) 位址。 RF 設定工具檔提供使用此工具的詳細資訊。

確認 Wi-Fi 通訊

請考慮連線至 Wi-Fi 存取點,以確認您的產品應用程式能夠透過 Wi-Fi 進行通訊。 確定 Wi-Fi 連線沒有網際網路存取權,因為如果晶片連線到啟用網際網路的存取點,可能會發生空中更新。

若要將裝置連線至 Wi-Fi 存取點,請依照 [快速入門] (CLI 索引標籤) 中的指示操作。 如果有多個裝置連線到電腦,您必須包含 --deviceazsphere 裝置 wifi 顯示狀態 命令和 azsphere 裝置 wifi 新增 命令中的參數。 如需有關搭配多個連接 裝置使用 azsphere 裝置 命令的詳細資料,請參閱 將每個 Azure 球體晶片連接到出廠的電腦

Wi-Fi 測試之後,您應該從晶片移除用於測試的任何 Wi-Fi 存取點,讓客戶看不到這些存取點。 裝置復原會從晶片移除所有 Wi-Fi 組態資料。

設定乙太網路的裝置

Azure 球體裝置可以透過乙太網路通訊。 裝置需要外部乙太網路卡和麵板設定映射,才能透過乙太網路進行通訊。

若要設定乙太網路的 Azure 球體裝置,請將乙太網路卡連接到 Azure 球體裝置,如連接 乙太網路卡中所述。

Azure 球體作業系統支援兩個乙太網路裝置。

  1. Microchip ENC28J60。 這是 10Base-T (10mbps) 介面卡。 它可以使用半雙面速度的 LED 指示器進行有線,或是沒有全雙面速度的 LED 指示器。 Seeed devkit are wired for half duplex operation.
  2. Wiznet W5500。 這是 100Base-TX (100mpbs) 配接器。 它支援整合的 TCP/IP 堆疊和 NIC 傳遞模式,但 Azure 球體只支援使用 W5500 網際網路連線時的 NIC 傳遞。 由於匯流排頻寬限制,MT3620 裝置可能無法取得完整 100mbps 的速度。

載入面板設定後,乙太網路介面會自動啟用,如加 載裝置軟體中所述,且裝置已重新開機。 根據預設,所有介面都會使用動態 IP 位址。

完成 Azure 球體裝置

完成作業可確保 Azure 球體裝置處於安全狀態,並準備好將它運送給客戶。 您必須先完成裝置的運送。 完成涉及:

  • 執行隨附檢查,以確保已安裝正確的系統軟體和生產應用程式,並停用 RF 工具。

  • 設定裝置製造狀態以鎖定 RF 設定和校正工具,並防止安全性漏洞。

執行隨附檢查

在出貨包含 Azure 球體裝置的產品之前,請務必先執行現成的檢查。 必須針對不同的製造狀態執行不同的檢查。 隨附檢查可確保執行下列動作:

  • 裝置製造狀態已針對該製造階段正確設定。
  • 裝置上的 Azure 球體 OS 有效且為預期的版本。 您只能針對尚未處於 DeviceComplete 狀態的裝置檢查此設定。
  • 裝置上由使用者提供的影像符合預期的影像清單。 您只能針對尚未處於 DeviceComplete 狀態的裝置檢查此設定。
  • 裝置上未設定未預期 Wi-Fi 網路。 您只能針對尚未處於 DeviceComplete 狀態的裝置檢查此設定。
  • 裝置不包含任何特殊功能憑證。 對於 MT3620 型裝置,這只能在未處於空白狀態的裝置上檢查。

由於裝置的製造狀態決定了裝置的 功能 ,因此在不同製造階段需要進行不同的檢查。

執行哪些檢查也會視您設計模組或連接的裝置而定。 例如,身為模組製造商,您可以選擇將晶片保持為空白製造狀態,讓模組的客戶可以執行額外的無線電測試和設定。

使用 device_ready.py 執行檢查

「製造範例」套件包含一項稱為 device_ready.py 的工具,可依照每個製造狀態執行上述檢查。 它應該針對與您的裝置相關的每個製造狀態執行。

下表列出 device_ready.py 腳本採用的參數:

參數 描述
--expected_mfg_state 決定要檢查哪些製造狀態,以及控制要執行哪些測試。 如果未指定此參數,則預設為「DeviceComplete」。 如果裝置的製造狀態與此值不同,檢查會失敗。
--images 指定影像識別碼清單, (裝置上必須顯示的 GUID) ,檢查才能成功。 清單包含以空格分隔的圖像 GUID。 如果沒有指定,此參數會預設為空白清單。 如果裝置上已安裝的圖像識別碼清單與此清單不同,檢查會失敗。 檢查影像識別碼 (而非元件識別碼) 此檢查可確保特定版本的元件存在。
--os 指定 Azure 球體作業系統版本的清單。 如果沒有提供,此參數會預設為空白清單。 如果裝置上顯示的作業系統版本不在此清單中,此檢查會失敗。
--os_components_json_file 指定 JSON 檔案的路徑,其中列出定義作業系統每個版本的作業系統元件。 對於 MT3620 型裝置,此檔案名稱為 mt3620an.json。 使用工具 download_os_list.py 下載最新版本。
--azsphere_path 指定 azsphere.exe 公用程式的路徑。 如果未指定,此參數會預設為 Windows 上 Azure 球體 SDK 的預設安裝位置。 只有在預設位置未安裝 Azure 球體 SDK 時,才使用此參數。
--help 顯示命令列說明。
--verbose 提供額外的輸出詳細資料。

下列範例是含有下列引數的 device_ready.py 工具範例執行:

  • --os 22.07
  • --os_components_json_file mt3620an.json
  • --expected_mfg_state Module1Complete
device_ready.py --os 22.07 --os_components_json_file mt3620an.json --expected_mfg_state Module1Complete
Checking device is in manufacturing state Module1Complete...
PASS: Device manufacturing state is Module1Complete
Checking capabilities...
PASS: No capabilities on device
Checking OS version...
PASS: OS '22.07' is an expected version
Checking installed images...
PASS: Installed images matches expected images
Checking wifi networks...
PASS: Device has no wifi networks configured
------------------
PASS

設定裝置製造狀態

配備 Azure 球形晶片之裝置的使用者不應存取敏感的製造作業,例如將無線電置於測試模式和設定 Wi-Fi 設定電子合成。 Azure 球體裝置的 製造狀態 會限制這些敏感性作業的存取權。

三種製造狀態如下:

  • 空白空白狀態並不會限制晶片的製造作業。 [空白] 狀態中的晶片可以進入 RF 測試模式,而且其電子合成可以進行程式設計。 晶片從晶片原廠出貨時,會處於 空白 製造狀態。

  • Module1Complete. Module1 完成製造狀態是專為限制使用者對無線電設定設定所做的調整所設計,例如最大傳輸功率等級和允許頻率。 RF 命令可在 Module1Complete 設定完成之前使用。 若要滿足無線電硬體的法規原則,可能需要限制使用者對這些設定的存取權。 此設定主要影響需要測試及校正無線電指令引數的製造商。

    Microsoft 建議您在無線電測試和校正完成後,設定此製造狀態;RF 命令設定完成後就無法使用。 Module1Complete狀態可保護裝置不受可能幹擾無線電裝置及其他無線裝置正常運作的變更。

  • DeviceCompleteDeviceComplete製造狀態可讓成品製造商保護部署在欄位中的裝置,以防變更。 將裝置置於 DeviceComplete 狀態後,每當執行任何軟體載入和設定工作時,都必須使用裝置特定的功能檔案。 字 段維護 功能可讓您側載已簽署生產狀態的影像,但無法將其刪除。 app 當中功能可同時側載和刪除影像。

    請勿將「 DeviceComplete 」設定為未完成的裝置或模組 (Wi-Fi 模組、開發面板等) 可能做為大型系統的一部分;這個狀態會限制製造活動,例如生產線測試、軟體安裝和設定。 許多 CLI 命令在 DeviceComplete 設定完成之後就無法使用,因此在設定此狀態之前,必須先執行某些現成的檢查。 受限制的命令可以使用字段維護功能等裝置功能重新啟用,但僅限於您擁有維護許可權的裝置,因此不適用於工廠環境中,因為需要雲端連線才能使用。

下表摘要列出每個製造狀態的裝置功能。

製造狀態 裝置功能
空白 enableRfTestModefieldServicing,以及透過作業側載或通過的作業,如 裝置功能中所述。
Module1Complete fieldServicing 以及透過作業側載或通過的功能,如 裝置功能中所述。
DeviceComplete 只有任一側載或經由作業通過的作業,如 裝置功能中所述。

製造完成時,請使用 azsphere 裝置製造狀態更新 命令來設定 DeviceComplete 狀態

azsphere device manufacturing-state update --state <desired-state> [--device <IP-address or connection-path>]

注意

如果有多個裝置已連線到電腦,請包含 --device 參數,以透過 IP 位址或連線路徑識別目標裝置。 如需詳細資訊,請參閱 將每個 Azure 球體晶片連接到出廠的電腦

重要

將晶片移至 DeviceComplete 狀態是一項永久性作業,無法復原。 一旦晶片處於 DeviceComplete 狀態後,就無法進入 RF 測試模式;其電子合成設定無法調整;和 Wi-Fi 設定、作業系統更新和已安裝的應用程式無法變更,而不需聲明裝置和使用裝置功能。 如果您需要在個別晶片上重新啟用功能,而裝置功能無法重新啟用,例如在失敗分析案例中,請連絡 Microsoft。