重置、韌體更新與疑難排解

適用於 IMU600-V2/韌體 0.11.2/GUI v1.6.1。

MCLR 外部重置

將 J1 pin 17 拉低再放開,即可觸發硬體重置。板上已有 10 kΩ 上拉至 3.3 V;外部電路只負責拉低,不可用 5 V 或 push-pull 主動拉高。未使用可留空。

方式 接法
A. 常開按鈕 MCLR → 470 Ω → switch → GND
B. N-MOSFET 開汲極 MCLR → 100–470 Ω → drain;source → GND。GPIO → 100 Ω → gate,gate 加 100 kΩ 下拉;可用 2N7002 等,主機 GPIO 3.3/5 V 皆可
C. 3.3 V 開汲極 GPIO MCLR → 470 Ω → open-drain GPIO

MCLR 按鈕/MOSFET 參考電路

MCLR 按鈕/MOSFET 參考電路

  • 拉低至少 10 µs,建議 1–10 ms;長時間保持低態會讓模組一直停在重置。MOSFET 方案中,GPIO 高=重置,低=正常執行。
  • 串聯電阻需保留。雜訊較大時,可在串聯電阻靠近外部控制電路的那一側加 1–10 nF 對地電容;不要在 MCLR 直接接大電容。超過約 30 cm 或外露連線,可評估 3.3 V TVS。
  • 放開 MCLR 後,bootloader 先等待約 120 ms,再花約 250 ms 初始化 IMU。模組會載入已用 SAVE 儲存的設定,將 ts_us 歸零,並重新進行 AHRS 對準。此時請保持靜止約 1 秒。INFO 的 SPNVRESET 應顯示 EXTR(MCLR)。

軟體重開機可使用 $SPNVCMD,BOOT,1,同樣載入已儲存設定。

一般韌體更新

韌體由 SparkNavi 提供加密簽章 .spfw,透過 GUI/UART1 更新。設定與六面校正存於獨立 flash 區,依手冊更新不會清除。請使用與裝置硬體及批次相符的檔案。

  1. 以 GUI 連線,原本使用的鮑率/ASCII 或 binary 皆可。
  2. 檔案 → 韌體更新,選取 .spfw,核對檔案版本、適用硬體、打包時間及目前裝置版本。
  3. 按開始更新;模組進入 bootloader,GUI 以 460800 傳送,驗證成功後重新連線。更新期間保持供電及連線。
  4. 確認狀態列/裝置資訊顯示新韌體,再讀回 CFG/CAL,確認設定符合預期,且資料正常輸出。

救援更新

若更新中斷、裝置停在 bootloader,或已無法正常輸出資料,可使用救援更新。它與用來恢復未知通訊設定的 Boot Rescue(20 秒)是不同功能。

  1. GUI 保持中斷連線,選好 COM 埠。
  2. 檔案 → 韌體更新 → 選 .spfw → 救援更新。
  3. 30 秒內斷電再上電,或以 MCLR 重置,讓 GUI 在開機時連上 bootloader,開始更新。
更新錯誤 處理
金鑰/硬體不符 向 SparkNavi 索取正確 .spfw
驗證失敗 重新取得原始檔案,以救援更新重試
只能用 PICkit 燒錄 開發版韌體,請聯絡 SparkNavi

疑難排解

現象 檢查與處理
連不上/無資料 檢查 +5 V、TX/RX 交叉、共地與 COM;使用 GUI 自動鮑率偵測
亂碼 確認鮑率;binary 應用 GUI 解碼,文字終端需 MODE,ascii
重開機後設定還原 Apply 只改 RAM;用 SAVE,1 保存
未知已儲存設定 GUI 參數頁 Boot Rescue,20 秒內重新上電
uart_drop / u2_drop ↑ 降低 RATE/輸出項目,改 binary 或提高對應鮑率;參見頻寬表
status 16 / SATURATED 量程飽和;檢查劇烈運動、撞擊與振動
status 32 / 44 開機數筆為初始化;運作中持續出現則檢查掉壓
status 8 / 12 REINIT,1;持續則聯絡 SparkNavi
status 128 PPS 標記;品質檢查用 status & 0x7F
Yaw 漂移 無絕對航向來源;HDG 手動指定或主機融合外部航向
AHRS flags bit4 對準時移動;靜置後 AHRS,reset
PPS NO_SIGNAL 確認 pin 13、3.3 V、上升緣、共地與 1 Hz 訊號
PPS ACQUIRING 量測 999–1001 ms 間隔;檢查 GPS PPS 狀態與雜訊,STAT,1 看 PPS 回報
持續無反應 檢查 MCLR 是否被拉低;更新中斷則進行救援更新
SPNVHALT 附 INFO 回覆聯絡 SparkNavi
觸發模式無輸出 第一個邊緣只建立起點;檢查 pin 15 及 trig_cnt,不使用時 TRIG,0
trig_rej ↑ 小於 0.5 ms 的毛刺;縮短配線、共地、使用推挽 3.3 V
PreArm: Gyro n rate … 此 Blue2 整合需 RATE,1000 並 SAVE,1
找不到 IMU600 核對自訂韌體、SPI,ardupilot、SPICK,3、接腳 6/8/10/12 與 txn 是否增加
IMU600: SPI is in stream mode 改 SPI,ardupilot 並 SAVE
高頻時 GUI 速率不準 先排除 UART 頻寬不足;SPI 與 UART 分開確認。接飛控時可關 OUT/AHRS/U2OUT

向 SparkNavi 回報

請附上 INFO,1、CFG,1 的完整回覆、韌體/GUI 版本、接線及操作條件,以及 GUI 錄製的原始 .bin 檔,寄至 ethan@robotlab.com.tw。

更新通訊與 bootloader 等待

依通訊協定,BOOT,1 回覆 ACK 後重啟進 bootloader,以 460800 bps、8N1 等待更新工具 HELLO 約 1.5 s,不輸出一般文字;沒有更新要求時回原應用韌體。這段等待是供韌體更新使用,與 MCLR 正常重置的啟動等待不同,也不同於非預設通訊設定下的 500 ms FACTORY 救援時段。

更新中斷或應用韌體異常時,bootloader 可留在救援等待狀態。更新格式未公開於本協定;若要整合自有更新工具,請聯繫 SparkNavi 取得支援。

本章通訊細節另依通訊協定 v1.1,第 19–26 頁整理;通訊協定總覽。


原始文件:IMU600-V2 User Manual v1.1 · PDF 頁 35–40

原文件逐頁閱讀 · 三份文件逐章對照與差異說明

回到本分類總覽 · 全部設定指南