快速上手 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
等功能强大的商业化产品,但是在日常的微控制器与数字信号总线开发过程当中,如果不是用于调试
PCIE、USB3.0 等高速信号,一台小巧可靠的
24MHz
采样率逻辑分析仪,就已经足以应付大多数的开发场景。因而笔者在自己的 GitHub
当中,开源了这款逻辑分析仪的全部 KiCad 原理图以及
PCB
版图,希望能够对于广大电子工程师的工作有所帮助。
UINIO-Logic-24MHz 参数简介
UINIO-Logic-24MHz
是一款硬件电路、固件程序、上位机软件均开源的逻辑分析仪,可以完成一百余种总线协议的解析工作,最高可以支持到
24Mhz 采样频率 8
个采样通道,其中每个通道支持的输入电压介于
-0.5V ~ 5.25V 之间,其中低电平范围为
-0.5V ~ 0.8V,而高电平范围为
2V ~ 5.25V,本项目所涉及到的全部开源工具如下面列表所示:
- 硬件电路:UINIO-Logic-24MHz;
- 固件程序:sigrok-firmware-fx2lafw;
- 上位机软件: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-XHM 的 TSSOP 封装
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 将会自动亮起:

注意:推荐下载使用 PulseView 的
pulseview-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 逻辑分析仪




