1. 使用符號解碼更深入理解總線通信量
示波器通常是與內部打印機一起出售的。打印機用來建立“條形圖”。工程師建立條形圖可通過一次長時間緩慢采集,或多次快速采集(紙帶是重要的實驗室工具)。然后將條形圖貼到實驗室的墻壁上,之后設計師以手動方式對示波器跡線的含義進行解碼。
顯然,這個過程十分繁瑣而容易出錯。另一個問題是這種手動方法難以從結果推導出一個高度抽象的概念。他們必須將波形轉化為二進制,然后是數據包,并進一步變為數據包內容,最后是數據包內容的 ASCII 或符號意義。許多工程師仍在使用從此項技術衍生出的其他方法。最好的衍生方法使他們能夠觀察顯示結果,并推斷出系統中發生的情況。即便如此,他們也不能一邊解釋顯示結果,一邊分析其在系統中的含義。
現代數字示波器可在內部進行這種分析,只需幾秒鐘的配置,即可查看讀/寫數據,數據包內容和誤差代碼。甚至還能在硬件內進行這種分析,因而不會影響示波器的性能。基于軟件的解碼可能會影響性能。
2. 采用數字通道提高靈活性
對于嵌入式設計,芯片間和系統內通信總線通常只是其中的一小部分,其他組成部分還包括 DAC(數模轉換器)、ADC(模數轉換器)、傳感器、顯示器、控制環路、處理器和機電元件,所有這些組成部分都必須協調一致地工作。
示波器只有 2 個或 4 個通道,低速串行總線可能很快就會占用所有調試資源。因此,混合信號示波器能提高分析工具的靈活性。
混合信號示波器(MSO)不僅擁有模擬通道,還擁有許多(至少 16 個)數字通道。設計優良的 MSO 能將數字通道與模擬通道保持完美同步,并支持模擬數據和數字數據的無縫交叉觸發,而不會因為使用數字通道而導致性能下降。在顯示器上同時使用 20 個或更多時間同步通道時,可以靈活分析多模擬事件、數字事件和串行事件之間的相互作用。
嵌入式系統分析的最大好處在于,可以將數字通道分配給串行總線定時和解碼,從而讓出模擬通道對其他部分進行時間同步分析。可以用模擬通道檢驗串行總線部分的物理層性能,之后切換到數字通道查看定時和協議層,然后測量事件從傳感器到處理器再到輸出的延遲時間,或者驗證對爭用總線資源的多個輸入的優先級仲裁。
3. 利用計數器快速表征總線活動
計數器好比了解總線健康狀況的聽診器。總線就像人的動脈,錯誤的數據會阻塞總線,從而限制正確數據的流動。系統就像心臟,可能存在威脅系統完整性的異常現象(如誤碼)。使用事件計數器可快速檢查總線上的通信量的狀態。
在以下例子中,我們查看了用于 CAN 總線上通信量的計數器。在分析完100000 個數據包之后,可以看出沒有過載幀信號,但大約 2% 的幀信號包含有錯誤信息。還可以看出,總線利用率約為 24%。這與觀察示波器顯示屏上半部分所預期的利用率一致。還可對特定類型的誤碼、總線事件或數據值進行觸發,通過計數器進行參數測量并作更細致的分析。
采用計數器分析時,解碼性能很重要。示波器處理串行跡線的速度越快,就能越快獲得有意義的統計結果,這里指的是快速測試,而不是指長時間分析。
如果示波器沒有這些計數器,可將外部計數器連接到示波器的觸發輸出(Trigger Out)端口。雖然無法提供完整的總線性能,但可以了解發生了多少次特定觸發事件。
4. 利用總線特有的觸發隔離關鍵事件
大多數設計師認為,只要有足夠多的觸發工具就能找出并解決任何問題。串行總線特有的硬件觸發非常有用,因為:
首先,觸發使調試總線問題變得輕而易舉。誤碼觸發能隔離出傳輸故障事件,也可輕松隔離出幀信號的起始或終止事務,從而可以測量總線延遲時間。其次,對總線協議或數據值觸發可輕松調試系統問題。例如,可以指定軟件中的十六進制數據值表示錯誤狀態(也許是緩沖器超限或傳感器偏置值過大)。由于模擬信號、數字信號和串行信號呈時間相關關系,因此觸發誤碼會迅速造成問題。最后,硬件觸發可改善計數器分析,可以隔離出有問題的具體事件。此外,總線計數器的工作與測量計數器無關。這意味著不僅能跟蹤事件的絕對發生次數,還能估計出現次數占全部數據包的百分比。
5. 利用存儲器分段查看多個事件的出現
串行總線是“猝發”信號的典型例子。有些周期性活動之后會出現周期性靜寂時間。
即使深存儲示波器也能在幾毫秒之內耗盡采集存儲器。所幸許多示波器可以對存儲器進行“分段”,即在所關注事件的周圍插入固定寬度分段的存儲器。這樣,就能顯著延長在一次信號采集中可以觀察的時間。在以下例子中,通過觸發含有誤碼的第一個 500 CAM 幀信號,則可以觀察 1 分多鐘的時間內所發生的誤碼,并比較這些事件中的系統行為,以找出共同根源。
即使可以捕捉到所有幀信號,對采集存儲器進行分段也會使捕獲的時間延長一個占空比的倒數。例如,25% 占空比的總線的捕獲時間將延長4倍。