改善示波器測試低速串行總線的能力
使用前沿的串行總線和窄總線(如 HDMI 和 SATA)的設(shè)計師早就知道,示波器是進行一致性測試、容限分析和性能驗證的出色工具。設(shè)計師進行產(chǎn)品設(shè)計時,這些總線及其性能非常重要,他們選擇的一致性工具和調(diào)試工具可反映出這種重要性。
嵌入式系統(tǒng)設(shè)計師對串行通信持不同態(tài)度。盡管一些關(guān)鍵的通信任務(wù)中使用高性能總線(如 PCle),但大部分芯片間通信中的嵌入式設(shè)計還是使用 CAN、LIN、I2C、SPI、RS-232/UART 和低速 USB 總線。嵌入式系統(tǒng)設(shè)計師選擇這些工業(yè)標(biāo)準(zhǔn)串行總線的原因與 SATA 設(shè)計師不同。通常,嵌入式系統(tǒng)設(shè)計師構(gòu)建自己的并行總線,或是使用基于 UART 的定制平臺。然而近 10 年來工程師們認識到,與定制標(biāo)準(zhǔn)相比,為汽車電子設(shè)備或計算機外圍設(shè)備等領(lǐng)域設(shè)計的總線標(biāo)準(zhǔn)具有更穩(wěn)定的供應(yīng)鏈、更好的開發(fā)工具、易于集成而且成本更低
對這些總線的測試要求也不盡相同。最重要的要求是總線的穩(wěn)定性和經(jīng)過總線的通信量,其次是互操作性和與標(biāo)準(zhǔn)的一致性。我們不想把時間浪費在調(diào)試數(shù)據(jù)總線上,而是想利用總線上的數(shù)據(jù)來考察設(shè)計中的其他元件如何工作。對此,我們將討論一些技巧,用以改善示波器對低速串行總線的分析能力。這些例子中使用的是 Agilent InfiniiVision 示波器,但大多數(shù)技巧也適用于其他制造商生產(chǎn)的示波器。此外,目前使用的示波器可能不需要升級或稍加升級便可適應(yīng)這些任務(wù)。
1. 使用符號解碼更深入理解總線通信量
大多數(shù)富有經(jīng)驗的工程師都知道,示波器通常是與內(nèi)部打印機一起出售的。打印機用來建立“條形圖”。工程師建立條形圖可通過一次長時間緩慢采集,或多次快速采集(紙帶是重要的實驗室工具)。然后將條形圖貼到實驗室的墻壁上,之后設(shè)計師以手動方式對示波器跡線的含義進行解碼。
顯然,這個過程十分繁瑣而容易出錯。另一個問題是這種手動方法難以從結(jié)果推導(dǎo)出一個高度抽象的概念。他們必須將波形轉(zhuǎn)化為二進制,然后是數(shù)據(jù)包,并進一步變?yōu)閿?shù)據(jù)包內(nèi)容,最后是數(shù)據(jù)包內(nèi)容的 ASCII 或符號意義。許多工程師仍在使用從此項技術(shù)衍生出的其他方法。最好的衍生方法使他們能夠觀察顯示結(jié)果,并推斷出系統(tǒng)中發(fā)生的情況。即便如此,他們也不能一邊解釋顯示結(jié)果,一邊分析其在系統(tǒng)中的含義。
現(xiàn)代數(shù)字示波器可在內(nèi)部進行這種分析,只需幾秒鐘的配置,即可查看讀/寫數(shù)據(jù),數(shù)據(jù)包內(nèi)容和誤差代碼。甚至還能在硬件內(nèi)進行這種分析,因而不會影響示波器的性能。基于軟件的解碼可能會影響性能。
2. 采用數(shù)字通道提高靈活性
對于嵌入式設(shè)計,芯片間和系統(tǒng)內(nèi)通信總線通常只是其中的一小部分,其他組成部分還包括 DAC(數(shù)模轉(zhuǎn)換器)、ADC(模數(shù)轉(zhuǎn)換器)、傳感器、顯示器、控制環(huán)路、處理器和機電元件,所有這些組成部分都必須協(xié)調(diào)一致地工作。
如果示波器只有 2 個或 4 個通道,低速串行總線可能很快就會占用所有調(diào)試資源。因此,混合信號示波器能提高分析工具的靈活性。
混合信號示波器(MSO)不僅擁有模擬通道,還擁有許多(至少 16 個)數(shù)字通道。設(shè)計優(yōu)良的 MSO 能將數(shù)字通道與模擬通道保持完美同步,并支持模擬數(shù)據(jù)和數(shù)字?jǐn)?shù)據(jù)的無縫交叉觸發(fā),而不會因為使用數(shù)字通道而導(dǎo)致性能下降。在顯示器上同時使用 20 個或更多時間同步通道時,可以靈活分析多模擬事件、數(shù)字事件和串行事件之間的相互作用。
嵌入式系統(tǒng)分析的最大好處在于,可以將數(shù)字通道分配給串行總線定時和解碼,從而讓出模擬通道對其他部分進行時間同步分析??梢杂媚M通道檢驗串行總線部分的物理層性能,之后切換到數(shù)字通道查看定時和協(xié)議層,然后測量事件從傳感器到處理器再到輸出的延遲時間,或者驗證對爭用總線資源的多個輸入的優(yōu)先級仲裁。
3. 利用計數(shù)器快速表征總線活動
計數(shù)器好比了解總線健康狀況的聽診器。總線就像人的動脈,錯誤的數(shù)據(jù)會阻塞總線,從而限制正確數(shù)據(jù)的流動。系統(tǒng)就像心臟,可能存在威脅系統(tǒng)完整性的異?,F(xiàn)象(如誤碼)。使用事件計數(shù)器可快速檢查總線上的通信量的狀態(tài)。
在以下例子中,我們查看了用于 CAN 總線上通信量的計數(shù)器。在分析完100000 個數(shù)據(jù)包之后,可以看出沒有過載幀信號,但大約 2% 的幀信號包含有錯誤信息。還可以看出,總線利用率約為 24%。這與觀察示波器顯示屏上半部分所預(yù)期的利用率一致。還可對特定類型的誤碼、總線事件或數(shù)據(jù)值進行觸發(fā),通過計數(shù)器進行參數(shù)測量并作更細致的分析。
采用計數(shù)器分析時,解碼性能很重要。示波器處理串行跡線的速度越快,就能越快獲得有意義的統(tǒng)計結(jié)果,這里指的是快速測試,而不是指長時間分析。
如果示波器沒有這些計數(shù)器,可將外部計數(shù)器連接到示波器的觸發(fā)輸出(Trigger Out)端口。雖然無法提供完整的總線性能,但可以了解發(fā)生了多少次特定觸發(fā)事件。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論