示波器解析串口数据

前言

学习MCU串口发送数据,配合示波器观察TTL数据波形可以加深对协议的理解

一、示波器准备

一般的示波器即可,我采用的示波器是鼎阳的200MHZ带宽,1G/S的采样率。
请添加图片描述

二、硬件介绍

使用乐鑫的ESP32。
ESP32引脚图

三、软件

使用VScode PIO ESP32 Arduino框架

代码如下(示例):

#include <Arduino.h>
HardwareSerial mySerial1(1);   //虚拟串口
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  mySerial1.begin(9600,SERIAL_8N1,32,33);  //初始化虚拟串口 32-RX 33--TX
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.printf("hello2");
  mySerial1.printf("B");   //虚拟串口打印字符'B'
  delay(1000);
}

四、串口TTL数据协议

1.波特率

每秒钟传输的码元,常用的有9600和115200。

2.数据起始和停止信号

数据包的起始信号由一个逻辑0的数据位表示,而数据包的停止信号可由0.5、1、1.5或2个逻辑1的数据位表示。

3.数据有效位

在数据包的起始位之后紧接着就是要传输的主体数据内容,也称为有效数据为。有效的长度5-8位长

4.数据校验位

在有效数据后,有一个可选的数据校验位。由于数据通信相对更容易受到外部干扰导致数据出现偏差,可以在传输过程中加上校验位来解决这个问题。
奇校验:数据加上校验位的1的数要为奇数。
偶校验:数据加上校验位的1的数要为偶数。
0校验:校验位总为0。
1校验:校验位总为1。
无校验:数据包不含校验位。

五、示波器探头连接

示波器通道1探头老虎钳咬住 ESP32 GND,ESP32 TX GPIO33是虚拟串口发送引脚,示波器探头夹住GPIO33。
黄色线是GND
钳子夹住GPIO33
请添加图片描述

五、串口数据波形捕获。

mySerial1.printf(“B”); //虚拟串口打印字符’B’,GPIO33串口发送引脚间隔1000ms发送‘B’
字符‘B’的ASCII表对应的hex是0x42。bit也就是100 0010。

方式1:示波器自带的decode进行解码

不同厂商的示波器可能操作不一,我以鼎阳的操作为列。
请添加图片描述
请添加图片描述
操作步骤
1.Decode 翻译按钮。
2.配置解码通道选择。
3.总线类型选择 UART。
4.信号选择通道1RX触发阈值3V。
5.编码格式可以选择:二进制、十进制、十六进制、ASCII。

方式2:根据示波器波形比对测量出数据的有效位

请添加图片描述

总结

通过示波器捕获UART波形,可以帮助加深学习和理解串口的协议,有用的是在工程调试中可以直接判断MCU串口发送数据是否有效,是一个很好的验证方式。

示波器相信大家都知道了,在设备的连接汇总,通过示波器判断设备的连接方式,检测设备的兼容性等都是非常重要的,这款ComDigitalScopeV100串口示波器软件功能丰富,是一款集硬件设备的检测与串口的连接,查看各种示波器的变化数据,支持恢复,暂停,移动,调焦,放大,缩小, X 轴调节,Y 轴调节等功能于一体的工具,有需要的用户千万不要错过哦。 ComDigitalScopeV100是一款功能丰富的串口示波器软件,该软件主要您可以将示波器的图像调整到适应您浏览大小的比例,也可以直接缩放到最大化,方便您观察不同数据段的波形变化。 本程序在相应硬件(如USB转TTL,高速RS232等)支持下能够进行串口高速数据采集,并使数据在PC机上实时图形显示。 正常操作时,点击START按钮,打开串口接收功能,软件将从串口接收到的数据实时图形化显示。 下位机只要按照说明书的格式通过串口向上发送数据,上位机即可将接收到的数据显示成为波形,有AA55,CRC,SUM的数据校验方式。 当下位机持续向上位机发送满足要求的数据时,软件则会将收到的数据显示为1-8条曲线。 您可根据需要任意扩大缩小图形,并可保存以备下次分析。同时该程序还具有串口调试助手功能。 这是一款功能极其强大的串口调试工具,界面明了,易于使用,若应用于下位机程序开发等工作,将大大提高您的开发效率,成为您必不可缺的开发助手。 ComDigitalScopeV100 有两条坐标T0 T1 ,有T0,T1之间最大最小值显示。可更改各个数据通道名称,以及数据显示倍数显示调整等功能。 试用版本,COM1,波特率为9600bit/s。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值