# vmso **Repository Path**: drfly/vmso ## Basic Information - **Project Name**: vmso - **Description**: 666 直接fpga做逻辑分析仪,牛逼。然并没有源码。 流畅的逻辑分析仪, 示波器软件, 支持EBAZ4205 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-07-28 - **Last Updated**: 2026-07-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VMSO 混合信号分析仪 ## 一、软件介绍 Windows 绿色版逻辑分析仪上位机:无需安装、不写注册表,双击 `vmso-ui.exe` 即可使用(无命令行窗口),删除目录即卸载。版本号见标题栏 (vYYYY.MM.DD.HHMM,按构建时刻生成,同日可多版),启动时自动检查更新 (比对本仓库 `version.txt`),发现新版在顶栏提示并可一键打开本页。 ![VMSO 主界面](images/vmso-ui.png) ### 采集 - 16 数字通道 + 2 模拟通道(模拟仅模拟器),数字 200/100/50/20/10/5/2/1 MHz 八档采样率,存储深度 1~200 MB 八档; - 半通道(D0-7)/ 四分之一通道(D0-3)打包模式:同样的存储深度换取 2 倍 / 4 倍采集窗口,面板中自动换算显示可采时长; - 触发:边沿 / 电平 / 脉宽 / 16 通道三态图样,支持限定通道、抑制时间 (holdoff)、第 N 次事件、预触发比例 10%/50%/90%; - 采集过程渐进式回读:波形边采边显示,大深度回读有进度提示,可循环采集。 ### 协议解码(40 种,全部与 sigrok 交叉验证) | 类别 | 协议 | |------|------| | 串行总线 | UART · I2C · SPI · Microwire · 并行总线 | | 汽车/工业 | CAN · LIN · Modbus RTU · MDIO | | 音频/灯光 | I2S · MIDI · DMX512 · WS2812 | | 无线/遥控 | nRF24L01 · SBUS (航模) · 红外 NEC / RC-5 / RC-6 / 索尼 SIRC | | 存储器 | EEPROM 24xx · EEPROM 93xx · SPI Flash 25xx · SD 卡 (SPI) | | 传感器/时钟 | DHT22 温湿度 · LM75 温度 · DS1307 RTC · 1-Wire | | 显示/门禁 | 七段数码管 · HDMI-CEC · PS/2 键鼠 · Wiegand · SDQ (Apple) | | 调试接口 | JTAG · SWD · USB 全速 (包级) | | 电机/编码 | PWM · 舵机脉宽 · 正交编码器 · 步进 STEP/DIR · 计数器 | 在"分析器"面板选协议、指定通道即可,解码结果直接叠加在波形上, 底部数据表可查看字节流。所有解码器与 sigrok(业界开源标准)同波形 交叉比对验证,多随机种子下 40/40 输出一致。 ### 分析与导出 - **数字总线**: 多个通道归纳为一条数值阶梯波形(如 4 位计数器 / 8 位并行总线), 直接读十六进制值; - **自动测量**: 每通道频率 / 占空比 / 边沿数常驻表格,可跨采集统计 min/avg/max; - **标记与测量**: 标记对测量时间差,悬停快速测量脉宽 / 周期 / 频率,边沿吸附与跳转; - **毛刺滤波**、**裁剪到视口**、多标签页会话、`.vmso` 会话保存/加载; - **导出**("关于"面板的"会话与导出"区): CSV 表格、**VCD 波形** (GTKWave / PulseView 等通用查看器可打开)、**波形段 `.wave.txt`** (RLE 电平段文本,头部含全部采样参数与每通道摘要,单文件自含, 适合 AI/脚本直接阅读)。 ### 内置模拟器(没有硬件也能用) 设备设置选"模拟器 (本机)"点连接,模拟器进程自动拉起。"模拟器"面板可 编排上述 40 种协议的示例波形循环回放(多协议同时输出,通道自动分配), 一键添加对应解码器——适合学习协议时序或评估软件功能。 下图为浅色主题 + 默认双色交替配色(数字通道按显示顺序绿/蓝交替, 隐藏通道自动重排;设置面板可切换深/浅主题与经典多彩配色): ![模拟器协议波形回放 (浅色主题)](images/proto-replay.png) ### 为 AI agent 设计的命令行工作流 `vmso-cli.exe`(根目录)不只是给人用的命令行采集工具,它专门为 **AI agent / 自动化脚本**优化了输出形态——agent 无需任何解析器或 二进制处理,两次调用即可"看懂"一次采集: 1. **采集即摘要**:采集完成后自动输出 JSON 摘要(打印到标准输出并写 `vmso_describe.json`),含每通道活动状态、边沿数、频率、占空比、 最短脉冲、首个边沿时刻与活动通道掩码——agent 读 stdout 一眼定位 "抓到了什么信号"; 2. **波形下钻**:`--seg cap.wave.txt` 导出**波形段记录**——RLE 电平段 纯文本,每行"通道 @起始时间 电平 持续时长",只记电平变化不记采样点, **头部备注全部采样参数**(采样率/时长/通道掩码/设备/触发)与每通道 摘要。**AI 只读这一个文件即获得该次采集的全部信息**,同样波形体积 比 VCD 小一到两个数量级; 3. 需要时再用 `--trigger 3,r`(D3 上升沿,`f` 下降沿)定点采集, `--dump`/`--vcd` 导出原始数据或标准波形文件。 ``` vmso-cli --host eabz.local --samples 50000000 --trigger 0,r --seg cap.wave.txt ``` `--help` 内置 agent 典型流程说明。图形界面的"关于"面板同样可导出 `.wave.txt`(含范围选择)。另有 `tools/vmso-smoke.exe` 做设备连通性 诊断(`--host eabz.local`)。 ### 快速开始 1. 双击 `vmso-ui.exe`; 2. 设备设置面板选 **"模拟器 (本机)"** 点连接(进程自动拉起),开始采集; 3. 有硬件时选 **"设备: 网线直连"** 或 **"设备: 局域网"**(设备名 eabz.local)。 | 文件 | 说明 | |------|------| | `vmso-ui.exe` | 图形界面主程序 | | `vmso-sim.exe` | 设备模拟器(由界面自动管理) | | `vmso-cli.exe` | 命令行采集(触发 / 原始 / VCD 导出) | | `firmware/` | EBAZ4205 设备固件与烧写/接线说明 | | `tools/` | 设备连通诊断 (vmso-smoke) | 系统要求: Windows 10/11 x64;界面中文依赖系统微软雅黑字体(自带)。 使用指南见软件侧栏最后的 ⓘ 面板。 ## 二、EBAZ4205 硬件支持 配套硬件为 EBAZ4205 矿板(Zynq-7010,二手市场极易获得),刷入本仓库 `firmware/BOOT.bin` 后即成为 **VMSO-D16** 网络逻辑分析仪: - 16 通道 3.3V 数字输入,最高 200 MHz(双沿采样),128 MB 采集缓冲; - 百兆网口**即插即用**:接局域网自动 DHCP,网线直连电脑自动 AutoIP, mDNS 名称 `eabz.local`,无需配置 IP; - 板载 1 MHz 测试方波(G19 引脚),短接任意通道即可自测探头。 烧写步骤与 16 通道引脚定义表:见 [`firmware/EBAZ4205烧写说明.md`](firmware/EBAZ4205烧写说明.md) (板卡图片来源: [xjtuecho/EBAZ4205](https://github.com/xjtuecho/EBAZ4205)) ![EBAZ4205 板卡](images/ebaz4205.jpg) ### 开发方式与反馈 本软件(上位机、固件、FPGA 逻辑)由 **AI agent 开发与迭代**。 使用中的问题与功能建议,欢迎通过本仓库 [Issues](https://gitee.com/coffeerr2004001/vmso/issues) 提出: 描述清楚使用场景与期望行为即可,下次迭代将由 agent 酌情采纳实现。 本仓库仅发布可用软件与固件。