示波器有很多强大的功能,但平时大家都没怎么利用好示波器,今天就来讲一个示波器的小技巧:用示波器测量串口波特率,串口通讯波特率
例如波特率为9600理解为:单位时间内传输9600个码元(位)。1s内可以传输9600位数
假如要测量波特率为9600,则每一比特位的时间为:1/9600=104us。一般示波器横向表示时间,
直接 在示波器上看测量一个高电平或则一个低电平所需要的时间:
如果测出来时间为104us左右则可以断定波特率为9600如下图
测出时间为8.68us左右则可以断定波特率为115200如下图
1.如何确定时基
假如要测量的波特率为9600, 则每一比特位的时间为:1/9600 ≈ 104 μs,一般示波器横向上每个大格子里5个小格子,要想看清一比特位一般需要一个小格子就够了,则时基为:104 μs * 5 = 520 μs, 也就是说时基要500 μs。
注意:测量时选择的耦合方式为直流,边沿类型为下降沿,所测串口的电平为TTL 电平,该电平的串口在不传输数据时电平为高,靠拉低判断起始位。
下图是测9600波特率,所发数据为0x55:
所用示波器为 汉泰的 IDSO1070。从光标测量可以看出AB之间的时间为107.422 μs,和计算的104 μs 差不多。
下图为波特率9600,所发数据为0x00, 因为数据位全部是0,所以看到一直是低电平:
2.如何用示波器测串口波特率
前提:需要能从信号中找出一个比特位位来。
已知发送数据位0x55020000, 0x55 的2进制位为10101010。
如图任意选取一比特位,用光标测量可得,时间为:1.074us, 频率位:930.909kHZ, 最接近的波特率为:921600, 所以所测信号的波特率为926100。