1關(guān)于SPI總線
串行外設(shè)接口(SPI,Serial Peripheral Interface)總線最早由Motorola開發(fā),用于其微控制器產(chǎn)品。由于其結(jié)構(gòu)簡單、實現(xiàn)直接,隨后被其它廠商廣泛采用,目前已在嵌入式系統(tǒng)領(lǐng)域的各類器件中得到普及。
SPI總線通常用于微控制器或CPU與外設(shè)之間的芯片級通信,例如顯示模塊、ADC和DAC、EEPROM、SD卡及其它存儲器件。
SPI總線是一種主從式、四線制串行通信總線,包含以下四條信號線:MOSI(主輸出/從輸入)、MISO(主輸入/從輸出)、SCLK或SCK(串行時鐘)、SS(從設(shè)備選擇)或CS(片選)。

圖1 SPI總線架構(gòu)
在SPI通信系統(tǒng)中,各設(shè)備以主從關(guān)系運行。主設(shè)備通過生成共享的串行時鐘信號來發(fā)起并控制所有數(shù)據(jù)傳輸。
SPI是一種全雙工通信協(xié)議,這意味著在每一個時鐘周期內(nèi),主設(shè)備和從設(shè)備都可以同時發(fā)送和接收數(shù)據(jù)。為了與多個從設(shè)備進行通信,主設(shè)備通常為每個從設(shè)備提供一根獨立的片選(CS)信號線。
為了保證SPI總線的正常工作,主設(shè)備在任意時刻只能與一個從設(shè)備通信。這一機制通過CS信號來實現(xiàn)。任何未被選中的從設(shè)備都必須忽略來自主設(shè)備的SCK和MOSI信號,同時不得驅(qū)動MISO信號線,其輸出應保持高阻態(tài),以避免總線沖突。
SPI通信通常包括以下幾個步驟:
?初始化:主設(shè)備首先將SCK時鐘頻率配置為目標從設(shè)備所支持的范圍內(nèi)(通常為幾MHz到幾十MHz)。
?從設(shè)備選擇:主設(shè)備將對應從設(shè)備的CS信號拉低(通常為邏輯低電平,即0 V),以選中該從設(shè)備。
?數(shù)據(jù)交換:在每一個時鐘周期內(nèi)都會發(fā)生一次全雙工數(shù)據(jù)傳輸。主設(shè)備通過MOSI信號線輸出一位數(shù)據(jù),從設(shè)備進行采樣;同時,從設(shè)備通過MISO信號線輸出一位數(shù)據(jù),主設(shè)備進行采樣。
?通信結(jié)束:數(shù)據(jù)交換完成后,主設(shè)備停止輸出時鐘信號,并將CS信號拉高,取消對從設(shè)備的選中。

圖2 SPI總線中的數(shù)據(jù)傳輸機制
SPI的數(shù)據(jù)傳輸依賴于主設(shè)備和從設(shè)備內(nèi)部位寬相同的移位寄存器(例如8位)。這些寄存器通過MOSI和MISO信號線相互連接,形成一個環(huán)形緩沖結(jié)構(gòu)。其工作原理如下:
?在每一個時鐘沿,主設(shè)備和從設(shè)備都會將寄存器中的一位數(shù)據(jù)(通常是最高有效位MSB)移出到各自的輸出線上。同時,它們也會從對方的輸出線上采樣一位數(shù)據(jù),并移入自身寄存器的最低有效位(LSB)。
?當時鐘脈沖數(shù)量達到寄存器位寬時,主設(shè)備和從設(shè)備寄存器中的原始數(shù)據(jù)就完成了一次完整交換。
?如果需要繼續(xù)傳輸數(shù)據(jù),只需重新加載移位寄存器,并重復該過程即可。

圖3 SPI在時鐘上升沿采樣的時序圖
2 Pico串行總線解碼與協(xié)議分析解決方案簡介
PicoScope示波器標配有超過40種串行通信協(xié)議解碼功能。隨著PicoScope軟件的持續(xù)免費升級,未來還將支持更多協(xié)議解碼功能。
目前支持的協(xié)議包括:
1-Wire、ARINC 429、BroadRReach、CAN、CAN FD、CAN J1939、CAN XL、DALI、DCC、DMX512、Ethernet 10BASE-T、擴展UART、Fast Ethernet 100BASE-TX、FlexRay、I2C、I2S、I3C BASIC v1.0、LIN、Manchester、MIL-STD-1553、MODBUS ASCII、MODBUS RTU、NMEA-0183、并行總線、PMBus、PS/2、PSI5(傳感器)、Quadrature、RS232/UART、SBS Data、SENT Fast、SENT Slow、SENT SPC、SMBus、SPI-MISO/MOSI、SPI-SDIO、USB(1.0/1.1)以及風速傳感器協(xié)議等。

圖4 PicoScope支持的串行協(xié)議解碼器
解碼后的數(shù)據(jù)通過兩種互補的方式進行顯示,便于高效分析。
圖形顯示方式:解碼數(shù)據(jù)以十六進制、二進制、十進制或ASCII格式顯示在波形下方,并與原始波形共用同一時間軸。錯誤幀會自動以紅色高亮顯示,便于快速識別。用戶可以對任意數(shù)據(jù)幀進行放大,以進一步分析信號完整性或噪聲問題。

圖5 PicoScope中的圖形解碼顯示方式
表格顯示方式:表格視圖提供所有解碼數(shù)據(jù)幀的完整列表,包括數(shù)據(jù)內(nèi)容、標識符和標志位。用戶可以對數(shù)據(jù)進行篩選,僅顯示感興趣的幀,也可以通過搜索功能查找具有特定屬性的數(shù)據(jù)幀。統(tǒng)計功能還可顯示更詳細的物理層信息,例如幀時間和電壓電平。

圖6 PicoScope中的表格解碼顯示方式
這兩種視圖是相互聯(lián)動的:在表格中點擊任意一幀,示波器界面會自動縮放并定位到對應的波形位置。
為了進一步提升分析效率,“Link File(鏈接文件)”功能允許用戶將數(shù)據(jù)字段與自定義的、易于理解的文本字符串進行關(guān)聯(lián)。此外,PicoScope還支持將所有解碼數(shù)據(jù)導出為電子表格,用于后續(xù)分析。

圖7顯示解碼數(shù)據(jù)的可讀文本
3使用PicoScope捕獲SPI信號的測試設(shè)置
使用PicoScope對SPI總線通信進行有效解碼,首要前提是精確的捕獲到原始數(shù)據(jù),這要求示波器具有足夠的帶寬和采樣率。
SPI信號的工作頻率范圍較廣。基于實踐經(jīng)驗建議:
?示波器帶寬為SPI時鐘頻率的3~5倍。
?采樣率確保在單個數(shù)據(jù)位的上升沿或下降沿至少采集5個采樣點,從而實現(xiàn)準確的數(shù)字信號重構(gòu)。
為了進行全面分析,理想情況下應采集以下信號:
?SCK(串行時鐘):用于同步,是必需信號
?MOSI(主輸出/從輸入):主設(shè)備發(fā)送的數(shù)據(jù)
?MISO(主輸入/從輸出):從設(shè)備返回的數(shù)據(jù)
所需的示波器通道數(shù)量取決于具體的分析需求:
?使用兩通道示波器時:必須將其中一個通道用于采集SCK,因此一次只能解碼一條數(shù)據(jù)線(MOSI或MISO)。
?使用四通道或更多通道時:可同時采集SCK、MOSI、MISO以及CS信號,從而對指定從設(shè)備的通信進行完整分析。
下圖8展示了使用PicoScope進行SPI測試的測試設(shè)置:
?一臺PicoScope 3418E示波器(500MHz,5GS/s,2GS)通過USB Type C連接至PC,用于控制和數(shù)據(jù)采集。
?四個無源探頭連接至被測設(shè)備,用于采集SCK、MOSI、MISO和CS信號。
?PC上運行PicoScope 7軟件,用于控制示波器、顯示波形并執(zhí)行SPI協(xié)議解碼。

圖8使用PicoScope 3418E捕獲SPI信號的測試設(shè)置
4使用PicoScope解碼SPI信號
按照以下步驟在PicoScope 7中完成SPI數(shù)據(jù)的采集與解碼。
步驟1:在PicoScope 7的通道菜單中為各通道命名,便于后續(xù)操作和識別。
步驟2:打開“Views”,添加四個示波視圖窗口,每個窗口顯示一條波形,并為每個窗口命名為所顯示的SPI信號。
步驟3:根據(jù)實際信號情況設(shè)置合適的垂直量程、時基和采樣率。
步驟4:設(shè)置觸發(fā)條件以穩(wěn)定顯示SPI數(shù)據(jù),推薦使用針對SCK信號的脈沖觸發(fā)。
完成以上步驟后,即可獲得如圖9所示的SPI波形。

圖9 PicoScope 7中的SPI波形顯示
步驟5:點擊“Serial decoding”,選擇“SPI – MISO/MOSI”.

圖10在PicoScope 7中選擇SPI解碼器
步驟6:將各通道分配到解碼器中對應的解碼信號。若之前已正確命名通道,該過程會更加直觀。閾值和遲滯參數(shù)會被自動識別,但仍可根據(jù)需要手動調(diào)整。其它SPI參數(shù)按照圖11進行配置。

圖11在PicoScope 7中配置SPI解碼器
步驟7:點擊“Next”,為解碼器命名,并選擇解碼數(shù)據(jù)顯示格式。同時還可以限制解碼的時間范圍,以便僅采集和分析關(guān)注的數(shù)據(jù)。

圖12在PicoScope 7中選擇SPI解碼顯示格式
步驟8:點擊“Finish”后,解碼結(jié)果表格將顯示在屏幕上。該表格既可以與示波器視圖聯(lián)動縮放,也可以像其它圖表一樣單獨顯示。

圖13 PicoScope 7中的SPI解碼結(jié)果
更多功能和設(shè)置:
?解碼數(shù)據(jù)上方的工具欄提供了多種實用功能,可通過“Export”或“Data to Text”導出數(shù)據(jù)。
?使用“Fields”可以選擇需要顯示的數(shù)據(jù)字段,并重新配置解碼內(nèi)容。
?搜索功能在深存儲應用中尤為重要。由于PicoScope支持捕獲大量數(shù)據(jù)包,借助搜索功能可以僅顯示所需數(shù)據(jù),從而大幅節(jié)省分析時間。
?將鼠標懸停在任意數(shù)據(jù)包上,即可查看該數(shù)據(jù)包的詳細內(nèi)容。

圖14 PicoScope 7中SPI解碼器的更多功能
關(guān)于Pico Technology
Pico Technology是高性能電子測試儀器的全球領(lǐng)先制造商。源于英國劍橋強大電子工程傳統(tǒng),自創(chuàng)立以來,通過創(chuàng)建和領(lǐng)導創(chuàng)新的基于PC的測試儀器,比克實現(xiàn)了連續(xù)33年的增長。其獨特的解決方案和完整的產(chǎn)品線為電子工程師提供了高性能且經(jīng)濟高效的工具,涵蓋了從物理層到協(xié)議層的整個設(shè)計驗證周期:
具有內(nèi)置AWG,F(xiàn)G,邏輯分析儀,頻譜分析儀,串行協(xié)議分析儀的實時示波器,提供高達16位ADC分辨率,4G超深存儲器,8個高分辨率通道和真正的差分探測。緊湊的30GHz采樣示波器使工程師能夠輕松實現(xiàn)TDR特征阻抗測試,眼圖和時鐘恢復等。PicoVNA(矢量網(wǎng)絡分析儀),RFSynthesizer(射頻信號合成器)和PicoConnect高帶寬探頭可擴展到RF應用。此外,還有最暢銷的PicoLogger系列數(shù)據(jù)記錄儀產(chǎn)品。
SDK允許用戶與實現(xiàn)測試自動化的其他儀器一起開發(fā)自定義應用程序。終身免費軟件和5年保修可保護客戶的投資。
比克科技是未來。
-
微控制器
+關(guān)注
關(guān)注
48文章
8367瀏覽量
164491 -
嵌入式
+關(guān)注
關(guān)注
5198文章
20434瀏覽量
333857 -
cpu
+關(guān)注
關(guān)注
68文章
11274瀏覽量
224905 -
SPI總線
+關(guān)注
關(guān)注
4文章
109瀏覽量
28462 -
總線信號
+關(guān)注
關(guān)注
0文章
11瀏覽量
1508
原文標題:使用 PicoScope 解碼 SPI 總線信號
文章出處:【微信號:英國比克科技 Pico Technology,微信公眾號:英國比克科技 Pico Technology】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
使用PicoScope 6000E示波器解碼1000base-SX以太網(wǎng)
5分鐘搞定|最詳細的SPI總線解碼協(xié)議分析實操#示波器 #示波器使用教程 #SPI #串口通訊 #總線解碼
生產(chǎn)于英國的PicoScope 2104
PicoScope 2000系列示波器的優(yōu)勢 購線網(wǎng)
PicoScope 5000系列PC示波器優(yōu)勢
PicoScope 6000系列高性能電腦示波器的優(yōu)勢
示波器內(nèi)置總線信號源介紹
示波器用于汽車CAN總線解碼的案例
終極USB示波器PicoScope 6000系列
4444四通道USB隔離示波器的性能指標及應用特點
怎么用示波器看can總線信號?
PicoScope中滯后量參數(shù)的作用及其在實際應用中的重要性
Pico Technology Ltd發(fā)布最新的USB示波器PicoScope 3000E系列
Pico Technology推出PicoScope 9404A-25高性能示波器
搞不定示波器SPI解碼?這幾步就行!
使用PicoScope示波器解碼SPI總線信號
評論