介紹
本應用筆記介紹了如何使用PicoScope混合信號示波器(MSO)調試控制ADI公司AD5325 Quad DAC的I2C總線。 MSO有兩個模擬輸入通道,它們連接到Quad DAC的CH A和CH B輸出。該儀器還有16個數字輸入通道。在此應用中,僅使用兩個數字輸入通道D0和D1,連接到SDA串行數據線和I2C總線的SCL串行時鐘線。

圖1:探針連接

1.1模擬顯示
圖2顯示了PicoScope MSO的屏幕顯示。數據來自I2C總線數據傳輸。顯示屏分為三個面板:上面板顯示兩個模擬通道A和B以及I2C總線傳輸數據的概述。中間面板顯示兩個數字通道D0和D1,下面板顯示I2C解碼數據。 上面的藍色曲線顯示CH A輸出電壓從1.9 V切換到0.6 V.使用儀器上提供的光標可以更準確地讀取這些電壓值(圖3)。電壓階躍發生的時間點是I2C數據的第三個字節的結束。接下來是確認位和另一次傳輸。 較低的紅色曲線顯示CH B輸出電壓電平從1.9 V切換到0.6 V.此波形的垂直比例因子在顯示屏的右側以紅色顯示。同樣,電平切換時的實際點是DAC已經接收到三個數據字節。

1.2I2C數據概述
在模擬波形的正下方,顯示兩個I2C數據傳輸的概述。每次轉移包含: 1.START條件。 2.DAC地址。 3.通道地址的數據字節。 4.通道DAC值的兩個數據字節。 5.停止條件。

圖2:雙通道I2C數據傳輸 圖3:使用XY光標顯示測量開關幅度和時間

2.中間面板
該面板顯示I2C總線的SDA串行數據和SCL串行時鐘線上的原始數字數據。此顯示將顯示數據是否發生任何錯誤,這可能是由于噪音或其他信號的干擾造成的。 如果總線的協議應用于每個數據字節,則可以從該顯示器手動解碼I2C命令,但這將是費力的并且容易發生錯誤。使用PicoScope提供的I2C解碼速度要快得多,如下圖所示。


3.下面板
該面板是解碼的I2C串行協議顯示器。為了更清楚地了解這些數據(圖5)。
第一列是PicoScope分配的數據包編號:在這種情況下,有12個地址和數據字節數據包加上啟動/停止條件。
第二列顯示數據包或事件的類型:地址,數據,啟動或停止。
第三列是解碼地址,在這種情況下是0C,它是DAC的地址。
下一列定義數據是讀還是寫。在這種情況下,兩次傳輸都是寫入。
第五列顯示解碼數據。在這種情況下,第一個數據字節01表示DAC的CH A,而2C和11表示要發送到DAC以請求1880 mV的新輸出電平的數據(2C11)。
字節9和10示出了用數據02選擇CH B,并且接下來的兩個字節請求不同的輸出電平(2C23)。
第六列顯示每個地址和數據傳輸都已得到確認。
最后兩列表示每次轉移的時間。
見參考。1(附錄B - 參考資料),詳細介紹AD5325 DAC預期的數據格式。


4.導出數據
解碼后的I2C數據可以導出到Excel電子表格,如圖5所示。 圖4的結果:

圖4:導出的I2C數據

5.公交車時間
總線時序測量可以自動進行,也可以用光標手動進行。圖4說明了使用游標來測量數據傳輸過程中的事件時間。光標測量CH A和CH B電壓切換到較低電壓電平之間的時間。測得為1.4毫秒。 可以利用來自解碼數據的定時自動地進行類似的結果。這可以在圖3和圖5中顯示的相同數據中看到。


6.觸發點
儀器可以在CH A上捕獲的模擬切換邊沿上觸發,但在這種情況下,觸發條件設置是在數字通道D0切換到高電平時(圖5)。 圖6顯示了第一次數據傳輸發生時觸發點(t = 0),這是第一個“開始”命令。

圖5:在D0的上升沿設置數字觸發 圖6:多個I2C數據包傳輸

7.獲得多個I2C塊傳輸
在更復雜的系統中,我們可能希望獲得多個I2C數據傳輸塊。這可以使用串行解碼窗口中的Accumulate選項來完成。我們還將看到PicoScope如何將采集存儲器分成1到10,000個緩沖區。每次發生有效的觸發條件時,記錄將存儲在新的緩沖區中。 圖6說明了更復雜的數據傳輸序列。串行解碼面板中的“累計”按鈕已打開,因此以藍色突出顯示。在該測試中,獲得5個緩沖液,如頂部工具欄中所示。左側和右側雙箭頭使我們能夠選擇顯示哪個緩沖區:顯示當前緩沖區5。 捕獲的序列是針對五種不同輸出電壓電平的五次觸發I2C數據傳輸。表1列出了兩個DAC請求的輸出電壓電平序列。 圖5顯示了為五次傳輸捕獲和解碼的命令序列。 例如,將CH A輸出電平切換為1.015 V的命令是第三個緩沖區中的數據傳輸:

圖7:I2C數據傳輸的順序

8.檢查波特率
通過啟用“視圖”菜單中的選項,可以在解碼窗口中顯示數據傳輸的波特率。也可以通過放大數字波形顯示來檢查它。該傳輸的波特率為89 kbaud,數字時鐘D0波形上的delta光標測量值為11.5μs。

圖8:使用光標自動測量波特率

9.結論
現在許多電路都包含模擬和數字組件,因此需要可以獲取數字和模擬信號的測試設備。然后,必須在顯示窗口上同步這些數據,以便進行深入分析,以找出硬件或軟件中的任何故障情況。