0x00 使用背景
逻辑分析仪是做电子不可缺少的一个工具, 公司有一个孕龙的逻辑分析仪, 死贵, 我就想找一个便宜好用的逻辑分析仪, 找到了saleae, (我是硬件用saleae,软件用sigrok, 没有用saleae的软件) 在此分享一下我的使用记录.
0x01 相关介绍
Saleae
官方网站: https://www.saleae.com
官网说了那么多, 简而言之, 就是一个贼好用的逻辑分析仪
产品分为两代:
- Saleae Logic(8ch, 24MHz)
- Saleae Logic16(16ch, 100/50/32/16MHz @ 3/6/9/16ch)
核心结构: cy68013 + at04c02
固件是由上位机在上电的时候加载, 所以出现很多的通过修改EEPROM里的标识(也就是所谓的固件)来欺骗上位机软件,从而进行工作的仿制产品.
关于购买: 淘宝, 1代大概几十块钱, 不到50块, 二代大概几百块不等
Sigrok
官方网站: https://sigrok.org
便携, 跨平台, 自由, 免费, 开源的信号分析套件
软件使用c + python, 协议解析使用python来做的
支持的协议:https://sigrok.org/wiki/Protocol_decoders
现在大概63种,还在不断的增加, 常用的i2c, spi, can, 1-wire, uart, sd, ir都支持
具体的支持请看官网Protocol_decoders
sigrok支持saleae的硬件
0x02 软件使用
安装sigrok
sigrok支持linux(包含android), OS X, windows
下载地址
https://sigrok.org/wiki/Downloads
根据你的操作系统选择响应的二进制软件包
安装驱动
安装好sigrok之后, 包含3个PulseView, Zadig, Zadig(Win XP)
插上saleae, 打开Zading:
根据编号顺序来操作
先勾上edit, 把名称改为fx2lafw, 点击Install Driver
软件介绍
如果一切正常的话, 打开之后就是如下的界面:
软件已经识别了我的saleae了.
软件界面:
- 导入导出数据
- 范围选择
- 设备选择
- 采样深度, 采样频率选择
- 启动,停止
- 协议选择
- 采样的波形
- 解析出来的协议
数据采样
普通采样
我读写AT24C02上面的数据, i2c总线速度为100k
设置采样深度为1M samples, 采样频率为200kHz, 我记得采样频率至少为是总线速度的2倍(这里不敢确定, 但是采样频率低于200kHz确实采样不正确,大学学得都还给老师去了,囧)
启动采样, 马上往at24c02里面写一个数据, 下面是读到的数据:
下面是一个完全的流程:
http://7xt8co.com1.z0.glb.clouddn.com/sigrok0.mp4
### 设置触发器
!
1. 普通采样
2. 低电平触发
3. 高电平触发
4. 上升沿触发
5. 下降沿触发
6. 边沿触发
## 常见问题
1.驱动安装好, 第一次打开可能会报错
!
不用管他,
2.采样的数据明显不对
请注意你的采样频率, 采样频率至少应该是总线频率的两倍
3.没有显示通道
!
框住的部分没有显示, 请重启软件