Ubuntu下的开源仪器

Creative Commons
本作品采用知识共享署名

本文介绍在ubuntu下安装配置虚拟示波器和逻辑分析仪

概述

由于将个人开发环境完全切到ubuntu下,原来在windows下用的虚拟示波器hantek6022be和logic8无法再使用,在网上找了很久都没发现价格合适的替代品。无意之下发现了OpenHantek,然后带出了sigrok,让现有的硬件可以在ubuntu下工作,这里分享一下使用配置方式。

OpenHantek

hantek6022be是青岛汉泰克出的一款虚拟示波器,20M模拟带宽,48M采样率,可以应付一般的嵌入式爱好者调试,算是非专业示波器。官方只提供windows软件。歪果仁搞出的OpenHantek可以让其在ubuntu上使用。官网http://openhantek.org/

安装

安装依赖

1
apt install g++ cmake qttools5-dev qttools5-dev-tools libfftw3-dev binutils-dev libusb-1.0-0-dev libqt5opengl5-dev

下载&修改

1
2
git clone https://github.com/OpenHantek/openhantek.git ~/work/build/
vim ~/work/build/openhantek/CMakeLists.txt

修改CMakeLists.txt, 因为我的cmake不支援CMP0072 policy,mark掉

1
#cmake_policy(SET CMP0072 NEW)

编译

1
2
3
4
5
6
cd ~/work/build/openhantek
mkdir build
cd build
cmake ..
make
sudo make install

注意:直接使用master进行编译,不要使用2017-12 release,该release启动时下载firmware会失败 https://github.com/OpenHantek/openhantek/issues/253

运行

连接hantek6022be到USB,在终端执行

1
OpenHantek

第一次启动的时候会卡到update processing,之间cannel掉再执行OpenHantek就可以进行,不用担心update firmware会写坏Hantek6022BE,它只是写到ram里而已。运行起来的效果如下:
scope

sigrok

sigrok是跨平台,支援多款硬件的信号分析软件,具体介绍参见官网https://sigrok.org/

安装

ubuntu 18.04软件仓库自带sigrok,因此直接安装即可

1
sudo apt-get install sigrok*

运行

将设备连到PC,直接执行
pulseview
PulseView会自动扫描出设备。

示波器功能

示波器功能很弱,看起来很想逻辑分析改了一下,只能抓固定长度的波形,抓完就停。无法做触发等功能,比较鸡肋。也支援Hantek6022BE效果如下:
pvs

逻辑分析功能

逻辑分析功能还是很好用,支持41种协议,下面是logic8连接分析UART的效果
logic

其它

虚拟仪器有不少,网上也发现几种Linux下入门级的开源示波器和逻辑分析仪,对于业余爱好者来说稍微贵了点:

BitSCope Micro

1.5K左右,不如直接买示波器
http://bitscope.com/

  • 2个20MS/s 模拟采集通道
  • 6个40MS/s 数字采集通道
  • 2个可调整的比较器通道
  • 任意波形发生器
  • 高速时钟发生器
  • 10-pin BitScope Micro POD

DSCope & DsLogic

示波器和逻辑分析仪都是同一家的
https://www.dreamsourcelab.com/

DSCope C20P

官网贵,TB上最便宜的699,还是略贵,不如Hantek。
示波器

  • 模拟带宽: 50MHz
  • 最大采样率: 200MHz @ 1 Channel / 100MHz @ 2 Channels
  • 实时采样深度:1M
  • 单次采样深度:32M @ 1 Channel / 16M @ 2 Channels
  • 输入通道数: 2 Channels
  • 垂直灵敏度: 10mV/div ~ 2V/div (x1 probe) / 100mV/div ~ 20V/div (x10 probe)
  • 输入耦合方式: AC / DC / Ground
  • 输入特性: 1 MΩ ∥ ~15 pF
  • 过压保护范围: ±100 V (DC+AC peak)

DSLogic Plus

TB上299, 逻辑分析仪用得不多,感觉28的logic8就够用了,这里不评价
逻辑分析仪

  • 4 channels @ 400MHz
  • 8 channels @ 200MHz
  • 16 channels @ 100MHz
  • 16G stream / 256M buffer