示波器有很多強大的功能,但平時大家都沒怎么利用好示波器,今天就來講一個示波器的小技巧:用示波器測量串口波特率,串口通訊波特率
例如波特率為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。