快速上手 UINIO-Logic-24MHz 逻辑分析仪

UINIO-Logic-24MHz 是一款同时兼容赛普拉斯(已经被英飞凌收购)CY7C68013A芯佰微电子 CBM9002A 两款 USB 控制器的开源逻辑分析仪,可以同时采集 8 个通道的数字信号,单个通道的最大采样频率为 24Mhz,可以支持高达 5.5V 的逻辑电平(大于 2V 视为高电平,低于 0.8V 视为低电平)。即可以采用 Sigrok Pulse View(可以实时下载固件),也可以采用 Saleae Logic(需提前烧录固件)作为逻辑分析仪的上位机程序。

逻辑分析仪(Logic Analyzer)作为一种非常重要的数字信号分析仪器,虽然市场上已经存在有 DSLogic 或者 Saleae 等功能强大的商业化产品,但是在日常的微控制器与数字信号总线开发过程当中,如果不是用于调试 PCIEUSB3.0 等高速信号,一台小巧可靠的 24MHz 采样率逻辑分析仪,就已经足以应付大多数的开发场景。因而笔者在自己的 GitHub 当中,开源了这款逻辑分析仪的全部 KiCad 原理图以及 PCB 版图,希望能够对于广大电子工程师的工作有所帮助。

UINIO-Logic-24MHz 参数简介

UINIO-Logic-24MHz 是一款硬件电路固件程序上位机软件均开源的逻辑分析仪,可以完成一百余种总线协议的解析工作,最高可以支持到 24Mhz 采样频率 8 个采样通道,其中每个通道支持的输入电压介于 -0.5V ~ 5.25V 之间,其中低电平范围为 -0.5V ~ 0.8V,而高电平范围为 2V ~ 5.25V,本项目所涉及到的全部开源工具如下面列表所示:

  1. 硬件电路UINIO-Logic-24MHz
  2. 固件程序sigrok-firmware-fx2lafw
  3. 上位机软件PulseView

根据奈奎斯特采样定理,逻辑分析仪的采样频率至少应当是采样信号频率的 5 到 10 倍,才可采样出较为完整的原始信号,所以在只开启 1 个通道的情况下,使用最高 24Mhz 的采样频率,UINIO-Logic-24MHz 最高可以采集到 5MHz 左右的数字信号。

注意:由于 UINIO-Logic-24MHz 的 USB 接口工作在 USB2.0 高速模式下,对于 USB 接口带宽的需求比较高,而外接 USB 扩展坞可能无法支撑如此高的带宽需求,所以请尽量直接连接到计算机的 USB 接口上使用。

逻辑分析仪硬件原理分析

UINIO-Logic-24MHz 采用 赛普拉斯(Cypress)的 CY7C68013A 作为主控芯片,内部集成有 USB 2.0 收发器、串行接口引擎(SIE)、增强型 8051 微控制器,以及可编程的外设接口,其功能逻辑框图如下面所示:

通过片上的 GPIF(General Programmable Interface)与主从设备接口 FIFO(拥有 8 位或 16 位数据总线),建立起计算机上位软件(例如 PulseView、Saleae Logic 等)与逻辑分析仪 UINIO-Logic-24MHz 采样通道(CH1 ~ CH8)之间的高速信号连接:

UINIO-Logic-24MHz 板载了型号为 AT24CS64-XHMTSSOP 封装 EEPROM,用于下载和存储各类逻辑分析仪的固件:

UINIO-Logic-24MHz 的 8 条采样线,通过 100 欧姆的限流电阻,连接至一片同样采用 TSSOP 封装的 74HC245 双向总线缓冲芯片,一方面用于隔离输入与输出,另一方面能够确保采样信号的稳定与完整性:

注意:国产芯佰微电子CBM9002A 是一款对标 CY7C68013A 的 Pin to Pin 产品。

使用 Zadig 安装 USB 驱动程序

使用 UINIO-Logic-24MHz 之前,需要手动安装 PulseView 上位机软件,完成之后需要执行其安装目录下的 Zadig 来安装逻辑分析仪的 USB 驱动程序,在开始进一步的操作之前,需要先将 UINIO-Logic-24MHz 的 USB Type-C 接口连接至计算机:

双击执行 zadig.exe 之后弹出上图的界面,首先鼠标勾选右侧的【Edit】,然后将设备名称修改为 fx2lafw,最后按下【Install Driver】按钮开始安装驱动:

稍等片刻,当弹出下面信息提示框的时候,就表明当前的 USB 驱动程序已经安装成功:

此时在操作系统的设备管理器当中,可以看到 UINIO-Logic-24MHz 的设备名称已经被显示为 fx2lafw

开始 PulseView 上位机的使用

安装完成 USB 驱动程序之后,保证 UINIO-Logic-24MHz 稳定的插入计算机,然后打开 PulseView 开始进行 USB 的枚举配置,并且将固件在线写入 EEPROM,成功后丝印为 PA1 的绿色 LED 将会自动亮起:

注意:推荐下载使用 PulseViewpulseview-0.4.2-64bit-static-release-installer.exe 稳定版本,官方推荐的每晚编译版本 pulseview-NIGHTLY-64bit-static-release-installer.exe 工作十分不稳定,甚至可能会导致 UINIO-Logic-24MHz 无法正确的采样信号。

PulseView 的界面非常简单,可以在顶部【菜单栏】选择采样数量采样频率,然后点击左上角的【Run】按钮,就可以开始让指定的通道采样数字信号:

注意:运行 pulseview-0.4.2-64bit-static-release-installer.exe 版本之前,需要先下载安装微软官方的 Microsoft Visual C++ 2010 SP1 Redistributable Package,否则可能出现运行 PulseView 时找不到 msvcr100.dll 动态链接库的错误。

PulseView 支持一百余种总线通信协议的解析,当 UINIO-Logic-24MHz 采集到有效的数字信号之后,鼠标点击顶部菜单栏上的协议解码器图标,在右侧的弹出窗口当中选择具体的通信协议:

例如在这里选择解析 UART 协议,此时就需要在主窗口区域配置 UART 的波特率数据奇偶校验停止位等信息,使得 UINIO-Logic-24MHz 能够正确解析出可视化的数据以供开发人员分析:

注意:目前 PulseView 上位机支持的总线通信协议解码器可以查阅这个链接

快速上手 UINIO-Logic-24MHz 逻辑分析仪

http://www.uinio.com/Project/UINIO-Logic-24MHz/

作者

Hank

发布于

2023-03-20

更新于

2024-09-06

许可协议