SPI總線測試和分析
2、SPI總線測試的需求
工程師對SPI總線測試和分析的需求主要涵蓋以下三個方面:
2.1 了解總線正在發生什么
軟件工程師設計了SPI主設備發出的消息內容,但硬件工程師需要確定消息是不是被準確無誤的傳送到物理線路上,需要了解總線上真正在發生什么。傳統的使用示波器的方式是先用探頭把信號捕獲下來,然后根據電平特點轉換成“1”或“0”,然后再去對比SPI協議,將其還原成有意義的消息幀。這種方式費時費力,對工程師的業務能力要求很高,而且儀器使用效率很低。工程師需要儀器能提供一種自動化的方式,直接將采集到的波形翻譯成容易識別的內容,再根據不用類別工程師的需求,以不同的方式動態顯示在儀器屏幕上。比如硬件工程師可能希望以二進制的方式查看SPI消息內容 ,底層驅動工程師希望以16進制方式分析波形,而應用軟件工程師則希望以ASCII文本的方式去了解總線上實際運行的數據內容。
2.2 調試總線上有故障的節點
SPI設備可以實現一對多的連接,即一個主設備連接多個從設備,通過片選信號(SS/CS)來選擇需要操作的從設備。當主設備切換傳輸對象的時候,我們需要關注總線所發送的信息是否與所選擇的從設備一致。有可能出現所發送的信息與當前所選擇的從設備并不一致的狀況。
2.3 分析EEPROM或者Falsh內存單元的有效性
EERPOM/Falsh是在各類系統單板上廣泛使用的存儲器件,主要作用是保存系統上電時需要導入的信息,比如主內存地址、容量、模式,各種設備初始化狀態、部分系統信息等,EEPROM/Falsh器件大多通過SPI總線傳遞數據。當讀寫EEPROM/Falsh配置信息出錯的情況下,我們就不僅僅需要知道是哪片EEPROM出問題,更有意義的是要深入到器件內部,定位具體是哪個地址單元出了問題,是讀數據過程中有問題還是寫數據過程中有問題。
3、力科示波器充分滿足工程師測試SPI總線的需求
廣大工程師用戶日益需要能處理各種通用測量任務、同時又能滿足分析 SPI總線等低速串行總線的專用需求、且符合有限預算的解決方案,力科基于Windows操作系統的全系列示波器產品滿足了這些需求,這些系列包括WaveSurfer Xs、WaveRunner Xi、WavePro 7Zi和WaveMaster 8Zi,這些產品一個很重要的的應用方面就是調試串行總線。示波器不僅要能測量信號電平、頻率等常規項目,還要能提供專門的軟件包以更深入分析和調試SPI總線。
力科 SPI測試軟件包的總線協議觸發功能和總線協議解碼功能,能夠幫助工程完成設備調試:
3、1 總線協議觸發
在力科示波器界面下進入菜單項“Trigger”->”Serial Data”->”SPI”,彈出的界面中允許用戶按照特定的模式去觸發SPI消息幀,如下圖3所示。你可以根據自己的需求選擇不同的數據對總線進行觸發。可以選擇對SPI總線標準下的某一子集(SPI、SIOP、SSPI)做觸發。可以設置時鐘的相位和極性,及數據的高位或者低位觸發。可以輸入需要觸發的數據是多少,且數據的位數是可以調整的。也可以選擇以2進制還是16進制做為觸發的數據格式。
通過總線觸發,我們可以對總線所傳輸的信息和可能出現的錯誤做分析和調試
圖3 力科示波器 SPI軟件包設置觸發界面
3、2 總線協議解碼
在力科示波器界面下進入菜單項“Analysis”->”Serial Decode”->”SPI”,用戶對總線正在傳輸的數據內容進行實時解碼,解碼后的內容能選擇以“二進制”、“十六進制”和“ASCII”三種方式直接顯示在波形上方。例如圖4中的信息,MOSI上的第二個0x05,表示RDSR,查看讀狀態寄存器,MISO上隨即返回0x02,表示該設備是可寫的,且處于空閑狀態。
通過對捕獲到的總線協議做解碼,我們可以直觀的看到總線上傳輸的數據是否是工程師實際上發送和接收所要求的數據,從而幫助調試。
圖4 SPI總線解碼
除了可以直接在波形上顯示解碼結果以外,力科還提供了列表顯示解碼結果。例如圖5中的信息,列表顯示了解碼后該字段的相關信息,可以通過點擊列表的某一行來放大該段數據以觀察波形細節。
圖5 SPI列表顯示及放大
評論