使用DPO3000調(diào)試串行總線
廣大用戶日益需要處理各種通用測量任務及滿足專用需求的解決方案,泰克新推出的DPO3000系列示波器滿足了這些需求,其中一個此類應用是調(diào)試串行總線。研究結(jié)果表明,在所有電子器件設計工程師中,大約有60%的工程師在日常設計和調(diào)試事務中要處理串行總線。這些設計人員希望獲得工具,幫助他們選擇性地從串行流中捕獲數(shù)據(jù),然后分析分組內(nèi)容和其它相關信號。
在串行總線結(jié)構(gòu)中,一條信號路徑可以傳送地址信號、控制信號和時鐘信號。DPO3000系列示波器提供了一個理想的平臺,可以從當前某些最常用的低速串行總線中采集和分析信號,包括I2C,SPI,RS-232,CAN和LIN。DPO3000系列的基本帶寬、采樣率、記錄長度和通道數(shù)量完全可以勝任這一工作。而最重要的是,某些創(chuàng)新功能使得串行調(diào)試工作變得更加簡便。
串行總線調(diào)試是由多個步驟組成的流程:觸發(fā)采集指定的串行事件;解碼該事件,理解其內(nèi)容;搜索發(fā)生的其它事件或感興趣的事件數(shù)據(jù)。
DPO3000系列通過下述功能,開創(chuàng)了串行總線調(diào)試的新天地:
觸發(fā)采集串行分組內(nèi)容,找到毛刺和其它波形異常事件。
自動解碼和顯示分組,以人們可以閱讀的、自我闡明的格式提供數(shù)據(jù),以即時可讀的形式表示內(nèi)容。
內(nèi)置數(shù)據(jù)搜索功能,找到和標記各個串行事件,在5M標配波形內(nèi)存中加快點到點導航速度。
觸發(fā)―第一步,輕松實現(xiàn)
在調(diào)試過程中,通常必需確認已經(jīng)通過總線生成或發(fā)送了某個串行分組。分組包含嵌入式數(shù)據(jù)值和其它消息。常用的示波器功能如狀態(tài)觸發(fā)或碼型觸發(fā)不適用這一目的,它們是為多條通道上的并行數(shù)據(jù)設計的。這就需要一種可以對串行流內(nèi)容做出響應的觸發(fā)功能。
在配備選配的DPO3EMBDI2C和SPI應用模塊、DPO3COMPRS-232/422/485/UART模塊和/或DPO3AUTOCAN和LIN模塊時,DPO3000系列將對用戶指定的觸發(fā)條件做出響應,包括串行數(shù)據(jù)內(nèi)容、地址開始和結(jié)束消息等等。表1提供了其中一種串行總線:I2C可以使用的觸發(fā)選擇的部分實例。SPI、RS-232、CAN和LIN總線觸發(fā)集也同樣非常全面。
觸發(fā)有兩種直接效應。第一,儀器采集事件及周圍的事件,容量高達5M樣點。第二,觸發(fā)證實發(fā)生了指定的事件。
DPO3000系列的獨特之處是為加速串行分析設計的一對前面板“Bus”按鈕(B1和B2)。事實上,每個按鈕為每種特定類型的串行總線選擇預置值。通過分別定義哪些通道接收時鐘信號和數(shù)據(jù)信號,以及決定兩種二進制狀態(tài)(1和0)的門限,工程師創(chuàng)建預置值。通過簡單地調(diào)用相應的Bus按鈕,在以后仍可以重新使用這一設置(除非被重寫)。工程師不再需要重復處理多個內(nèi)嵌菜單或為串行總線設置門限。在設置采集串行數(shù)據(jù)時,Bus按鈕節(jié)約了時間,特別是在調(diào)試一條以上的總線配置時。
Busforms的優(yōu)點
串行分組波形在示波器顯示屏上作為一串1和0值顯示。通過跟蹤時鐘邊沿及相關二進制數(shù)據(jù)值來解碼這些信息非常麻煩,而且容易出錯,但此前,許多工程師一直不得不通過這種方式理解其串行數(shù)據(jù)采集。
DPO3000系列自動解碼I2C、SPI、RS-232/422/485/UART、CAN和LIN總線的二進制分組。顯示畫面不僅顯示波形,還顯示獨特的“busform”視圖。Busform視圖從業(yè)內(nèi)領先的泰克邏輯分析儀平臺演進而來,是由符號包絡構(gòu)成的一條軌跡,這些符號包絡與波形視圖上的分組成分對準。但是busform并不是單獨的1和0二進制脈沖,而是一般包含一個表示解碼的分組成分的十六進制、十進制或ASCII值(如果愿意,可以選擇二進制格式)。現(xiàn)在,設計人員可以一目了然地查看總線上發(fā)生的情況,而沒有冗長、麻煩的手動解碼流程。同樣重要的是,還有其它事件和取值的符號,包括:開始事件,結(jié)束事件,標識符事件,地址事件(包括讀或?qū)憼顟B(tài)),數(shù)據(jù)及許多其它事件(視標準而定)。事實上,DPO3000系列示波器完成了此前一直“用手”完成的工作,而且只需幾微秒就可以完成。
I2C串行總線上的總線形式解碼
另外它還提供了另一個節(jié)約時間的解碼視圖:事件表。它以表格格式表示解碼的內(nèi)容,每個項目都帶有一個時戳。它包括整個采集。因此,可以簡便地查看總線上每個單個事件,同時在消息之間簡便地進行定時測量。DPO3000系列示波器可以對支持的任何串行總線生成事件表。
事件表,顯示CAN串行總線分組
搜索答案
一旦采集完成,通常必需查看整個記錄,以全面調(diào)試問題,其可能要高達5M樣點。即使是由示波器解碼每個分組,手動查看采集中每個分組可能會需要很長的時間。較好的解決方案是有一個工具,自動搜索現(xiàn)有的采集數(shù)據(jù),找到滿足用戶指定標準的事件。
DPO3000系列的WaveInspector提供了這種功能。除搜索邊沿、脈寬、欠幅脈沖、邏輯條件、建立時間和保持時間違規(guī)和上升時間/下降時間外,WaveInspector還可以搜索串行總線分組內(nèi)容。例如,WaveInspector可以隔離帶有某對地址和數(shù)據(jù)值的每條CAN消息,在顯示屏上用小的指示符號標明每次發(fā)生情況。在標記之間進行導航,只需按前面板上的Previous和Next按鈕。
對尋找解決方案、解決其每天遇到的串行調(diào)試問題的設計工程師,DPO3000系列提供了強大的串行觸發(fā)、解碼和搜索功能。
表1:串行觸發(fā)條件實例
內(nèi)容 | I2C觸發(fā)特點 |
開始 | 在SCL為高、SDA變低時(表示包頭)觸發(fā)采集 |
重復開始 | 在發(fā)生開始條件、而沒有以前的結(jié)束條件時觸發(fā)采集 (通常是一個主設備發(fā)送多條消息,而沒有釋放總線) |
結(jié)束 | 在SCL為高、SDA變高時(表示包尾)觸發(fā)采集 |
未確認 | 在串行分組內(nèi)容上觸發(fā)采集 |
地址 | 在用戶指定地址或任何預編程的專用地址上觸發(fā)采集(通用呼叫, 開始字節(jié), 等)。地址采用7位格式或10位格式,用二進制或十六進制表示 |
數(shù)據(jù) | 在最多5字節(jié)的用戶指定數(shù)據(jù)值上觸發(fā)采集,其可以是二進制或十六進制 |
地址和數(shù)據(jù) | 在指定地址和數(shù)據(jù)值組合及讀或?qū)懮?/SPAN>觸發(fā)采集,以捕獲感興趣的事件 |
評論