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