<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 改善示波器測(cè)試低速串行總線的能力

          改善示波器測(cè)試低速串行總線的能力

          作者: 時(shí)間:2012-08-10 來源:網(wǎng)絡(luò) 收藏

            使用前沿的串行總線和窄總線(如 HDMI 和 SATA)的設(shè)計(jì)師早就知道,是進(jìn)行一致性測(cè)試、容限分析和性能驗(yàn)證的出色工具。設(shè)計(jì)師進(jìn)行產(chǎn)品設(shè)計(jì)時(shí),這些總線及其性能非常重要,他們選擇的一致性工具和調(diào)試工具可反映出這種重要性。

            系統(tǒng)設(shè)計(jì)師對(duì)串行通信持不同態(tài)度。盡管一些關(guān)鍵的通信任務(wù)中使用高性能總線(如 PCle),但大部分芯片間通信中的設(shè)計(jì)還是使用 CAN、LIN、I2C、SPI、RS-232/UART 和低速 USB 總線。系統(tǒng)設(shè)計(jì)師選擇這些工業(yè)標(biāo)準(zhǔn)串行總線的原因與 SATA 設(shè)計(jì)師不同。通常,嵌入式系統(tǒng)設(shè)計(jì)師構(gòu)建自己的并行總線,或是使用基于 UART 的定制平臺(tái)。然而近 10 年來工程師們認(rèn)識(shí)到,與定制標(biāo)準(zhǔn)相比,為汽車電子設(shè)備或計(jì)算機(jī)外圍設(shè)備等領(lǐng)域設(shè)計(jì)的總線標(biāo)準(zhǔn)具有更穩(wěn)定的供應(yīng)鏈、更好的開發(fā)工具、易于集成而且成本更低

            對(duì)這些總線的測(cè)試要求也不盡相同。最重要的要求是總線的穩(wěn)定性和經(jīng)過總線的通信量,其次是互操作性和與標(biāo)準(zhǔn)的一致性。我們不想把時(shí)間浪費(fèi)在調(diào)試數(shù)據(jù)總線上,而是想利用總線上的數(shù)據(jù)來考察設(shè)計(jì)中的其他元件如何工作。對(duì)此,我們將討論一些技巧,用以改善對(duì)低速串行總線的分析能力。這些例子中使用的是 Agilent InfiniiVision ,但大多數(shù)技巧也適用于其他制造商生產(chǎn)的示波器。此外,目前使用的示波器可能不需要升級(jí)或稍加升級(jí)便可適應(yīng)這些任務(wù)。

            1. 使用符號(hào)解碼更深入理解總線通信量

            大多數(shù)富有經(jīng)驗(yàn)的工程師都知道,示波器通常是與內(nèi)部打印機(jī)一起出售的。打印機(jī)用來建立“條形圖”。工程師建立條形圖可通過一次長(zhǎng)時(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ì)影響示波器的性能?;谲浖慕獯a可能會(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ì)爭(zhēng)用總線資源的多個(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)完整性的異?,F(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è)試,而不是指長(zhǎng)時(shí)間分析。

            如果示波器沒有這些計(jì)數(shù)器,可將外部計(jì)數(shù)器連接到示波器的觸發(fā)輸出(Trigger Out)端口。雖然無法提供完整的總線性能,但可以了解發(fā)生了多少次特定觸發(fā)事件。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();