示波器有很多強大的功能,但平時大家都沒怎麽(me) 利用好示波器,今天就來講一個(ge) 示波器的小技巧:用示波器測量串口波特率,串口通訊波特率
例如波特率為(wei) 9600理解為(wei) :單位時間內(nei) 傳(chuan) 輸9600個(ge) 碼元(位)。1s內(nei) 可以傳(chuan) 輸9600位數
假如要測量波特率為(wei) 9600,則每一比特位的時間為(wei) :1/9600=104us。一般示波器橫向表示時間,
直接 在示波器上看測量一個(ge) 高電平或則一個(ge) 低電平所需要的時間:
如果測出來時間為(wei) 104us左右則可以斷定波特率為(wei) 9600如下圖
測出時間為(wei) 8.68us左右則可以斷定波特率為(wei) 115200如下圖
1.如何確定時基
假如要測量的波特率為(wei) 9600, 則每一比特位的時間為(wei) :1/9600 ≈ 104 μs,一般示波器橫向上每個(ge) 大格子裏5個(ge) 小格子,要想看清一比特位一般需要一個(ge) 小格子就夠了,則時基為(wei) :104 μs * 5 = 520 μs, 也就是說時基要500 μs。
注意:測量時選擇的耦合方式為(wei) 直流,邊沿類型為(wei) 下降沿,所測串口的電平為(wei) TTL 電平,該電平的串口在不傳(chuan) 輸數據時電平為(wei) 高,靠拉低判斷起始位。
下圖是測9600波特率,所發數據為(wei) 0x55:
所用示波器為(wei) 漢泰的 IDSO1070。從(cong) 光標測量可以看出AB之間的時間為(wei) 107.422 μs,和計算的104 μs 差不多。
下圖為(wei) 波特率9600,所發數據為(wei) 0x00, 因為(wei) 數據位全部是0,所以看到一直是低電平:
2.如何用示波器測串口波特率
前提:需要能從(cong) 信號中找出一個(ge) 比特位位來。
已知發送數據位0x55020000, 0x55 的2進製位為(wei) 10101010。
如圖任意選取一比特位,用光標測量可得,時間為(wei) :1.074us, 頻率位:930.909kHZ, 最接近的波特率為(wei) :921600, 所以所測信號的波特率為(wei) 926100。