1. 協(xié)議解碼
根據(jù)示波器波形顯示進行串行總線手動解碼既耗時又容易出錯。在這一相對簡單的I2C信號中,可能有問題存在。您能輕松找到這個問題嗎?甚至還能說出該信號代表什么嗎?要對該數(shù)據(jù)包進行手動解碼,需尋找到包頭、數(shù)據(jù)位及包尾。利用時鐘狀態(tài)(**)對所有數(shù)據(jù)信號狀態(tài)(藍色)進行對照確認,然后將其轉(zhuǎn)換為十六進制數(shù)值。
圖1:示波器上的I2C信號
在此將手動解碼與自動解碼示例進行比較。只需定義時鐘和數(shù)據(jù)處于哪些通道上以及定義用于確定邏輯值(“1”和“0”)的閾值,就可以讓示波器獲悉正通過總線傳輸?shù)膮f(xié)議。在一瞬間,就可對串行數(shù)據(jù)進行解碼并將其顯示出來,說明總線波形顯示中的起始位、地址位、數(shù)據(jù)位和結(jié)束位。對I2C總線而言,地址值和數(shù)據(jù)值能夠以十六進制方式顯示,或以二進制方式顯示。
圖2:自動I2C解碼