外觀
SLogic16U3:800MHz 邏輯分析儀,規格到 sigrok 全開源鏈路

Sipeed SLogic16U3 是一顆 40×40×10mm 的 USB3 邏輯分析儀:800MHz@4ch / 400MHz@8ch / 200MHz@16ch, 0~10V 訊號輸入、0~6V 可配閾值,鋁合金外殼,官方售價 ¥369 起。 它走 sigrok/libsigrok 標準協議——本文前半整理官方規格與硬體介面(含實物圖),後半是 Apple Silicon Mac 上的實測全鏈路:命令列直採波形、解碼 131 種協議。
規格速查(官方)
| 屬性 | SLogic16U3 | 順帶對比 Combo8 | 順帶對比 32U3 |
|---|---|---|---|
| USB | USB3.0(5Gbps) | USB2.0 | USB3.2 Gen2 |
| 最大采樣率 / 通道 | 800M / 16ch | 80M / 8ch | 1500M / 32ch |
| 典型組合(連續流式) | 800M@4CH · 400M@8CH · 200M@16CH | 80M@4CH · 40M@8CH | 1500M@4CH · 800M@8CH · 400M@16CH · 200M@32CH |
| 最大頻寬 | 3.2Gbps | 0.3Gbps | 6.4Gbps |
| 訊號輸入範圍 | 0~10V,可調 0~6V 觸發閾值 | 閾值不可調 | 可調閾值 |
| 尺寸 / 外殼 | 40×40×10mm · 鋁合金 | 20×40×10mm · 塑膠 | 50×50×10mm · 鋁合金 |
| 價格 | ¥369 起 | ¥69 | ~¥999 |
| Sigrok 相容 | ✅ | ✅ | ✅ |
取樣率與通道數是"此消彼長"的:16 通道全開只有 200MHz,想要 800MHz 得砍到 4 通道(後文有實測命令)。
硬體介面與接線

包裝內有:主機、2×6P 杜邦線 ×2(或 2×4P 同軸線 ×2,二選一)、測試夾 ×16、USB3 資料線(A+C to C)、SIM 卡針、說明卡片、拉鏈收納包。
背面排母(取樣端)

- 0~15:16 個取樣通道,對應上位機裡的通道編號
- G(×4):GND——必須把被測裝置的 GND 與邏輯分析儀的 GND 可靠相連,且儘量短、儘量靠近待測點
- VCC(×2):電源輸出(3.3V @ 500mA,兩口共享)——⚠️ 它不是訊號輸入,也別和 GND 短接
- CK(×2):預留的取樣時鐘輸入/觸發輸出(暫不可用)

方向性:杜邦線組/同軸子板的三角標記 ▴ 對準外殼上的 ▾ 才是正向;同軸線遠端白端子接訊號、黑端子接 GND;奈奎斯特頻率 ≥50MHz 時建議用同軸線取樣更穩。
正面

- USB-C:USB 3.2 Gen1(5Gbps),必須用有 USB3 能力的線纜(普通手機充電線不行)
- MODE:藏在孔裡的隱藏按鍵(SIM 卡針捅),在「邏輯分析儀」和「DFU 升級」兩種模式間切換(詳見下文 DFU)
- ACT:三色 RGB 狀態燈
ACT 燈語:
| 狀態 | 顏色 | 備註 |
|---|---|---|
| 正常連線 | 青色(藍+綠) | 藍=電源,綠=USB LINK,紅=執行 |
| 資料傳輸 | 青色 + 紅快閃 | |
| DFU 模式 | 青色 + 紅慢閃 | |
| ⚠️ USB 連線失敗 | 只亮藍燈 | 多半是線纜/介面不是 USB3,或連到了前面板/Hub |
| ⚠️ Flash 載入異常 | 只亮紅燈 | 線纜太差或硬體問題 |
平臺支援與獲取方式
| 系統 | 說明 |
|---|---|
| Windows 10/11 | 原生 exe 受 USB 驅動限制只能到 ~390MB/s → 降檔為 400M@4CH / 200M@8CH / 100M@16CH;想跑滿頻寬就用 Linux 虛擬機器 |
| Linux (x86_64) | 需配 udev 規則解決許可權(官方 FAQ 有現成規則) |
| macOS(Apple Silicon) | 直接可用(本文實測環境) |
獲取軟體有兩條路:
- 下載即用(推薦先走這條):官方按平臺分發
sigrok-cli-SLogic(Linux AppImage / Windows exe / macOS dmg)和 PulseView 圖形介面,都在 SLogic 下載站。 - 本機自編譯(進階,本文後半走的就是這條):從原始碼編譯 Sipeed 的
slogic-dev分支 + sigrok-cli + 解碼庫,適合想定製或跟原始碼的人。
協議棧:一條 sigrok 標準鏈路
控制走廠商自定義 USB 控制傳輸(暫存器 R32_CTRL/0x04、R32_FLAG/0x08、R32_AUX/0x0C),取樣走 USB3 bulk IN 流式——16 通道每樣本 2 位元組。
採集實測
| 能力 | 實測 |
|---|---|
| 裝置識別 | SLogic16 U3 · USB3.0 · VID:PID 359F:3031 |
| 採集 | 5MHz~800MHz 全檔通過,200MHz/16ch 與 800MHz/4ch 資料零誤碼 |
| 自檢圖樣 | Emulation 模式輸出二分頻波形(D0 滿幅方波,逐級 /2) |
| 協議解碼 | 131 個解碼器;合成 UART 幀解出 0x55 逐位+位元組全對 |
Emulation 自檢模式(無被測訊號時驗證鏈路)輸出教科書式二分頻圖樣——D0 滿幅方波到 100MHz(200MHz 取樣下逐樣本翻轉),逐級二分頻、零毛刺:
bash
SR=/Volumes/my-work-arm/slogic-prefix/bin/sigrok-cli
# 16ch 200MHz 采 100 万样本 → CSV
$SR --driver sipeed-slogic-analyzer --config samplerate=200m \
--samples 1000000 -O csv -o cap.csv
# 4ch 800MHz:先降硬件通道数
$SR --driver sipeed-slogic-analyzer --config logic_channels=4 \
--config samplerate=800m --samples 500000 -O csv -o cap.csv
# 触发采集:D0 上升沿
$SR --driver sipeed-slogic-analyzer --config samplerate=20m \
--triggers D0=r --samples 100000 -O csv -o cap.csv解碼實測(合成 UART 幀驗證管線)
接不到訊號時,用 VCD 輸入合成一幀驗證解碼器:
| 段 | 空閒 | 起始 | d0…d7(LSB 先) | 停止 | → 解碼 |
|---|---|---|---|---|---|
| 電平 | 1 1 | 0 | 1 0 1 0 1 0 1 0 | 1 | 0x55 ✓ |
真實採集解碼同理(接上線即可):
bash
# UART:D0=RX;I2C:D0=SCL D1=SDA
$SR --driver sipeed-slogic-analyzer --config samplerate=20m --samples 1000000 \
-P uart:baudrate=19200:rx=D0 -A uart參考波形(Sipeed 官方教程的 GTKWave 截圖):UART 115200 幀與 500kHz SPI(CLK/MOSI/CS)——解碼結果與傳送端逐位元組一致:


讓 Agent 直接驅動它:SLogic Agent Plugin
Sipeed 官方還出了一個把 sigrok-cli 包裝成 Skill 的 OpenAI plugin —— sigrok-cli-slogic-plugin。裝上之後,你把通道、協議和任務目標告訴支援 Plugin 的 Agent,它就能自己呼叫 sigrok-cli 掃描裝置、採集 .sr 波形、用 libsigrokdecode 解碼並回報字元。例如對它說:
SLogic 的 D0 接了 UART RX,引數 115200 8N1。請先掃描裝置,再用 10 MHz 採集 50 ms,儲存原始波形並解碼收到的字元。
Skill 內建的行為約定很剋制:掃不到裝置就停止、多裝置必須先指定、採集完成後返回 .sr 絕對路徑和實際命令、解碼完成後報告引腳對映和是否有 warning——和我這套"先掃描確認能力、再採集"的流程習慣一致。
教程與下載:SLogic 接入 AI Agent:Plugin 快速開始(含 UART/SPI 兩個完整實操示例)。
踩坑檔案
| 現象 | 根因 | 解決 |
|---|---|---|
| 設 800MHz 被 wrap 到 200MHz | 只設了 --channels D0-D3,硬體仍按 16 通道算 | 降取樣率先設 logic_channels=4(硬體通道數) |
--channels D0-D15 報 Invalid channel | 範圍語法 a-b 只認純數字通道名,本裝置是 D0 | 用逗號列表 D0,D1,D2,D3,或省略(預設全通道) |
| 構建報找不到 Python 標頭檔案 | 系統 Python 3.9.6 無 dev headers / 無 python3-embed.pc | brew install python@3.12,configure 加其 pkgconfig 路徑 |
| 合成 VCD 解碼缺最後一位 | 幀前缺起始空閒高電平,start bit 檢測點偏移 | 幀前補 ≥2 bit 的 idle 高電平 |
| 合成 VCD 解不出位元組 | 尾幀恆高無時間戳,輸入模組截斷在最後一個跳變 | 末尾補顯式 #N 結束時間戳 |
| 採集資料全 0 | 沒接訊號(空閒電平),不是故障 | pattern=Emulation 自檢模式驗證鏈路 |
| 只亮藍燈掃不到裝置 | 線纜/介面不是 USB3 | 換 USB3 線、直連主機板後置口、別走 Hub |
復現與出處
- 完整構建流程(依賴、fork 地址、configure 引數、冪等指令碼)見 skill
slogic16u3參考文件 [1.從原始碼構建] - 本機已裝字首
/Volumes/my-work-arm/slogic-prefix/(libsigrok 0.6 + sigrok-cli 0.8 + libsigrokdecode,131 解碼器) - 官方資料:產品介紹 · 硬體操作手冊(本文硬體圖均出自這兩篇,已存檔本站)· SLogic 接入 AI Agent
- 驅動原始碼:sipeed/libsigrok · slogic-dev;官方上位機 PulseView(圖形介面);SLogic16U3 Tools(DFU 韌體更新工具)