串口示波器

做嵌入式开发或调试串口设备时,常会遇到 “看得到数据、摸不清规律” 的难题 —— 这时候串口示波器就能派上大用场。串口示波器将串口数据(比如传感器读数、控制指令)变成动态波形,让数据变化一眼看清。

串口示波器作用

高波特率 USB 串口芯片(如 CH9114)搭配串口示波器,对 ADC 等形式的采集帮助很大。高波特率带来最直观的优势就是传输速度提升,避免高频采样数据堆积卡顿,让示波器波形与 ADC 采集同步;同时USB转多串口的形式,方便多通道 ADC 数据并行传输,同步对比,无传输瓶颈困扰。

本次将介绍三款Windows下常用的串口示波器上位机,搭配CH9114 USB转4串口芯片。

使用硬件介绍

CH9114是一款高速USB 2.0总线的转接芯片,实现高速USB转四个异步串口UART0/1/2/3功能。
四个全双工串口,支持通讯波特率1200bps~15Mbps
芯片特性如下:

  1. 支持免安装CDC类驱动程序及VCP厂商驱动程序。
  2. 厂商驱动下,持续通信最高波特率可达15Mbps
  3. 支持CTS和RTS硬件自动流控。
  4. 内置EEPROM,可配置芯片 VID、PID、最大电流值、厂商和产品信息字符串等参数。

详细信息可参考:

CH9114-高速USB转四串口,最高连续波特率达15Mbps

1、SerialChart

在这里插入图片描述

源码仓库

https://github.com/peng-zhihui/SerialChart/tree/main

简介

来自于鼎鼎大名的稚晖君同学的开源项目,项目本身是一个基于 Qt 开发的串口示波器工具,移植自 starlino/serialchart,用于通过串口接收数据并以图表形式可视化展示。

项目主要依靠Configuration脚本运行,以下是一个简单的脚本:

[_setup_]
port=COM35
baudrate=15000000
width=2000
height=550
background_color=white
grid_h_origin=0
grid_h_step=0.5
grid_h_color=#EEE
grid_h_origin_color=#CCC
grid_v_step=50
grid_v_color=#EEE

[_default_]
min=-1
max=1

[Field1]
color=red
label=Sin(2Hz)

[Field2]
color=blue
label=Sin(3Hz)

脚本定义两条波形,指定COM35,串口波特率为15Mbps,下位机发送格式为
xxxx,xxxx
数据,就可以正常显示波形。

2、SerialPortPlotter

在这里插入图片描述

源码仓库

https://gitee.com/jhembed/QtSerialPortPlotter

简介

与SerialChart项目类似,SerialPortPlotter也是基于QT框架实现,可直接选择串口号及波特率,下位机发送格式为
xxxx xxxx
数据,就可以正常显示波形。

3、serialtest

在这里插入图片描述

源码仓库

https://github.com/wh201906/SerialTest

简介

串口示波器部分与上述上位机类似,但serialtest还增加了串口调试的功能,用户可添加各种控件,每个控件与串口收发产生联动,方便日常调试。

下位机发送格式为
Variable a:xxx,Variable b:xxx,Variablecxxx
数据,就可以正常显示波形。

除串口外,还支持TCP/UDP等协议,功能十分强大。
在这里插入图片描述

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐