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