SPI總線測試協(xié)議解碼
- 公司名稱 上海堅融實業(yè)有限公司
- 品牌 其他品牌
- 型號
- 產(chǎn)地
- 廠商性質(zhì) 生產(chǎn)廠家
- 更新時間 2025/3/10 20:13:45
- 訪問次數(shù) 2876
聯(lián)系方式:凌工15000330092 查看聯(lián)系方式
聯(lián)系我們時請說明是化工儀器網(wǎng)上看到的信息,,謝謝!
產(chǎn)地類別 | 國產(chǎn) |
---|
專業(yè)儀器設(shè)備和測試方案供應(yīng)商——上海堅融實業(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è)做售后使用培訓(xùn)的空白。
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ù)。預(yù)設(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響應(yīng)的數(shù)據(jù)內(nèi)容,。
響應(yīng)數(shù)據(jù)內(nèi)容
圖七:I2 C Slave設(shè)定畫面
SPI(Serial Peripheral interface)
是由Motorola為能在全雙工方式下進行列表數(shù)據(jù)傳輸所制定的一種標準界面,,采用主/從裝置方式傳輸,一個主裝置可同時與多個從裝置連接,。此時主裝置便透過Slave select(chip select)來選擇欲溝通的從裝置,。依照不同的應(yīng)用環(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裝置響應(yīng)的內(nèi)容來測試Master端反應(yīng)狀況,。
圖十: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模式可以更加靈活的模擬裝置反應(yīng),,下期將針對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í)行模式)可以更加靈活的模擬裝置反應(yīng)。
當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)容,,模擬實際裝置反應(yīng)。在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ā)工作??勺隹焖俚姆治雠c快速的問題偵測,,以及測量更多的信息,是電子研發(fā)人員,、電子測試人員,、電子電機學(xué)生及個人研究工作室*的工具。