如何用示波器测量串口波特率_fpga


这是前段时间遇到的问题,刚好这里找到了答案,记录下分享给大家。

如何确定时基

假如要测量的波特率为9600, 则每一比特位的时间为:1/9600 ≈ 104 μs,一般示波器横向上每个大格子里5个小格子,要想看清一比特位一般需要一个小格子就够了,则时基为:104 μs * 5 = 520 μs, 也就是说时基要500 μs。

注意:测量时选择的耦合方式为直流,边沿类型为下降沿,所测串口的电平为TTL 电平,该电平的串口在不传输数据时电平为高,靠拉低判断起始位。

下图是测9600波特率,所发数据为0x55:

如何用示波器测量串口波特率_ai_02

0x55_9600_.PNG

所用示波器为 汉泰的 IDSO1070。从光标测量可以看出AB之间的时间为107.422 μs,和计算的104 μs 差不多。

下图为波特率9600,所发数据为0x00, 因为数据位全部是0,所以看到一直是低电平:

如何用示波器测量串口波特率_qt_03

IMG_0360.PNG

如何用示波器测串口波特率

前提:需要能从信号中找出一个比特位位来。

已知发送数据位0x55020000, 0x55 的2进制位为10101010。

如图任意选取一比特位,用光标测量可得,时间为:1.074us, 频率位:930.909kHZ, 最接近的波特率为:921600, 所以所测信号的波特率为926100。

如何用示波器测量串口波特率_串口通信_04

IMG_0361.PNG

参考:


​​


推荐阅读:

​专辑|Linux文章汇总​

​专辑|程序人生​

​专辑|C语言​

​我的知识小密圈​