
最近有用户问询关于PCIe协议分析仪是否支持通过API调用进行自动化测试,包括协议分析仪和训练器等功能,当然,这对于SerialTek这类高端PCIe协议分析分析来说是一个非常基本的功能,我们今天的视频详细讲解、演示了一下如何使用SerialTek PCIe analyzer的RESTful API控制协议分析仪进行自动化测试。感兴趣的朋友可以直接参考下面的43分钟的高清视频,或者直接阅读视频下面的演示的过程的总结文字。
为了方便工程师观看,我们针对本期视频并处理添加了中文字幕供大家参考。如果想看高清视频建议要在电脑上打开上面的视频链接进行观看!
【高清视频】SerialTek PCIe 5.0/6.0 协议分析仪API自动化编程演示
SerialTek PCIe 5.0/6.0 协议分析仪API自动化编程演示
------ 基于 RESTful API 的自动化抓包与测试实践总结报告
一、视频核心主题
本视频围绕一个核心目标展开:
如何通过 RESTful API 控制 SerialTek PCIe 5.0/6.0 协议分析仪,实现自动化抓包与测试流程。
重点包括:
-
硬件连接架构说明
-
分析仪平台介绍(SerialTek公司Kodiak 系列架构)
-
REST API 工作机制解析
-
Python 自动化控制示例
-
自动化测试典型应用场景
二、整体硬件架构与信号路径
1️⃣ 测试环境组成
本次实验环境为:
-
台式机主板(Intel CPU)
-
华硕 Z890 主板
-
PCIe 5.0 x4 M.2 SSD
-
M.2 转接插卡
-
PCIe 5.0 Pod
-
SerialTek Kodiak系列 PCIe 协议分析仪
2️⃣ 信号链路结构说明
完整链路逻辑为:
CPU
↓
PCIe x4 插槽
↓
Adapter Key Board(转接卡)
↓
PCIe 5.0 Pod
↓
Device Adapter
↓
M.2 SSD
Pod 的作用
Pod 作为中间采集模块:
-
支持多接口形态
-
支持 DualPod(企业级双 x2)
-
本实验为单路 x4 模式
3️⃣ 线缆类型说明
系统包含三类关键连接:
✔ Sideband 线
-
连接到分析仪 Sideband0
-
负责辅助控制信号
✔ Y 型 Cable
分为:
-
Upstream(U0 / U1)
-
Downstream(D0 / D1)
支持双 x2 架构,但本例仅使用 x4 单链路。
三、SerialTek 分析仪平台介绍
1️⃣ 品牌与架构
-
原 SerialTek
-
被Ellisys 公司收购,总部位于瑞士;研发中心:伦敦
-
Kodiak 架构(PCIe 4.0 之后新产品架构的系列名称)
支持版本:
-
PCIe 4.0
-
PCIe 5.0
-
PCIe 6.0
-
即将支持 7.0
本设备为:
PCIe Gen5 x16 分析仪
2️⃣ 设备接口与管理
前面板提供:
-
触摸屏(可查看链路状态)
-
管理口(以太网)
-
万兆口(可选)
-
USB(一般不使用)
通过浏览器即可访问 Web GUI,无需安装客户端。
四、为什么需要 REST API?
1️⃣ 手动模式的典型流程
传统人工操作:
-
打开 Web GUI
-
Start Capture
-
执行测试
-
Stop Capture
-
保存 Trace
-
分析
适合问题排查,但不适合:
-
批量回归测试
-
自动验证
-
连续抓包
-
无人值守测试
2️⃣ 自动化测试典型场景
例如:
-
芯片回片验证
-
固件迭代测试
-
压力测试
-
批量 FIO 读写测试
希望实现:
循环:
Start Capture
运行测试
Stop Capture
保存 Trace
下一轮
人工执行不可行,因此需要 REST API 自动化控制。
五、REST API 工作原理
1️⃣ 架构模型
分析仪内部提供:
基于 HTTP 协议的 RESTful API
控制方式为:
客户端(Python)
↓
HTTP Request(GET / POST / DELETE)
↓
分析仪
↓
调用本地功能
↓
执行抓包 / 保存 / 停止等动作
2️⃣ API 文档获取
在分析仪 Web 界面:
Help
→ API Specification
包含:
-
Introduction
-
Capture 类接口
-
Device 类接口
-
Hardware 类接口
-
Endpoint (EP) 说明
3️⃣ 常见 API 类型
例如:
-
startCapture
-
stopCapture
-
saveTrace
-
lock / unlock 资源
-
查询状态
每个 API 包含:
-
URL
-
HTTP 方法
-
Body 内容
-
权限说明
4️⃣ EP 的含义
EP = Endpoint 即 API 的具体功能节点。
六、Python 自动化控制实现
1️⃣ 运行环境
支持:
-
Windows
-
Linux
要求:
-
Python 环境
-
requests 库
安装方式:
pip install requests
2️⃣ Python 控制流程示例逻辑
示例流程:
1. 调用 startCapture API
2. 执行 FIO(1 秒读写)
3. 调用 stopCapture API
4. 调用 saveTrace API
测试主机运行 Linux,对 SSD 执行 FIO。
3️⃣ 优势
通过脚本可以实现:
-
无人值守测试
-
批量验证
-
自动保存日志
-
Trace 与 Log 对应分析
-
便于回归问题定位
七、本次演示的完整自动化流程
实际演示步骤为:
Step 1
通过 REST API → Start Capture
Step 2
在 Linux 下运行 FIO 1 秒
Step 3
通过 REST API → Stop Capture
Step 4
通过 REST API → 保存 Trace
八、技术价值总结
本视频展示的核心价值在于:
✔ 将协议分析仪纳入自动化验证体系
传统协议分析仪是:
"人工问题排查工具"
通过 REST API 后,它变成:
"自动化验证系统的一部分"
✔ 支持芯片研发验证流程升级
适用于:
-
PCIe 控制器芯片验证
-
SSD 主控开发
-
NVMe 固件调试
-
PCIe 训练问题定位
-
批量一致性测试
✔ 与 CI / 自动化测试框架集成
可结合:
-
Jenkins
-
Python Test Framework
-
自动化回归系统
-
硬件验证实验室调度系统
九、结论
本视频系统讲解了:
-
PCIe 5.0 x4 测试硬件架构
-
Pod 与信号链路说明
-
SerialTek Kodiak 系列PCIe协议分析仪介绍
-
REST API 架构与调用原理
-
Python 自动化控制示例
-
自动化抓包的实际应用场景
核心思想是:
协议分析仪不仅是"调试工具", 更可以成为"自动化验证系统的一部分"。