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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 利用高帶寬混合信號示波器進(jìn)行DDR驗(yàn)證和調(diào)試的技巧

          利用高帶寬混合信號示波器進(jìn)行DDR驗(yàn)證和調(diào)試的技巧

          作者: 時(shí)間:2017-02-06 來源:網(wǎng)絡(luò) 收藏
          DDR存儲器,也稱雙倍數(shù)據(jù)率同步動(dòng)態(tài)隨機(jī)存儲器,常用于高級嵌入式電路系統(tǒng)的設(shè)計(jì),包括計(jì)算機(jī)、交通運(yùn)輸、家庭娛樂系統(tǒng)、醫(yī)療設(shè)備和消費(fèi)類電子產(chǎn)品。DDR的廣泛采用也推動(dòng)著DDR存儲器自身的研發(fā),在DDR 1和DDR 2逐漸得到普及并成熟運(yùn)用于某些行業(yè)的同時(shí),新的DDR技術(shù)也開始出現(xiàn)在電子產(chǎn)品設(shè)計(jì)中,如DDR3(第三代DDR技術(shù))和LPDDR(低功耗DDR技術(shù))器件,它們能提供更高的性能。你可能認(rèn)為DDR存儲器的設(shè)計(jì)非常簡明,但事實(shí)上,這些存儲器件中更高的數(shù)據(jù)率和更低的電壓常常會(huì)令你感到很難有設(shè)計(jì)裕量。此外,DDR接口是最為復(fù)雜的高速接口之一,因?yàn)槊總€(gè)存儲器件上都有很多引腳;DDRII/III DQS、DQ等信號線不是簡單的邏輯1和邏輯0,還包括高阻態(tài);高速數(shù)據(jù)傳輸速率已經(jīng)達(dá)到USB2.0和PCI-Express等串行技術(shù)的數(shù)百兆位每秒水平。這樣一來,驗(yàn)證DDR接口成為一項(xiàng)繁雜的任務(wù)。雖然示波器廣泛用于DDR接口的高性能物理層驗(yàn)證,但DDR存儲器技術(shù)的復(fù)雜性使常規(guī)示波器的驗(yàn)證和調(diào)試成為一項(xiàng)挑戰(zhàn)。它可能會(huì)限制你進(jìn)一步測量的能力,如讀寫數(shù)據(jù)分離、命令觸發(fā)、狀態(tài)機(jī)解碼和協(xié)議調(diào)試。針對此,本文將重點(diǎn)介紹常規(guī)示波器驗(yàn)證過程中所遭遇的挑戰(zhàn),以及MSO如何應(yīng)對這些挑戰(zhàn)。

          驗(yàn)證挑戰(zhàn)

          DDR存儲器接口的復(fù)雜,不僅體現(xiàn)在它是并行接口,每一根數(shù)據(jù)信號的傳輸率達(dá)幾百兆甚至超過1G比特每秒,而且還體現(xiàn)在DDR存儲器控制器和DDR 芯片間大量的信號互連。一個(gè)典型DDR器件有20個(gè)以上的信號,包括時(shí)鐘、6個(gè)控制信號、12個(gè)地址信號、1個(gè)選通信號和8個(gè)數(shù)據(jù)信號。當(dāng)啟動(dòng)一項(xiàng)操作時(shí),存儲器控制器要通過輸出至DDR芯片的控制信號發(fā)布命令。傳統(tǒng)示波器只有4個(gè)模擬輸入通道,而您可能需要同時(shí)連接所有6個(gè)控制信號,來確定發(fā)送至 DDR接口的命令類型,更不用說很多時(shí)候設(shè)計(jì)人員需要同時(shí)觀察時(shí)鐘、數(shù)據(jù)選通和數(shù)據(jù)信號。

          即使設(shè)計(jì)人員能根據(jù)有限的控制信號推導(dǎo)出命令或狀態(tài),但依據(jù)每一控制信號的高低狀態(tài)解碼當(dāng)前命令,并回溯至DDR規(guī)范的真值表仍很困難。即使有可能實(shí)現(xiàn),這也會(huì)是極為費(fèi)時(shí)和容易出現(xiàn)人為錯(cuò)誤的任務(wù)。解碼成百,甚至上千的長波形跡線并保持跟蹤則會(huì)是一場噩夢。由于示波器不能自動(dòng)提供實(shí)時(shí)信息,手動(dòng)查錯(cuò)工作將因費(fèi)時(shí)費(fèi)力而失去效率和效果。

          由于受示波器通道數(shù)的限制,設(shè)計(jì)人員也許不能對所關(guān)注的信號作任何有意義的測量。例如當(dāng)把示波器通道接至一個(gè)時(shí)鐘信號和三個(gè)控制信號后,就已經(jīng)用完了所有的示波器通道。因此不能查看存儲器控制器要訪問的地址信號,或是正在DDR總線上傳輸?shù)臄?shù)據(jù)信號。

          對于存儲器控制器和DDR芯片的驗(yàn)證來說,隔離讀寫操作的能力至關(guān)重要。由于DDR總線上的讀和寫操作使用相同的數(shù)據(jù)選通和數(shù)據(jù)信號進(jìn)行通信,沒有將讀和寫操作區(qū)分開來分析的能力意味著示波器捕獲的波形將是混亂的,不能有效表征存儲器控制器和DDR芯片的性能特性。要隔離讀寫操作,就需要用有限的示波器通道隔離用于讀寫命令的控制信號,但這是非常艱巨的任務(wù)。是否有隔離讀寫操作的更有效方法呢?

          如果上述挑戰(zhàn)對你來說還是可以應(yīng)對的,別忘了你還需要花時(shí)間驗(yàn)證JEDEC規(guī)范定義的每一項(xiàng)測試參數(shù)。由于測試列表可能很長,因此往往難以全面表征每一項(xiàng)測試。進(jìn)行手動(dòng)測量并不可取,而更不可取的是測試報(bào)告必須人工記錄和編制報(bào)告格式。有沒有可用于執(zhí)行測量的已開發(fā)工具呢?最重要的是物理層和協(xié)議層的查錯(cuò)極為棘手。通常情況下要同時(shí)使用邏輯分析儀和示波器,但這將增加成本和學(xué)習(xí)時(shí)間。上述所有對傳統(tǒng)示波器的挑戰(zhàn)導(dǎo)致出現(xiàn)了對全新示波器的巨大需求,這種示波器應(yīng)有不止4 個(gè)輸入通道,還具備適用于驗(yàn)證和調(diào)試DDR接口的新能力。



          圖1:混合信號示波器(MSO9000A)上的模擬通道和邏輯通道提供復(fù)雜的觸發(fā)、狀態(tài)機(jī)解碼和協(xié)議測量,以超出傳統(tǒng)示波器的能力完成復(fù)雜的DDR驗(yàn)證和調(diào)試。

          混合信號示波器的新能力

          一種被稱為混合信號示波器的非傳統(tǒng)式示波器,除4個(gè)模擬輸入通道外,還有集成的邏輯通道,儀器內(nèi)部的這兩種通道是時(shí)間相關(guān)的(注意示波器通道和邏輯通道在硬件上是集成到一臺儀器上,而不是兩臺儀器湊在一起,或者一臺示波器外加一個(gè)邏輯分析儀小盒子)。可把這種儀器想象成一種由傳統(tǒng)示波器和邏輯分析儀組成的混合型工具。由于有了更多的通道,你現(xiàn)在可以把控制信號接到混合信號示波器的邏輯通道,從而輕松地觸發(fā)各種命令,如激活、預(yù)充電、讀和寫,同時(shí)把模擬通道留出來作信號物理層測量。現(xiàn)在,涉及在多個(gè)控制信號上進(jìn)行復(fù)雜觸發(fā)的其它類型協(xié)議測量,比如寫延遲和自動(dòng)預(yù)充電參數(shù)等等,都可以用混合信號示波器完成。

          MOS還提供DDR接口上的狀態(tài)機(jī)解碼和操作解碼命令信息。此前你可能必須手動(dòng)解碼DDR協(xié)議或命令,但MOS可以自動(dòng)解碼這些命令。它很快告訴你當(dāng)前控制信號狀態(tài)所對應(yīng)的命令,從而使你能專注于驗(yàn)證和調(diào)試。通過它,你還能很快告訴示波器隔離總線上的特定命令。例如你可以使用邏輯通道實(shí)現(xiàn)“寫命令” 觸發(fā),在選通信號和數(shù)據(jù)信號上進(jìn)行參數(shù)測量。

          上一頁 1 2 下一頁

          評論


          技術(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); })();