該視頻的目的是演示I2C通信解碼的測試,我們會用這個設備做一個I2C的控制發送數據,然后同時I2C跟一個I2C的芯片通信同時用示波器。 我們用的是A02的這個設備。其他的設備示波器是類似的,軟件都相同。
1.png (121.34 KB, 下載次數: 123)
下載附件
2021-2-9 21:30 上傳
用兩個通道,通道A連接到SCL時鐘線,通道B連接到SDA數據線。當然還需要連接接地線。我們測試的I2C模塊是3.3v電平邏輯,因此都使用X1齒輪作為探針。我們可能不清楚SCL和SDA之間的區別,并且可以反向連接,但這并不重要。我們只需要在解碼時交換探針即可。我們已經連接了所需的測試環境之后,再次檢查一下。 我們可以預先打開I2C解碼功能。當然,也可以在采集波形后打開解碼功能。我們檢查解碼設置是否正確 A通道為SCL, B通道為SDA。LOTO示波器的觸發位于通道A上,因此我們打開通道A的觸發功能。我們選擇單個觸發,這方便我們在捕獲一組數據進行分析和解碼后停止,F在示波器正在等待滿足觸發電平條件的信號進入。這是I2C模塊的主機軟件,我們用它發送一組數據,以下是已發送數據的內容 0X22 0X34 X056 0X78 ...停止設備時 我們可以瀏覽緩沖區中波形數據的完整圖片。
2.png (88.42 KB, 下載次數: 101)
下載附件
2021-2-9 21:30 上傳
對于相同的I2C數據,如果選擇不合適的時間標度,例如過大的時間標度,即使使用時間軸的縮放,也無法在合理的狀態下縮放。所以遇到解碼失敗應該打更小的時間檔位。比如再發一組,多放一些數據,跟前面的做區別。會發現它既捕捉,解碼也成功了,因為是合適的,就是檔位和I2C的速率是合適的。一個準則就是人眼能看清高低電平,剛剛發的65 現在44 55 66 77 88 99 98,這些都發了。 現在使用的是100k HZ的工作頻率,I2C的工作頻率換成400k,升高I2C的速度。那我們現在再單次觸發,然后發送同樣的數據,然后你可以看到捕捉到了。還是這樣子。
3.png (102.97 KB, 下載次數: 120)
下載附件
2021-2-9 21:30 上傳
數據400k 捕捉到的0IC2地址。如圖所示,121A 3 4 5 6 7 8 9 0,然后我們現在升高到800K,最高到800k的。同樣把相應的時間檔位升高、調小,這樣能看到更高的頻率。 我們先不調小先看一下不調的話,會是怎么樣子。這是800k hz的工作頻率,看一下,它的數據也是對的,已經抓到并且解碼出來了。
4.png (128.93 KB, 下載次數: 117)
下載附件
2021-2-9 21:30 上傳
假如說接反了,SCl其實你接的是B通道。那你這樣子看是解碼不出來的,就是它的數據剛好相反,這種情況下是解碼不出來的。 詳情參考b站視頻: https://www.bilibili.com/video/BV18A411v7hy?from=search&seid=4581274521243909248
|