如何使用帶有I2C和SPI解碼的示波器排查係統問題
發布時間:2024-05-14 責任編輯:lina
【導讀】大多數基於微控製器的設計都使用I2C或SPI,或兩者兼用,來實現控製器之間以及控製器與外圍芯片之間的通信。當芯片發送特定的I2C或SPI數據包時,能夠看到嵌入式係統內部的操作對於排除故障至關重要。許多管理相對較慢參數的芯片,如溫度傳感器、電機控製器、人機界麵或電源管理等,都將這些總線作為與係統其他部分通信的主要手段。其他高速芯片,如通信集成電路、時鍾和模數轉換器,通常也通過這些總線進行配置。例如,在電源啟動後排查冷卻風扇問題時,查看發送到風扇控製器集成電路的SPI命令的時序和結構,以及風扇的驅動信號和電源,可能會有所幫助。
大多數基於微控製器的設計都使用I2C或SPI,或兩者兼用,來實現控製器之間以及控製器與外圍芯片之間的通信。當芯片發送特定的I2C或SPI數據包時,能夠看到嵌入式係統內部的操作對於排除故障至關重要。許多管理相對較慢參數的芯片,如溫度傳感器、電機控製器、人機界麵或電源管理等,都將這些總線作為與係統其他部分通信的主要手段。其他高速芯片,如通信集成電路、時鍾和模數轉換器,通常也通過這些總線進行配置。例如,在電源啟動後排查冷卻風扇問題時,查看發送到風扇控製器集成電路的SPI命令的時序和結構,以及風扇的驅動信號和電源,可能會有所幫助。
I2C和SPI總線定義明確且相對穩健,但仍然可能受到噪聲、板級布局、複(fu)位(wei)問(wen)題(ti)以(yi)及(ji)實(shi)現(xian)上(shang)的(de)微(wei)妙(miao)差(cha)異(yi)的(de)影(ying)響(xiang)。這(zhe)些(xie)問(wen)題(ti)有(you)時(shi)可(ke)能(neng)導(dao)致(zhi)總(zong)線(xian)錯(cuo)誤(wu)和(he)鎖(suo)定(ding)。配(pei)備(bei)解(jie)碼(ma)功(gong)能(neng)的(de)示(shi)波(bo)器(qi)能(neng)夠(gou)同(tong)時(shi)顯(xian)示(shi)總(zong)線(xian)數(shu)據(ju)和(he)總(zong)線(xian)信(xin)號(hao)的(de)狀(zhuang)態(tai)。
I2C
I2C,或“Inter-IntegratedCircuit”(集成電路間通信),最初是在1980年代初由飛利浦(Philips)kaifade,zhizaitigongyizhongdichengbendefangshilianjiekongzhiqihewaiweixinpian。zinayihou,tayijingfazhanchengweiqianrushixitongzhongshebeijiantongxindequanqiubiaozhun。zhezhongjiandandeshuangxianshejibeiguangfanyingyongyugezhongxinpianzhong,rushuru/輸出模擬/數字轉換器、數字/模擬轉換器、溫度傳感器、微控製器和微處理器,包括眾多領先芯片製造商的產品,如ADI、Atmel、Infineon、Cypress、Intel、Maxim、NXP、SiliconLabs、ST、TI等。
I2C的物理雙線接口由雙向串行時鍾線(SCL)和數據線(SDA)組成。I2C支持總線上多個主設備和從設備,但任一時間內隻能有一個主設備處於活動狀態。任何I2Cshebeidoukeyilianjiedaozongxianshang,yunxurenhezhushebeiyucongshebeijiaohuanxinxi。meigeshebeitongguoweiyidedizhijinxingshibie。shebeigenjuqigongnengkeyizuoweifasongqihuojieshouqi。zhichisanzhongbitelv:100kb/s(標準模式)、400kb/s(快速模式)和3.4Mb/s(高速模式)。設備的最大數量由最大電容400pF決定,大約為20-30個設備。
有兩種方法可以對I2C地址進行分組以進行解碼:一種是7位加上一個讀寫(R/W)位方案,另一種是8位(一個字節),其中R/W位作為地址的一部分。7位地址方案是固件和軟件設計工程師遵循的指定I2C標準。但許多其他工程師使用8位地址方案。Tektronix示波器可以解碼這兩種方案中的數據。
設置I2C總線解碼
在Tektronixshiboqishang,anxiamianbanshangdezongxiananniu,keyidingyishurudaoshiboqidexinhaozuoweiyigezongxian。tongguojiandandidingyinaxietongdaoshangyoushizhongheshuju,yijiyongyuquedingluojiyihelingdeshuziyuzhi,ninkeyishishiboqilijiekuazongxianchuanshudexieyi。
解讀I2C總線
時間相關的波形和總線解碼顯示對許多硬件工程師來說是一個熟悉且有用的格式。解碼後的總線波形顯示了一個I2C消息的元素。
對於固件工程師來說,結果表格(ResultsTable)格式可能更有用。這種帶時間戳的總線活動顯示可以輕鬆地與軟件列表進行比較,並且允許輕鬆計算執行速度。
jieguobiaohaitigonglehuidaoboxingxianshidelianjie。ninkeyizaibiaogexianshizhongdianjiyixing,shiboqihuizidongfangdaduiyingdezongxianxinhao,bingzaipingmudexiabanbufenxianshijieguojiemadezongxianboxing。
在I2C總線上觸發
在zai基ji於yu一yi個ge或huo多duo個ge串chuan行xing總zong線xian的de係xi統tong調tiao試shi中zhong,示shi波bo器qi的de一yi個ge關guan鍵jian能neng力li是shi能neng夠gou隔ge離li並bing捕bu獲huo特te定ding事shi件jian的de總zong線xian觸chu發fa。當dang總zong線xian觸chu發fa被bei正zheng確que設she置zhi後hou,示shi波bo器qi將jiang捕bu獲huo所suo有you輸shu入ru信xin號hao,並bing且qie一yi個ge指zhi定ding的de總zong線xian事shi件jian將jiang被bei定ding位wei在zai觸chu發fa點dian。這zhe個ge例li子zi展zhan示shi了le在zai地di址zhi0x50和數據0x00上觸發。
在I2C總線上搜索
在Tektronix示波器上,您可以使用自動化的Wave Inspector搜sou索suo功gong能neng找zhao到dao所suo有you符fu合he搜sou索suo條tiao件jian的de總zong線xian事shi件jian,並bing確que定ding它ta們men發fa生sheng的de次ci數shu。設she置zhi類lei似si於yu總zong線xian觸chu發fa設she置zhi,允yun許xu示shi波bo器qi找zhao到dao並bing標biao記ji所suo有you指zhi定ding的de總zong線xian事shi件jian。在zai這zhe個ge例li子zi中zhong,自zi動dong搜sou索suo正zheng在zai尋xun找zhao數shu據ju值zhi0x16。這個數據值在獲取的波形中隻出現一次,串行數據包的位置用粉紅色括號圖標顯示。
SPI
串行外設接口總線(SPI)最初由摩托羅拉在1980年代末為其68000係xi列lie微wei控kong製zhi器qi開kai發fa。由you於yu該gai總zong線xian的de簡jian單dan性xing和he受shou歡huan迎ying程cheng度du,多duo年nian來lai許xu多duo其qi他ta製zhi造zao商shang也ye采cai用yong了le這zhe一yi標biao準zhun。它ta現xian在zai被bei廣guang泛fan應ying用yong於yu嵌qian入ru式shi係xi統tong設she計ji中zhong常chang用yong的de各ge種zhong組zu件jian中zhong。SPI主要用於微控製器及其直接外圍設備之間。它在手機和其他移動設備中很常見,用於CPU、鍵盤、顯示屏和內存芯片之間的數據通信。
工作原理
SPI總線是一個主/從四線串行通信總線。這四個信號是時鍾(SCLK)、主輸出/從輸入(MOSI)、主輸入/從輸出(MISO)和從選擇(SS)。每當兩個設備通信時,一個被稱為“主設備”,另一個被稱為“從設備”。主設備驅動串行時鍾。數據的發送和接收是同時進行的,使其成為一個全雙工協議。
與在總線上的每個設備擁有唯一地址不同,SPI使用SS線來指定數據是傳輸給哪個設備或來自哪個設備。因此,總線上的每個獨特設備都需要從主設備獲得自己的SS信號。如果有3個從設備,就有3個SS信號從主設備到每個從設備。
SPI也可以用從設備級聯的方式接線,每個從設備依次執行操作,然後將結果發送回主設備(這可以用來驗證數據路徑的完整性)。
在某些情況下,如果從設備到主設備的通信不是必需的,MISO信號可能會被完全省略。在其他情況下,隻有一個主設備和一個從設備,SS信號被接地。這通常被稱為2線SPI。
當發生SPI數據傳輸時,一個8位數據字在MOSI上移出,同時在MISO上移入另一個8位數據字。這可以被視為一個16位的循環移位寄存器。當傳輸發生時,這個16位移位寄存器移動8個位置,因此交換了主從設備之間的8位數據。一對寄存器,時鍾極性(CPOL)和時鍾相位(CPHA),決定了數據在哪個時鍾邊沿上被驅動。每個寄存器有兩個可能的狀態,這允許四種可能的組合,所有這些組合彼此不兼容。因此,主/從cong設she備bei對dui必bi須xu使shi用yong相xiang同tong的de參can數shu值zhi進jin行xing通tong信xin。如ru果guo使shi用yong了le不bu同tong配pei置zhi的de多duo個ge從cong設she備bei,主zhu設she備bei每mei次ci需xu要yao與yu不bu同tong的de從cong設she備bei通tong信xin時shi都dou必bi須xu重zhong新xin配pei置zhi自zi己ji。
設置SPI總線解碼
在這個例子中,SPI信號通過示波器上的模擬通道(通道1、通道2和通道3)上的無源探頭被捕獲。數字通道也可以用於總線解碼。使用總線配置菜單,您可以通過指定連接到時鍾、數據和從選擇信號的通道、閾值、極性和字大小來定義SPI總線。
解讀SPI總線
通過將顯示模式設置為“總線和波形”,可以快速驗證每個輸入信號的數字解釋(模擬信號與相應閾值電壓的比較)。這些數字信號(綠色表示高電平,藍色表示低電平)然後根據SPI協議進行解釋。當正確設置時,示波器可以顯示解碼結果。
通過對SPI總線上的通信事件進行解碼,可以輕鬆識別數據傳輸的開始和結束,以及傳輸的具體數據內容。這對於調試SPI通信、驗證數據完整性及識別潛在的通信問題至關重要。
考慮一個使用級聯SPI架構的示例係統。這個子係統控製一個電壓控製振蕩器(VCO),為係統的其餘部分提供射頻時鍾。VCO通過主CPU寫入六個24位字來初始化。信號似乎滿足SPI的電氣規範,但VCO沒有產生正確的頻率。
結果表視圖可以用來檢查VCO的初始化。示波器可以設置為在SPI從選擇信號變為活動狀態時觸發。當係統上電時,示波器將捕獲並顯示初始化序列。
在SPI總線上觸發
在上麵的例子中,我們使用了一個簡單的SS活動觸發。Tektronix示波器中的完整SPI觸發能力包括以下類型:
這些觸發器允許您隔離並捕獲您感興趣的特定總線流量,而解碼功能使您能夠立即看到傳輸過總線的每條消息的內容。
在SPI總線上搜索
為了找到符合特定搜索條件的所有總線事件,可以使用自動化的Wave Inspector搜索功能。設置類似於總線觸發設置,並將找到並標記所有指定的總線事件。在這個例子中,自動搜索正在尋找24位數據值0x00002X。這個數據值在獲取的波形中出現了23次。前麵板的導航箭頭按鈕可以輕鬆在標記的事件之間導航。顯示底部附近的粉紅色括號圖標顯示了指定的一個串行數據包的位置。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 芯科科技Tech Talks與藍牙亞洲大會聯動,線上線下賦能物聯網創新
- 冬季續航縮水怎麼辦?揭秘熱管理係統背後的芯片力量
- 從HDMI 2.1到UFS 5.0:SmartDV以領先IP矩陣夯實邊緣計算基石
- 小空間也能實現低噪供電!精密測量雙極性電源選型指南,覆蓋小功率到大電流全場景
- 直擊藍牙亞洲大會 2026:Nordic 九大核心場景演繹“萬物互聯”新體驗
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall















