关于逻辑分析仪
逻辑分析仪一直是一种重要的仪器, 在调试数字电路时是必不可少的工具. 其形式与示波器类似, 采集被检测信号的电平, 并绘制时序图进行分析.
逻辑分析仪和示波器的区别:
- 数字量和模拟量: 示波器采集的是模拟量, 电压灵敏度是示波器性能的一个重要指标, 用于精确绘制波形, 而逻辑分析仪只采集高低电平(即0和1), 因此逻辑分析仪仅适用于数字电路分析, 不适合模拟电路信号分析.
- 通道数量: 示波器通道数量较少, 常见的为2通道和4通道, 而逻辑分析仪的通道数量基本上在8个或16个
- 协议分析: 示波器不一定带协议分析, 但是逻辑分析仪一定带协议分析. 协议分析就是根据指定的协议, 直接将采集到的信号时序解析成可以阅读的二进制码和ASCII码, 检查信号的完整性和错误
- 逻辑分析仪多用于观察数字电路中的信号时序, 排查问题, 用于模块间通信的开发等
- 示波器多用于观察波形, 电平, 用于功率电路, 射频电路开发等.
逻辑分析仪的硬件
过去, 逻辑分析仪和示波器一样都是大块头设备, 并且采样频率的高低, 采样数量的多少, 支持的分析协议多或者少, 都是区分高端低端分析仪的重要因素. USB逻辑分析仪的推出,使得仪器占位面积极小,可随身携带。更重要的是由于分析, 处理和显示是在PC上进行, 功能变得格外强大,功能还能跟软件不断升级.
专业型号及其价格
- Agilent 1690AD USD 28,427
- Actue TL2236 NTD48,000
- Techie Wave TWLA500 RMB12,000
- zero-plus LAP-B 702000 NT 118,000
- Link Instruments LA-55160 USD7,500
- Clock-link LA5540 USD2,500
- Janatek LA-Gold-36 1,305 €
- Janatek Annie-USB 339.9 €
- TechTools DV3400 USD1,499
- USB-Instrument ANT16-16 USD333
- Intronix LA1304 USD389
- NCI GoLogicU72-2M USD5,500
- 飞腾三环 LA-800-A RMB 11,189
- 致远电子 LA5034 RMB 2,980
开源逻辑分析仪项目 Sigrok 的出现, 使得低端硬件也可以使用丰富的协议分析功能, 出现了性价比很高的软硬件组合. 下图这种形状, 8通道最高24MHz采样率的逻辑分析仪, 是淘宝最廉价的USB逻辑分析仪, 价格不到30 RMB.
外观虽然基本一样, 但是PCB有很多种
- 较早的版本
-
后续版本1
-
后续版本2
-
后续版本3
可以看到, 硬件配置是在不断缩水的, 后期版本连HC245都省了.
还有这个开发板, 也可以实现逻辑分析仪的功能, 在淘宝上价格在20出头
这些都是基于 CY7C68013A 芯片的方案, 在PC端的驱动以及软件都是一样的, 可以运行Saleae的逻辑分析仪软件, 也可以运行Sigrok.
如果仅仅作为逻辑分析仪使用, 推荐购买成品, 尺寸小巧使用方便. 这个小设备配合Sigrok, 有超级强大的协议库, 堪称逻辑分析神器. 因为常见的MCU以及嵌入式设备之间的通信速率不会太高, 大部分协议场景(UART, SPI,I2C, PWM等)都在10MHz以内, 用这个小设备就能覆盖大多数使用场景.
推荐观看视频Sigrok and Logic Analyzers
CY7C68013A 硬件介绍
- EZ-USB FX2系列是 Cypress 生产的, 集成USB2.0协议的微处理器, 提供8051兼容的指令系统.
- FX2LP系列是FX2系列的其低功耗版本, 使用比较多的是 CY7C68013A.
- FX2LP芯片的内部主要包括高性能微处理器内核, USB2.0收发器, 智能引擎(SIE), 增强8051内核, 16K的RAM, 4K的FIFO/IO接口, 数据总线, 地址总线和通用可编程接口等.
- FX2LP的CPU采用的是增强型8051内核, 指令集和标准的8051完全兼容.
Sigrok 软件介绍
Sigrok是一个逻辑分析软件的组合, 包含以下几部分
- libserialport 串口通信库
- libsigrok 基础功能库
- libsigrokdecode 协议库
- sigrok-cli 命令行软件
- PulseView 用户界面软件
- sigrok-firmware-fx2lafw 微控制器运行使用的固件
从官网下载软件安装后, 用户看到的是PulseView, 在连接上EZ-USB后, sigrok会让CY7C68013A使用指定的固件启动, 实现模拟USB设备, 采集电平和传输数据的功能
软件安装
软件部分没有什么问题, 下载PulseView 64位直接安装就行, 主要说一下驱动. 安装包自带Zadig, 软件安装完成后, 将你的分析仪连上USB数据线接到电脑上, 这时候电脑是不会找到驱动的, 扫描一阵之后会告诉你未知设备安装已完成. 这时候打开Zadig (如果是win7和win10, 不要点那个XP版本), 会看到其检测到未知的USB设备, 接下来做以下操作
- 勾选右侧的Edit, 编辑名称, 改为fx2lafw, 改成其他应该也行
- 左侧的USB ID应该显示的是0925 3881, 如果不是的话, 可能要检查一下是不是连了其它USB设备?
- 绿色箭头指的是将安装的驱动, 应该是WinUSB (V6.1.xxx)
- 点击Install Driver开始安装
安装需要几分钟, 时间比较长
驱动安装完成后, 在Windows设备管理器中应该能看到fx2lafw这个硬件.
软件运行
如果是刚装完驱动, 需要拔插一下分析仪, 重新连接后, 再打开PulseView, 会自动检测到硬件并连接. 之后就可以开始使用了.
连接设备
如果没有连接硬件, 或者先打开了软件再连的分析仪, 或者之前切换到demo device了,
- 点击Connect to Device
- Choose the driver: 选择 fx2lafw (generic driver for FX2 based LAs)(fx2lafw)
- Choose the interface: 选择 USB
- 点击 Scan for devices using driver above
- 结果框里会出现
Saleae Logic with 8 channels
, 点中, 点击OK
常用功能
- 开启/关闭通道: 图标栏上的信号夹图标
- 设置预采样比例: 图标栏上的配置按钮
- 显示/隐藏时间窗: 图标栏上的Show Cursors, 可以用来测量时间跨度
- 图像操作:
- 缩小: 按
-
键, 或鼠标上下滚轮 - 放大: 按
+
键, 或鼠标上下滚轮 - 左右移动: 鼠标左右滚轮
- 缩小: 按
- 选择采样率和采样数量
- 根据被检测的信号进行选择
使用协议分析
- 通过图标栏 Add protocol decoder, 打开协议选择
- 双击需要的协议, 会添加到时间轴上
- 点击协议标签进行配置
使用触发功能
需要根据协议进行选择, 例如对于UART, 应该选择下降沿, 只需要选中最开始发出信号的那一路进行触发就行, 选择好之后, 点击Run
, 然后等待触发.
实际测试中, 波特率9600的串口UART, 检测频率必须在50KHz以上才能正确分析
参考
- Sigrok and Logic Analyzers https://www.youtube.com/watch?v=dobU-b0_L1I
- https://forum.pjrc.com/threads/56496-About-buying-a-(not-too-expensive)-logic-analyzer
KurtE: Definitely agreed! I have never used the Saleae code, only sigrok myself; I don't want to exploit Saleae. I even contacted the eBay seller that sold it to me, to suggest sigrok PulseView in the eBay product page instead.
Since I happen to have a dev board and a logic analyzer clone, I took a picture of the two, so you don't need to take my word for them being basically the same:
Larger here. The logic analyzer enclosure just snaps open/closed, there are no screws in mine.
Both boards have the CY7C68013A microcontroller. The Atmel chips are two-wire serial EEPROMs (AT24C128 marked ATMTC169 on the dev board, AT24C02N marked ATMEL401 24C02N on the clone). The extra chip on the logic analyzer clone is an NXP LVC245 octal bus transceiver, used to buffer the logic signals. It looks like each signal has a voltage divider and a filter cap, too. My point is that considering the sigrok fw2lafw firmware works on both, the Saleae clones could be considered clones of the devkit instead, as the devices are that simple. It is the software that counts, and I definitely tell everyone I've mentioned this to use sigrok PulseView.
Oh, and I also definitely recommend the hook-type probes with this.
FWIW, I got an Analog Discovery 2 for 183€ via the Digilent Academic Discount and Kamami.com in Poland.