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

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

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

圖3 SPI在時鐘上升沿采樣的時序圖
2 Pico串行總線解碼與協議分析解決方案簡介
PicoScope示波器標配有超過40種串行通信協議解碼功能。隨著PicoScope軟件的持續免費升級,未來還將支持更多協議解碼功能。
目前支持的協議包括:
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)以及風速傳感器協議等。

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

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

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

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

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

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

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

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

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

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

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