《電子技術應用》
您所在的位置:首頁 > 測試測量 > 解決方案 > 如何使用帶有I2C和SPI解碼的示波器排查系統(tǒng)問題

如何使用帶有I2C和SPI解碼的示波器排查系統(tǒng)問題

2024-05-15
來源:泰克科技
關鍵詞: 泰克科技 SPI 示波器

  大多數基于微控制器的設計都使用I2C或SPI,或兩者兼用,來實現控制器之間以及控制器與外圍芯片之間的通信。當芯片發(fā)送特定的I2C或SPI數據包時,能夠看到嵌入式系統(tǒng)內部的操作對于排除故障至關重要。許多管理相對較慢參數的芯片,如溫度傳感器、電機控制器、人機界面或電源管理等,都將這些總線作為與系統(tǒng)其他部分通信的主要手段。其他高速芯片,如通信集成電路、時鐘和模數轉換器,通常也通過這些總線進行配置。例如,在電源啟動后排查冷卻風扇問題時,查看發(fā)送到風扇控制器集成電路的SPI命令的時序和結構,以及風扇的驅動信號和電源,可能會有所幫助。

  I2C和SPI總線定義明確且相對穩(wěn)健,但仍然可能受到噪聲、板級布局、復位問題以及實現上的微妙差異的影響。這些問題有時可能導致總線錯誤和鎖定。配備解碼功能的示波器能夠同時顯示總線數據和總線信號的狀態(tài)。

  I2C

  I2C,或“Inter-IntegratedCircuit”(集成電路間通信),最初是在1980年代初由飛利浦(Philips)開發(fā)的,旨在提供一種低成本的方式連接控制器和外圍芯片。自那以后,它已經發(fā)展成為嵌入式系統(tǒng)中設備間通信的全球標準。這種簡單的雙線設計被廣泛應用于各種芯片中,如輸入/輸出模擬/數字轉換器、數字/模擬轉換器、溫度傳感器、微控制器和微處理器,包括眾多領先芯片制造商的產品,如ADI、Atmel、Infineon、Cypress、Intel、Maxim、NXP、SiliconLabs、ST、TI等。

屏幕截圖 2024-05-15 160352.png

  I2C的物理雙線接口由雙向串行時鐘線(SCL)和數據線(SDA)組成。I2C支持總線上多個主設備和從設備,但任一時間內只能有一個主設備處于活動狀態(tài)。任何I2C設備都可以連接到總線上,允許任何主設備與從設備交換信息。每個設備通過唯一的地址進行識別。設備根據其功能可以作為發(fā)送器或接收器。支持三種比特率:100kb/s(標準模式)、400kb/s(快速模式)和3.4Mb/s(高速模式)。設備的最大數量由最大電容400pF決定,大約為20-30個設備。

屏幕截圖 2024-05-15 160427.png

  有兩種方法可以對I2C地址進行分組以進行解碼:一種是7位加上一個讀寫(R/W)位方案,另一種是8位(一個字節(jié)),其中R/W位作為地址的一部分。7位地址方案是固件和軟件設計工程師遵循的指定I2C標準。但許多其他工程師使用8位地址方案。Tektronix示波器可以解碼這兩種方案中的數據。

  設置I2C總線解碼

  在Tektronix示波器上,按下面板上的總線按鈕,可以定義輸入到示波器的信號作為一個總線。通過簡單地定義哪些通道上有時鐘和數據,以及用于確定邏輯一和零的數字閾值,您可以使示波器理解跨總線傳輸的協議。

屏幕截圖 2024-05-15 160456.png

  解讀I2C總線

  時間相關的波形和總線解碼顯示對許多硬件工程師來說是一個熟悉且有用的格式。解碼后的總線波形顯示了一個I2C消息的元素。

屏幕截圖 2024-05-15 160535.png

  對于固件工程師來說,結果表格(ResultsTable)格式可能更有用。這種帶時間戳的總線活動顯示可以輕松地與軟件列表進行比較,并且允許輕松計算執(zhí)行速度。

  結果表還提供了回到波形顯示的鏈接。您可以在表格顯示中點擊一行,示波器會自動放大對應的總線信號,并在屏幕的下半部分顯示結果解碼的總線波形。

屏幕截圖 2024-05-15 160607.png

  在I2C總線上觸發(fā)

  在基于一個或多個串行總線的系統(tǒng)調試中,示波器的一個關鍵能力是能夠隔離并捕獲特定事件的總線觸發(fā)。當總線觸發(fā)被正確設置后,示波器將捕獲所有輸入信號,并且一個指定的總線事件將被定位在觸發(fā)點。這個例子展示了在地址0x50和數據0x00上觸發(fā)。

屏幕截圖 2024-05-15 160641.png

  在I2C總線上搜索

  在Tektronix示波器上,您可以使用自動化的Wave Inspector搜索功能找到所有符合搜索條件的總線事件,并確定它們發(fā)生的次數。設置類似于總線觸發(fā)設置,允許示波器找到并標記所有指定的總線事件。在這個例子中,自動搜索正在尋找數據值0x16。這個數據值在獲取的波形中只出現一次,串行數據包的位置用粉紅色括號圖標顯示。

  SPI

  串行外設接口總線(SPI)最初由摩托羅拉在1980年代末為其68000系列微控制器開發(fā)。由于該總線的簡單性和受歡迎程度,多年來許多其他制造商也采用了這一標準。它現在被廣泛應用于嵌入式系統(tǒng)設計中常用的各種組件中。SPI主要用于微控制器及其直接外圍設備之間。它在手機和其他移動設備中很常見,用于CPU、鍵盤、顯示屏和內存芯片之間的數據通信。

  工作原理

  SPI總線是一個主/從四線串行通信總線。這四個信號是時鐘(SCLK)、主輸出/從輸入(MOSI)、主輸入/從輸出(MISO)和從選擇(SS)。每當兩個設備通信時,一個被稱為“主設備”,另一個被稱為“從設備”。主設備驅動串行時鐘。數據的發(fā)送和接收是同時進行的,使其成為一個全雙工協議。

屏幕截圖 2024-05-15 160719.png

  與在總線上的每個設備擁有唯一地址不同,SPI使用SS線來指定數據是傳輸給哪個設備或來自哪個設備。因此,總線上的每個獨特設備都需要從主設備獲得自己的SS信號。如果有3個從設備,就有3個SS信號從主設備到每個從設備。

  SPI也可以用從設備級聯的方式接線,每個從設備依次執(zhí)行操作,然后將結果發(fā)送回主設備(這可以用來驗證數據路徑的完整性)。

  在某些情況下,如果從設備到主設備的通信不是必需的,MISO信號可能會被完全省略。在其他情況下,只有一個主設備和一個從設備,SS信號被接地。這通常被稱為2線SPI。

  當發(fā)生SPI數據傳輸時,一個8位數據字在MOSI上移出,同時在MISO上移入另一個8位數據字。這可以被視為一個16位的循環(huán)移位寄存器。當傳輸發(fā)生時,這個16位移位寄存器移動8個位置,因此交換了主從設備之間的8位數據。一對寄存器,時鐘極性(CPOL)和時鐘相位(CPHA),決定了數據在哪個時鐘邊沿上被驅動。每個寄存器有兩個可能的狀態(tài),這允許四種可能的組合,所有這些組合彼此不兼容。因此,主/從設備對必須使用相同的參數值進行通信。如果使用了不同配置的多個從設備,主設備每次需要與不同的從設備通信時都必須重新配置自己。

  設置SPI總線解碼

屏幕截圖 2024-05-15 163343.png

  在這個例子中,SPI信號通過示波器上的模擬通道(通道1、通道2和通道3)上的無源探頭被捕獲。數字通道也可以用于總線解碼。使用總線配置菜單,您可以通過指定連接到時鐘、數據和從選擇信號的通道、閾值、極性和字大小來定義SPI總線。

屏幕截圖 2024-05-15 160949.png

  解讀SPI總線

  通過將顯示模式設置為“總線和波形”,可以快速驗證每個輸入信號的數字解釋(模擬信號與相應閾值電壓的比較)。這些數字信號(綠色表示高電平,藍色表示低電平)然后根據SPI協議進行解釋。當正確設置時,示波器可以顯示解碼結果。

  通過對SPI總線上的通信事件進行解碼,可以輕松識別數據傳輸的開始和結束,以及傳輸的具體數據內容。這對于調試SPI通信、驗證數據完整性及識別潛在的通信問題至關重要。

屏幕截圖 2024-05-15 161205.png

  考慮一個使用級聯SPI架構的示例系統(tǒng)。這個子系統(tǒng)控制一個電壓控制振蕩器(VCO),為系統(tǒng)的其余部分提供射頻時鐘。VCO通過主CPU寫入六個24位字來初始化。信號似乎滿足SPI的電氣規(guī)范,但VCO沒有產生正確的頻率。

  結果表視圖可以用來檢查VCO的初始化。示波器可以設置為在SPI從選擇信號變?yōu)榛顒訝顟B(tài)時觸發(fā)。當系統(tǒng)上電時,示波器將捕獲并顯示初始化序列。

  在SPI總線上觸發(fā)

  在上面的例子中,我們使用了一個簡單的SS活動觸發(fā)。Tektronix示波器中的完整SPI觸發(fā)能力包括以下類型:

屏幕截圖 2024-05-15 161408.png

  這些觸發(fā)器允許您隔離并捕獲您感興趣的特定總線流量,而解碼功能使您能夠立即看到傳輸過總線的每條消息的內容。

屏幕截圖 2024-05-15 161503.png

  在SPI總線上搜索

  為了找到符合特定搜索條件的所有總線事件,可以使用自動化的Wave Inspector搜索功能。設置類似于總線觸發(fā)設置,并將找到并標記所有指定的總線事件。在這個例子中,自動搜索正在尋找24位數據值0x00002X。這個數據值在獲取的波形中出現了23次。前面板的導航箭頭按鈕可以輕松在標記的事件之間導航。顯示底部附近的粉紅色括號圖標顯示了指定的一個串行數據包的位置。




更多精彩內容歡迎點擊==>>電子技術應用-AET<<

3bff459604b6c9954731105876ec40d.jpg

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。