產(chǎn)品名稱:SPI總線測試協(xié)議解碼
產(chǎn)品型號:
更新時間:2024-08-18
產(chǎn)品簡介:
SPI總線測試協(xié)議解碼。孕龍科技所推出的I2C-SPI Control Center,透過軟件設(shè)定可I2C-SPI Control Center來模擬I2C或SPI之間裝置(Master Device及Slave Device)傳輸狀況,且產(chǎn)品本身所擁有的Batch Mode(批次執(zhí)行模式)更可加強待測電路分析功能或滿足產(chǎn)線測試需求。
專業(yè)儀器設(shè)備和測試方案供應商——上海堅融實業(yè)有限公司JETYOO INDUSTRIAL & 堅友(上海)測量儀器有限公司JETYOO INSTRUMENTS,由前安捷倫Agilent【現(xiàn) 是德KEYSIGHT】產(chǎn)品——堅 JET 和 吉時利KEITHLEY【現(xiàn) 泰克Tektronix】產(chǎn)品忠實用戶使用工程師——融 YOO于2011年共同創(chuàng)立,志在*電子測量行業(yè)代理經(jīng)銷商只專業(yè)做商務(wù)銷售,不專業(yè)做售前測試方案,不專業(yè)做售后使用培訓的空白。
SPI總線測試協(xié)議解碼方法技巧
在數(shù)位電子電路領(lǐng)域內(nèi),當裝置與裝置間需要進行通信連接時,往往會透過總線來進行數(shù)據(jù)傳輸,在這當中又以I2C(Inter integrated Circuit)以及SPI(Serial Peripheral interface)在電子領(lǐng)域中使用較為頻繁。
孕龍科技所推出的I2C-SPI Control Center,透過軟件設(shè)定可I2C-SPI Control Center來模擬I2C或SPI之間裝置(Master Device及Slave Device)傳輸狀況,且產(chǎn)品本身所擁有的Batch Mode(批次執(zhí)行模式)更可加強待測電路分析功能或滿足產(chǎn)線測試需求。
接著我們將逐一說明各項功能來了解I2C-SPI Control Center。
I2C(Inter integrated Circuit)Mode
這是一款由Philips在1980年代為了讓主板、嵌入式系統(tǒng)或手機連接周邊裝置而所研發(fā)制定的一種總線,因其構(gòu)架簡便容易操作,所以演變至今成為各種不同設(shè)備裝置間的界面標準。I2C使用兩條信號線做雙向數(shù)據(jù)傳輸(Serial Data及Serial Clock),接下來將透過測量EEPROM 24LS02來進行功能介紹。
將I2C-SPI Control Center的SDA及SCL連接至待測端的SDA及SCL,開啟I2C-SPI Control Cen-ter軟件后可看到如圖一的軟件界面。
I2C-SPI Control Center
圖一:I2C-SPI Control Cente軟件視窗
待驅(qū)動程序安裝完成后,可在視窗上方的Select Device下拉菜單中選擇已安裝的I2C-SPI ControlCenter,接著點選右方的『聯(lián)機』按鈕即可進行操作設(shè)定。
首先,在I2C模式下操作I2C Master。先設(shè)定Slave Address=0X50、Bit Rate=2KHz及Master端的寫入數(shù)據(jù)為0X00、0X11、0X22、0X33、0X44、0X55、0X66、0X77、0X88、0X99、0XAA、
0XBB、0XCC、0XDD、0XEE及0XFF,設(shè)定完畢后可點選右方的寫入按鈕來進行信號發(fā)送。動作完成后隨即可在下方Log視窗中看到相關(guān)訊息,如圖二所示。
Log視窗
圖二:I2C-SPI Control Center Log視窗
寫入
圖三:使用孕龍邏輯分析儀擷取狀況
1
2
圖三中的方塊1為I2C Clock,可清楚看出目前I2C總線中的Bit Rate為2KHz,方塊2為寫入數(shù)據(jù)的表示。
搭配上孕龍邏輯分析儀更可清楚表示出,此一數(shù)據(jù)寫入的動作狀況。
圖四
讀取
操作讀取功能時,方法與寫入功能大致相同,在軟件視窗中可先設(shè)定讀取字節(jié)數(shù)。預設(shè)值為5Bytes,在這邊將讀取字節(jié)更改為20 Bytes后點下右方的讀取即可進行動作。
同樣的搭配孕龍邏輯分析儀可看出I2C-SPI Control Center讀回的數(shù)據(jù)內(nèi)容。
圖五:使用孕龍邏輯分析儀記錄I2C數(shù)據(jù)內(nèi)容
名稱說明
Time
可顯示此筆信息出現(xiàn)的時間日期表示當下所操作的模式,共分為I2C、SPI及GPIO顯示該筆信息是由Master De-vice發(fā)出或是Slave Device發(fā)出Mode
M/S
R/W
顯示此筆數(shù)據(jù)為讀取動作
(Read)或?qū)懭雱幼鳎╓rite)
Bit Rate表示總線數(shù)據(jù)傳輸速率
Address表示總線位址
Length
表示總線數(shù)據(jù)字節(jié)
(Data Bytes)數(shù)量
Data可顯示出詳細數(shù)據(jù)數(shù)值
圖六:Log視窗
Tip:在I2C-SPI Control Center Log中點擊信息,可將該信息展該如圖六所示
I2C-SPI Control Center還可以進行Slave裝置模擬,可自行設(shè)定當Master端下讀取命令時Slave響應的數(shù)據(jù)內(nèi)容。
響應數(shù)據(jù)內(nèi)容
圖七:I2 C Slave設(shè)定畫面
SPI(Serial Peripheral interface)
是由Motorola為能在全雙工方式下進行列表數(shù)據(jù)傳輸所制定的一種標準界面,采用主/從裝置方式傳輸,一個主裝置可同時與多個從裝置連接。此時主裝置便透過Slave select(chip select)來選擇欲溝通的從裝置。依照不同的應用環(huán)境SPI匯流排可操作在四線式狀態(tài)下(SCLK、MOSI、MISO、SS),這個時候SPI可擁有全雙工能力。在三線式狀態(tài)下(SCLK、DATA、SS)則是半雙工方式,若連接環(huán)境較為單純時,則可衍生出兩線式狀態(tài)(SCLK、DATA),此時SPI總線上僅只有一個主裝置及一個從裝置。
在I2C SPI Control Center軟件中切換至SPI Mode便可開始操作,在軟件視窗中可以設(shè)定SPI總線的取樣模式。SPI總線定義了四種模式分別為模式0、1、2、3,是由Clock Phase及Clock Polar-ity組合而成,圖八說明了SPI Clock在不同SPI模式下對Data取樣位置。
圖八:SPI總線模式取樣點說明(圖中波形為Clock pulse,紅色邊緣為取樣位置)
圖九:SPI Master設(shè)定畫面
設(shè)定Master
傳送數(shù)據(jù)內(nèi)容
設(shè)定取樣參數(shù)
設(shè)定高低位
傳送方向及SS
動作極性
設(shè)定傳輸速率
在SPI Master界面中尚可設(shè)定其他的參數(shù),如數(shù)據(jù)高低位傳送方向(Bit Order數(shù)據(jù)傳輸速率(Bit Rate)及SS動作極性(SS Polarity)。
如同操作I2C Mode般,在SPI Mode中也支持SPI Slave裝置模擬,使用者可設(shè)定Slave裝置響應的內(nèi)容來測試Master端反應狀況。
圖十:SPI Slave設(shè)定畫面
當環(huán)境設(shè)定完成后按下寫入功能時,便可依照設(shè)定數(shù)據(jù)內(nèi)容進行SPI總線數(shù)據(jù)發(fā)送。搭配邏輯分析儀可明顯看出主/從裝置數(shù)據(jù)傳輸狀況。
圖十一:孕龍邏輯分析儀記錄SPI數(shù)據(jù)內(nèi)容
GPIO(Generator Purpose Input / Output)
GPIO為通用型輸入輸出界面的簡稱,常出現(xiàn)在MCU上(Micro Control Unit,微控制器),使用者可自行定義GPIO內(nèi)每一根腳位為輸入狀態(tài)或是輸出狀態(tài)。
在I2C-SPI Control Center中亦支持此種模式,能夠提供8 Bits GPIO進行操作,使用者可自定每一支腳位的輸入/輸出狀態(tài),下圖為I2C-SPI Control Center GPIO Mode的設(shè)定畫面。
圖十二:I2C-SPI Control Center GPIO Mode
Direction:選擇每一bit為輸入/輸出
狀態(tài)
Pull Up:選擇I/O是否開啟上升電阻(阻值約30K歐母)
Out Set: Output時
所輸出的數(shù)據(jù)狀態(tài)
設(shè)定
In Value: Input時所
接收的數(shù)據(jù)狀態(tài)
I2C-SPI Control Center為孕龍科技所推出的新產(chǎn)品,能夠依照需求進行I2C、SPI裝置信號模擬,也能夠透過GPIO來發(fā)送/接收數(shù)據(jù)。同時除了上述三種模式之外,I2C-SPI Control Center擁有I2C、SPI觸發(fā)功能,所支持的Batch模式可以更加靈活的模擬裝置反應,下期將針對I2C / SPI Trigger及Batch模式進行深入的介紹。
切換GPIO模式
I2C,SPI總線協(xié)議測試分析方法技巧SPI總線測試協(xié)議解碼
孕龍科技所推出的新產(chǎn)品I2C-SPI Control Center,能夠依照需求進行I2C、SPI裝置信號模擬。
I2C-SPI Control Center擁有I2C、SPI觸發(fā)功能以及所支持的Batch Mode(批次執(zhí)行模式)可以更加靈活的模擬裝置反應。
當I2C-SPI進行通信時,往往傳輸?shù)臄?shù)據(jù)封包十分龐大。對分析儀器而言,此時觸發(fā)功能便顯得十分重要。越強大的觸發(fā)功能可幫助使用者在繁雜數(shù)據(jù)封包內(nèi)準確找出欲分析的位置。
孕龍科技所推出的I2C-SPI Control Center,使用I2C / SPI Trigger功能可I2C-SPI數(shù)值來進行觸發(fā),且產(chǎn)品本身所擁有的Batch Mode(批次執(zhí)行模式)更可完整模擬待測電路分析時所需要的動作功能需求。
接下來將開始介紹I2C-SPI Control Center - I2C-SPI Trigger以及Batch Mode。
I2C-SPI Control Center
圖一:I2C-SPI Control Center軟件視窗
開啟I2C-SPI Control Center操作軟件后可看到圖一視窗表示,接著選擇I2C Trigger頁簽進行I2C Trigger條件設(shè)定。
I2C Trigger
切換至I2C Trigger后可看到如圖二所示視窗,在此視窗中使用者可依照I2C內(nèi)容進行兩組條件設(shè)定,每一組條件可設(shè)定8個byte,也能夠依照讀取/寫入動作進行設(shè)定。
圖二:I2C Trigger setting視窗
數(shù)據(jù)動作選項:可設(shè)定Write Data、Write Data(1st)、Read Data、Read Data(1st),當選擇Write Data(1st)、Read Data(1st)時,表示僅判斷*個byte數(shù)據(jù)封包。
運算條件:Write Data、Read Data僅可為『=』;Write Data(1st)、Read Data(1st)可設(shè)置『=』、『>』、『<』。
數(shù)據(jù)長度:當長度改變時,數(shù)據(jù)字段元會隨之改變;Write Data(1st),Read Data(1st)僅可為『1』。
數(shù)據(jù)內(nèi)容:可在此字段內(nèi)輸入欲設(shè)定為觸發(fā)條件之數(shù)據(jù)數(shù)值。
Count:觸發(fā)條件達成設(shè)定次數(shù)后再進行觸發(fā)。
Continuity:可設(shè)定2組條件是否要連續(xù)判斷。
致能:當I2C Trigger設(shè)定完成后,點選表示開始動作。
使用I2C Trigger時需將外部開關(guān)『Mode』切換至8 Pin模式。I/O Ctrl為I2C Trigger時觸發(fā)狀態(tài)輸出腳位,輸出信號以轉(zhuǎn)態(tài)方式表示。
圖三:0x11、0x22條件設(shè)定
接下來透過孕龍邏輯分析儀進行I2C Trigger的實際操作,將I2C-SPI Control Center的I/O Ctrl連接至邏輯分析儀A2腳位,A0及A1則連接I2C的SDA及SCL。
同時,在I2C-SPI Control Center - I2C Trigger頁簽中設(shè)定觸發(fā)條件為『寫入』、數(shù)據(jù)數(shù)值為『0x11、0x22』,設(shè)定完成后如圖三所示。
表示*筆觸發(fā)條件數(shù)據(jù)0x11
表示第二筆觸發(fā)條件數(shù)據(jù)0x22
表示透過I2C-SPI Control Center - I2C Trigger所判定觸發(fā)成立的位置由圖四可清楚看見當I2C-SPI Control Center - I2C Trigger判定觸發(fā)成立后在I/O Ctrl將會出現(xiàn)一個
波形轉(zhuǎn)態(tài)。
2
圖四:觸發(fā)完成
設(shè)定完成后點選『致能』,接著開啟孕龍邏輯分析儀軟件,設(shè)定好環(huán)境參數(shù)以及I2C總線譯碼即可開始分析,圖四為觸發(fā)完成結(jié)果。
圖五:SPI Trigger setting視窗
SPI Trigger操作方式與I2C Trigger雷同,開啟I2C-SPI Control Center后選擇SPI Mode,接著切換至SPI Trigger頁簽便可以開始進行設(shè)定,設(shè)定視窗如圖五所示。
數(shù)據(jù)動作選項:可設(shè)定MOSI Data、MOSI Data(1st)、MISO Data、MISO Data(1st),當選擇MOSI Data(1st)、MISO Data(1st)時,表示僅判斷*個byte數(shù)據(jù)封包。
運算條件:MOSI Data、MISO Data僅可為『=』;MOSI Data(1st)、MISO Data(1st)可設(shè)置『=』、『>』、『<』。
數(shù)據(jù)長度:當長度改變時,數(shù)據(jù)字段元會隨之改變;MOSI Data(1st)、MISO Data(1st)僅可為『1』。
數(shù)據(jù)內(nèi)容:可在此字段內(nèi)輸入欲設(shè)定為觸發(fā)條件之數(shù)據(jù)數(shù)值。
Count:觸發(fā)條件達成設(shè)定次數(shù)后再進行觸發(fā)。
Continuity:可設(shè)定2組條件是否要連續(xù)判斷。
致能:當SPI Trigger設(shè)定完成后,點選致能表示開始動作。
接下來透過孕龍邏輯分析儀進行SPI Trigger的實際操作,將I2C-SPI Control Center的5V Ctrl連接至邏輯分析儀A4腳位,A0連接SS、A1及A2連接SPI的MOSI及MISO、A3則連接SPI SCL。
同時,在I2C-SPI Control Center -SPI Trigger頁簽中設(shè)定兩組觸發(fā)條件。*組為『MOSI』、數(shù)據(jù)數(shù)值為『0x11』。第二組為『MISO』、數(shù)據(jù)數(shù)值為『0x01』,并勾選『Continuity』,設(shè)定完成后如
圖六所示。
圖六:MOSI=0x11、MISO=0x01觸發(fā)條件設(shè)定
接著設(shè)定邏輯分析儀環(huán)境以及SPI譯碼模塊,因此次觸發(fā)條件有兩組,故進行判斷時將會依照SS Low Enable狀況作為依據(jù),觸發(fā)完成后的表示如圖七所示。
圖七中左邊方塊為條件一判定成立位置,在這邊可看見SPI總線中包含MOSI=0x11,右邊方塊為條件二判斷成立位置。此時可看見SPI總線中包含MISO=0x01。
圖七:SPI觸發(fā)完成
MOSI=0x11
MISO=0x01
透過Batch Mode可靈活定義數(shù)據(jù)傳送狀態(tài)及內(nèi)容,模擬實際裝置反應。在I2C-SPI Control Center軟件視窗中點選Batch,便可在視窗空白處輸入Batch代碼來設(shè)定I2C-SPI Control Center動作模式,也可以點選鼠標右鍵來加載程序示例檔案。
圖八:Batch Mode
執(zhí)行
Batch模式
ModeStatus=FTXX_I2CMODE //設(shè)定硬件控制模式有FTXX_I2CMODE、FTXX_SPIMODE、
FTXX_GPIOMODE三種控制旗標可供組合使用
I2CFunctionStatus=I2C_I2CMASTER //設(shè)定I2C模式控制旗標,由I2C_I2CMASTER orI2C_I2CSLAVE與I2C_10BITADDR、I2C_COMBINEDFORMAT、I2C_NOSTOP組成I2CBitRate=400 //設(shè)定I2C模式Bit Rate單位KHz。
I2CSlaveAddress=80 //設(shè)定I2C模式Slave Address,支持7 or 11位尋址,輸入數(shù)值格式為10進制。
I2CMasterModeTxData=[00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 1718 19 1a 1b 1c 1d 1e 1f 20 21] //設(shè)定I2C Master模式TX Data,由[與]判斷Data起始與結(jié)束
I2CMasterModeReadByength=10 //設(shè)定I2C Master模式讀取Byte長度
I2CFreeBus=true //設(shè)定I2C模式Free Bus Enabled or Disable
I2CSlaveModeTxByength=10 //設(shè)定I2C Slave模式TX Byte長度
I2CSlaveModeRxByength=10 //設(shè)定I2C Slave模式Rx Byte長度
I2CSlaveRespondData=[00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17
18 19 1a 1b 1c 1d 1e 1f 20 21] //設(shè)定I2C Slave模式Respond Data,由[與]判斷Data起始與結(jié)束
I2CSlaveModeEnabled=true //設(shè)定I2C Slave模式Enabled or Disable
以下為I2C Batch程序示例
紅色字為代碼
代碼輸入完畢后點選視窗旁邊的『執(zhí)行』,便可讓Batch程序開始動作。接著我們透過孕龍邏輯分析儀來驗證Batch程序動作內(nèi)容。
圖九:使用邏輯分析儀擷取I2C Batch程序動作
表示目前I2C Slave Address為0X50。
表示此I2C傳輸速率為400KHz
表示Master寫入數(shù)據(jù)內(nèi)容
表示Master讀取數(shù)據(jù)內(nèi)容
如需增加其他不同的總線動作或是傳輸不同的位址及數(shù)據(jù),僅需在Batch程序字段中增加欲的動作內(nèi)容即可,借此來模擬待測物通信狀態(tài)。
總結(jié)
孕龍科技推出的產(chǎn)品I2C-SPI Control Center是在總線協(xié)定I2C、SPI的基礎(chǔ)上研發(fā)而成,可用來存取I2C-SPI界面總線數(shù)據(jù)并可在數(shù)據(jù)符合條件時送出觸發(fā)信號,或者用GPIO來發(fā)送信號。同時使用者可在Batch模式下通過寫入指令來發(fā)送信號。搭配孕龍邏輯分析儀可以更有效的進行研發(fā)工作。可做快速的分析與快速的問題偵測,以及測量更多的信息,是電子研發(fā)人員、電子測試人員、電子電機學生及個人研究工作室*的工具。