快速上手 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 逻辑分析仪