把 EMK850+ 功耗分析仪改造成 AI 可调度的自动化测量节点
项目背景
低功耗调试离不开 µA 级电流测量。英加 EMK850+ 只有 Windows 上位机,没有对外接口,功耗数据进不了脚本,批量测试、回归测量、AI 辅助优化全部做不通。
本项目独立逆向其串口协议,用 Python 实现命令行工具与 MCP/REST 服务器,把测量与供电控制变成 HTTP 接口,脚本、CI、AI 客户端可直接调度,形成采集、控制、优化闭环。
「闭源仪器协议逆向 + MCP 服务化」这套做法,可复用到任何只有上位机的台式仪器。
核心工作
- 串口协议逆向:原厂上位机是 .NET 程序,用 ILSpy 反编译直接拿到完整通信协议,帧结构、命令表、换算公式整理成协议文档。
- AI 辅助实现:定义协议规范与验收标准,驱动、CLI 与服务器代码借助 AI 工具生成,帧行为逐项与真机实测比对校验。
- 流式帧同步:USB CDC 流式传输不保证按包交付,解析采用逐字节流式帧同步状态机,拆包、粘包、错位下稳定出帧。
- MCP/REST 服务化:单进程同时提供 REST 与 MCP(Streamable HTTP)接口,覆盖测量、采样、供电控制,Claude、Cursor 通过工具发现自动接入。
- 断电复位唤醒:可编程电源断电重启,唤醒深度休眠后调试器断连的 MCU。
设备效果

python emk850_analyzer.py power COM19电压: 4.202 V 电流: 6.940 uA 功耗: 29.20 uW项目边界
- 协议为独立分析归纳,与厂商无关,固件升级可能失配
- 断电通过设 0mV 间接实现,实测测量端仍有约 2.6V,是否真正断电需万用表确认
- 串口独占,不能与原厂上位机同时使用;空载清零需断开所有负载
GitHub 仓库:Yingjia_EMK850_low-power_analyzer_MCP · 协议文档 EMK850_PROTOCOL.md