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