當(dāng)前位置: 首頁 > 工業(yè)電子產(chǎn)品 > 其他電子產(chǎn)品 > 開發(fā)板,套件,編程器 > 開發(fā)板
發(fā)布日期:2022-10-14 點(diǎn)擊率:54
本文轉(zhuǎn)自Agilent(安捷倫)官方網(wǎng)站,原文作者李凱。本文簡要地介紹了PCI-e 3.0的知識,并詳細(xì)描述了PCI-e 3.0的測試方法,對于從事高速數(shù)字電路設(shè)計(jì)的讀者來說,是一篇很有參考價(jià)值的文章。
1. 前言
PCI Express(簡稱PCI-e)總線是PCI總線的串行版本,其采用多對高速串行的差分信號進(jìn)行高速傳輸,每對差分線上的信號速率可以是1代的2.5Gbps、2代的5Gbps以及現(xiàn)在正逐漸開始應(yīng)用的3代8Gbps。
PCI-e標(biāo)準(zhǔn)是由PCI-SIG組織制定,自從推出以來,1代和2代標(biāo)準(zhǔn)已經(jīng)在PC和Server上逐漸普及,用于支持高速顯卡以及其它接口卡對于高速數(shù)據(jù)傳輸?shù)囊蟆3鲇谥С指呖偩€數(shù)據(jù)吞吐率的目的,PCI-SIG組織在2010年制定了PCI-e 3.0,即PCI-e 3代的規(guī)范。目前,PCI-e 3.0已經(jīng)開始出現(xiàn)在一些高端的Server上,而在普通PC上的應(yīng)用也是指日可待。
那么PCI-e 3.0總線究竟有什么特點(diǎn)?對于其測試有什么特殊的地方呢?我們這里就來探討一下。
2. PCI-e 3.0簡介
2.1 信號速率的變化
首先我們看一下制定PCI-e 3代規(guī)范的目的,其目的主要是要在現(xiàn)有的FR4板材和接插件的基礎(chǔ)上提供比PCI-e 2代高一倍的有效數(shù)據(jù)傳輸速率,同時(shí)保持和原有1代、2代設(shè)備的兼容。別看這是個(gè)簡單的目的,但實(shí)現(xiàn)起來可不容易。
我們知道,PCI-e 2代在每對差分線上的數(shù)據(jù)傳輸速率是5Gbps,相對于1代提高了1倍;而3代要相對于2代把速率也提高一倍,理所當(dāng)然的是把數(shù)據(jù)傳輸速率提高到10Gbps。但是就是這個(gè)10Gbps把PCI-SIG給難住了,因?yàn)镻C和Server上出于成本的考慮,普遍使用便宜的FR4的PCB板材以及廉價(jià)的接插件,無論采用什么技術(shù)都很難保證10Gbps的信號還能在原來的信號路徑上可靠地傳輸很遠(yuǎn)的距離(典型距離是15~30cm)。因此PCI-SIG最終決定把PCI-e 3代的數(shù)據(jù)傳輸速率定在8Gbps。但是8Gbps比著2代的5Gbps并沒有高一倍,所以PCI-SIG決定在3代標(biāo)準(zhǔn)中把在1代和2代中使用的8b/10b編碼去掉。我們知道,在PCI-e 1代和2代中為了保證數(shù)據(jù)的傳輸密度、直流平衡以及內(nèi)嵌時(shí)鐘的目的,每8bit數(shù)據(jù)會(huì)編碼成10bit數(shù)據(jù)傳輸。因此,5Gbps的實(shí)際有效數(shù)據(jù)傳輸速率是5Gbps×8b/10b=4Gbps。這樣,如果在PCI-e 3代中不使用8b/10b編碼,其有效數(shù)據(jù)傳輸速率就能比著 2代的4Gbps提高1倍。但是這樣問題又來了,數(shù)據(jù)如果不經(jīng)編碼傳輸很難保證數(shù)據(jù)傳輸密度和直流平衡,接收端的時(shí)鐘恢復(fù)電路也很容易失鎖,于是PCI-e 3代里面采用了擾碼的方法,即數(shù)據(jù)傳輸前先和一個(gè)多項(xiàng)式進(jìn)行異或,這樣傳輸鏈路上的數(shù)據(jù)就看起來比較有隨機(jī)性,到了接收端再用相同的多項(xiàng)式把數(shù)據(jù)恢復(fù)出來。通過上述方法,PCI-e 3代可以用8Gbps的傳輸速率實(shí)現(xiàn)比2代的5Gbps高1倍的數(shù)據(jù)傳輸速率。
2.2 發(fā)送端的變化
但是問題遠(yuǎn)沒有結(jié)束,即使數(shù)據(jù)速率只有8Gbps,要在原有的廉價(jià)PCB和接插件上實(shí)現(xiàn)可靠傳輸也還要解決一些新的問題。其中最大的問題是信號的損耗,F(xiàn)R4板材對信號高頻成分有很大衰減,而信號速率越高,其高頻成分越多,所以衰減也就更厲害。下圖是不同速率的信號經(jīng)過10英寸的FR4板材的PCB傳輸以后信號的眼圖,我們可以看到8Gbps的信號在接收端基本上看不到眼圖了,更不要說進(jìn)行有效的數(shù)據(jù)接收。
為了解決這個(gè)問題,在PCI-e的1代和2代中使用了去加重(De-emphasis)技術(shù),即信號的發(fā)射端(TX)在發(fā)送信號時(shí)對跳變bit(代表信號中的高頻成分)加大幅度發(fā)送,這樣可以部分補(bǔ)償一下傳輸線路對高頻成分的衰減,從而得到比較好的眼圖。
PCI-e 1代中采用了-3.5db的去加重,PCI-e 2代中采用了-3.5db和-6db的去加重, 而對于3代來說,由于信號速率更高,需要采用更加復(fù)雜的2階去加重技術(shù)。即除了跳變bit增大幅度發(fā)送(De-emphasis)以外,在跳變bit的前1個(gè)bit也要增大幅度發(fā)送,這個(gè)增大的幅度通常叫做Preshoot。
為了應(yīng)對復(fù)雜的鏈路環(huán)境,PCI-e 3代中規(guī)定了共11種不同的Preshoot和De-emphasis的組合(Preset),實(shí)際應(yīng)用中Tx和Rx端可以在Link Training階段協(xié)商出一個(gè)最優(yōu)的Preset值。
2.3 接收端的變化
那做了這些工作就夠了嗎?經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),僅僅在發(fā)送端對信號高頻進(jìn)行補(bǔ)償還是不夠,如是PCI-e 3代標(biāo)準(zhǔn)中又規(guī)定在接收端(RX端)還要對信號做均衡(Equalization)。所謂均衡,就是在RX端的接收芯片內(nèi)部增加一個(gè)均衡電路,這個(gè)均衡電路可以抬高接收到的信號中的高頻分量,從而對線路的損耗進(jìn)行進(jìn)一步的補(bǔ)償。均衡電路的實(shí)現(xiàn)難度較大,以前主要用在通信設(shè)備的背板或長電纜傳輸?shù)膱龊希F(xiàn)在也逐漸開始在計(jì)算機(jī)領(lǐng)域應(yīng)用,比如USB3.0中也采用了均衡技術(shù)。下圖是PCI-e 3.0里對均衡器的頻響特性的要求。我們可以看到均衡器的強(qiáng)弱也有很多檔可選,在Link Training階段TX和RX端會(huì)協(xié)商出一個(gè)最佳的組合。
我們看到,經(jīng)過種種努力,PCI-e 3.0總算初步實(shí)現(xiàn)了其初衷,即在現(xiàn)有的FR4板材和接插件的基礎(chǔ)上提供比PCI-e 2代高一倍的有效數(shù)據(jù)傳輸速率。但我們同時(shí)也看到,PCI-e 3代的芯片會(huì)變得更加復(fù)雜,系統(tǒng)設(shè)計(jì)的難度也也更大。如何保證PCI-e 3代總線工作的可靠性和很好的兼容性,就成為設(shè)計(jì)和測試人員面臨的嚴(yán)峻挑戰(zhàn)。
3. PCI-e 3.0的測試
首先要說明的一點(diǎn)是,由于PCI-e 3代目前只頒布了Base的規(guī)范(即芯片規(guī)范),但CEM規(guī)范(即主板和插卡的規(guī)范)和測試規(guī)范還沒有正式發(fā)布,所以下面介紹的方法是基于目前的通用做法,以后隨著規(guī)范的正式發(fā)布,具體測試方法可能還有變化。
3.1 發(fā)送端的信號質(zhì)量測試
對于發(fā)送端的測試,主要是用寬帶示波器捕獲其發(fā)出的信號并驗(yàn)證其信號質(zhì)量滿足規(guī)范要求。按照目前Base規(guī)范中的要求,PCI-e 3.0的測試需要至少12GHz帶寬的示波器,并配合上相應(yīng)的測試夾具和測試軟件。
由于PCI-e 3.0的信號經(jīng)過傳輸以后信號幅度都已經(jīng)衰減得很小(典型值是100mV左右),為了保證足夠的測量精度,除了示波器的帶寬要足夠以外,還需要示波器有很低的底噪聲才能保證測量的準(zhǔn)確性和測量重復(fù)性。Agilent公司的90000X系列示波器除了能夠提供最高到32GHz的硬件帶寬以外,還具有業(yè)內(nèi)最低的底噪聲指標(biāo)以及高達(dá)2G的存儲深度,可以充分滿足PCI-e 3代測試的要求,下面是Agilent的90000X示波器的一些主要指標(biāo)。
測試中首先使用PCI-SIG提供的PCI-e 3的夾具把被測信號引出(PCI-e 3代的夾具和PCI-e 2代一樣分為CBB板和CLB板,CBB板用于插卡的測試,CLB板用于主板的測試),然后通過測試夾具上的切換開關(guān)控制DUT輸出PCI-e 3代的一致性測試碼型。需要注意的一點(diǎn)是由于PCI-e 3代信號如前所述共有11種Preset值,測試過程中應(yīng)明確當(dāng)前測試的是哪一種Preset值,做信號質(zhì)量測試常用的有Preset7、Preset8、Preset1、Preset0。下圖是PCI-e 3代的CBB板及一致性測試碼型。
另外,PCI-e 3代測試很重要的一點(diǎn)是要做信號的的Embed,Embed即是在測試過程中加入芯片封裝對信號的影響,這個(gè)芯片封裝的模型是PCI-SIG以S參數(shù)文件的形式提供的,測試過程中需要示波器能把這個(gè)S參數(shù)文件的影響加到被測波形上。同時(shí),測試過程中示波器是用2個(gè)通道分別連接信號的正負(fù)端,要得到最后的差分波形需要示波器對2個(gè)通道的波形做相減運(yùn)算。如果波形相減和S參數(shù)嵌入的工作都由示波器軟件計(jì)算,會(huì)大大影響測試速度。Agilent公司的90000A/90000X示波器內(nèi)部都有硬件的通道相減及S參數(shù)運(yùn)算功能,可以大大提高測試的速度和效率。
對測試數(shù)據(jù)做分析得方法有2種:一種是使用PCI-SIG提供的Sigtest軟件做手動(dòng)分析,一種是使用Agilent公司提供的N5393C PCI-e 3.0自動(dòng)一致性測試。Sigtest軟件是的算法由PCI-SIG提供,但是需要用戶手動(dòng)捕獲數(shù)據(jù)進(jìn)行后分析。Sigtest可以進(jìn)行信號的眼圖、模板、抖動(dòng)的測試。下圖是用Sigtest的測試結(jié)果。
由于Sigtest需要用戶手動(dòng)捕獲數(shù)據(jù),對于不熟練的測試人員容易可能由于設(shè)置不對造成測試結(jié)果的不一致,而且其測試項(xiàng)目有限,沒有覆蓋全部的信號要求。所以針對PCI-e3的測試Agilent還提供了N5393C的自動(dòng)化測試軟件。這個(gè)軟件以圖形化的界面指導(dǎo)用戶完成設(shè)置、 連接和測試過程,除了提供Swing、Preset、Common Mode等更多測試項(xiàng)目以外,還可以自動(dòng)進(jìn)行示波器測量參數(shù)設(shè)置以及自動(dòng)生成報(bào)告,提高了測試的效率和可重復(fù)性。除此以外,這個(gè)軟件在測試過程中還會(huì)對被測件發(fā)出的碼型和速率進(jìn)行檢查,以確認(rèn)測試使用的是規(guī)范要求的正確碼型。下圖是N5393C軟件的設(shè)置和生成的測試報(bào)告。
以下是PCI-e 3.0信號測試推薦使用的儀器:
3.2 接收端的接收容限測試
PCI-e 1.0和2.0的時(shí)代,接收端測試不是必須的,通常只要保證發(fā)送端的信號質(zhì)量基本就能保證系統(tǒng)的正常工作。但是對于PCI-e 3.0來說,由于速率更高,發(fā)送端發(fā)出的信號經(jīng)過長線傳輸后信號質(zhì)量總是不會(huì)太好,所以接收端使用了復(fù)雜的均衡技術(shù)來提升接收端的接收能力。由于接收端更加復(fù)雜而且其均衡的有效性會(huì)顯著影響鏈路傳輸?shù)目煽啃裕虼嗽赑CI-e 3.0時(shí)代,接收端的測試變成了必測的項(xiàng)目。
所謂接收端測試,就是要驗(yàn)證接收端對于惡劣信號的容忍能力。這就涉及到2個(gè)問題,一個(gè)是這個(gè)惡劣信號怎么定義,另一個(gè)是怎么判斷被測系統(tǒng)能夠容忍這樣的惡劣信號。
首先來看一下這個(gè)惡劣信號的定義,這不是一個(gè)隨便的差信號就可以,這個(gè)信號的惡劣程度有精確定義才能保證測量的重復(fù)性。這個(gè)惡劣信號通常叫做Stress Eye,即壓力眼圖,實(shí)際上是借鑒了10G以太網(wǎng)的叫法。這個(gè)Stress Eye實(shí)際上是用高性能的誤碼儀先產(chǎn)生一個(gè)純凈的帶預(yù)加重和Preshoot的8Gbps的信號,然后在這個(gè)信號上疊加上精確控制的隨機(jī)抖動(dòng)(RJ)、周期抖動(dòng)(SJ)、差模和共模噪聲以及碼間干擾(ISI)。為了確定每個(gè)成分的大小都符合規(guī)范的要求,所以測試之前需要先用示波器對測試信號進(jìn)行校準(zhǔn),確定產(chǎn)生的是規(guī)范要求的Stress Eye。下圖產(chǎn)生Stress Eye和信號校準(zhǔn)的一個(gè)原理圖。
另一個(gè)問題是如何判斷被測系統(tǒng)能夠容忍這樣的惡劣信號。這就需要被測系統(tǒng)工作在環(huán)回模式,即把其從RX端收到的數(shù)據(jù)再通過TX端發(fā)送出來送回誤碼儀,誤碼儀通過比較誤碼來判斷數(shù)據(jù)是否被正確接收,測試中要求誤碼率小于1E-12。下圖是用Agilent的高性能串行誤碼儀N4903B和N4916B預(yù)加重模塊進(jìn)行PCI-e 3.0接收測試一個(gè)示意圖。實(shí)際測試中根據(jù)實(shí)際情況還需要增加一些耦合器、轉(zhuǎn)接頭、測試電纜等。
這個(gè)測試對于激勵(lì)源也即碼型發(fā)生器的要求很高。首先其要能產(chǎn)生高質(zhì)量的PCI-e 3.0的8Gbps的數(shù)據(jù)流,其固有抖動(dòng)要非常小才不會(huì)影響正常的抖動(dòng)容限測試;其次其要能在數(shù)據(jù)流上調(diào)制上幅度、頻率精確可控的抖動(dòng)分量并能夠進(jìn)行誤碼檢測。Agilent的N4903B是高性能的串行誤碼儀,其單路可以產(chǎn)生12.5Gbps的高速數(shù)據(jù)流,信號20%~80%上升時(shí)間<20ps,固有抖動(dòng)只有9ps(p-p),信號的幅度在50mV~1.8V范圍內(nèi)連續(xù)可調(diào),同時(shí)其內(nèi)部集成時(shí)鐘恢復(fù)電路,信號接收靈敏度小至50mV,非常適合PCI-e 3.0接收測試這種速率高同時(shí)對信號質(zhì)量又有很好要求的場合。N4903B還可以通過后續(xù)升級支持最高28.4Gbps的高速串行數(shù)據(jù),可以充分兼顧未來更高速率的應(yīng)用。
除此以外,PCI-e 3.0的接收測試還需要產(chǎn)生帶Preshoot和De-emphasis的信號,這實(shí)際上是一個(gè)2階的De-emphasis。Agilent的N4916B是高性能的De-emphasis模塊,其可以產(chǎn)生多達(dá)4階、最高幅度到12db的De-emphasis,可以充分滿足PCI-e 3.0的接收測試以及未來更高性能總線的要求。
以下是PCI-e 3.0接收測試推薦的主要設(shè)備:
3.3 PCI-e 3.0協(xié)議的測試
完成信號質(zhì)量的測試僅僅是保證了PCI-e物理層的可靠工作,整個(gè)系統(tǒng)的可靠工作還離不開上層協(xié)議的支持。由于PCI-e 3.0是全新的標(biāo)準(zhǔn),所以為了幫助用戶更進(jìn)一步分析和定位由于上層協(xié)議造成的問題,Agilent還提供了全套的PCI-e 3.0協(xié)議測試方案,方案中包括了協(xié)議分析儀、探頭以及訓(xùn)練器。
下圖是PCI-e 3.0協(xié)議分析儀U4301A,它是一塊采用了Agilent AXIe架構(gòu)的插卡,可以插在AXIe的機(jī)箱里,通過探頭來捕獲高速的PCI-e 3.0信號,并通過外部PC控制顯示協(xié)議分析的結(jié)果。
AXIe是Agilent最新推出的高速模塊化儀器的架構(gòu),除了能給高性能的模塊提供穩(wěn)定可靠的機(jī)箱環(huán)境以外,還提供了背板的高速數(shù)據(jù)交換能力,主要用于需要大量數(shù)據(jù)處理的高性能板卡。除了PCI-e 3.0的協(xié)議分析儀以外,Agilent在這個(gè)平臺上還推出了業(yè)內(nèi)最高性能的U4154A高速邏輯分析儀模塊(可以用于DDR3的協(xié)議測試,支持高達(dá)4Gb/s的數(shù)據(jù)速率)、U4998A高速HDMI協(xié)議分析儀(支持HDMI1.4的測試)、M8190A高性能任意波發(fā)生器(12G/s采樣率@12位分辨率或8G/s采樣率@14位分辨率)等,因此用戶在這個(gè)統(tǒng)一的平臺上可以完成未來的很多高速總線的測試任務(wù)。1塊U4301A插卡可以支持到X8雙向的PCI-e 3.0/PCI-e2.0/PCI-e1.0的協(xié)議測試,2塊卡可以支持X16的測試并提供搞到8GB的存儲深度。為了支持復(fù)雜問題的分析和定位,U4301A還支持多達(dá)4級的觸發(fā)序列并預(yù)先定了多種錯(cuò)誤觸發(fā)條件,可以幫助用戶快速發(fā)現(xiàn)總線上的錯(cuò)誤。
要針對高速的PCI-e 3.0信號做正確的協(xié)議分析,可靠的探頭連接必不可少。由于PCI-e 3.0的信號經(jīng)過PCB傳輸后信號質(zhì)量惡化很大,因此PCI-e 3.0的接收芯片內(nèi)部有均衡電路來保證信號的可靠接收。而對于協(xié)議分析儀的探頭來說也存在同樣的問題,即如果不做均衡可能就無法可靠捕獲總線上的信號。因此針對PCI-e 3.0的協(xié)議測試,Agilent還提供了帶均衡功能的探頭,以下分別是針對計(jì)算機(jī)應(yīng)用和嵌入式應(yīng)用提供的2種探頭。
很多時(shí)候僅僅被動(dòng)地做總線上的協(xié)議捕獲和分析并不能全面驗(yàn)證系統(tǒng)在各種未知條件下可能出現(xiàn)的問題,因?yàn)閷?shí)際的測試環(huán)境能夠模擬出來的條件都是有限的。為了進(jìn)行更全面的測試,Agilent還提供了PCI-e 3.0的協(xié)議訓(xùn)練器U4305A。所謂訓(xùn)練器,就是可以人為設(shè)定要發(fā)送的PCI-e數(shù)據(jù)包的內(nèi)容來主動(dòng)和被測件進(jìn)行協(xié)議交互以更全面驗(yàn)證系統(tǒng)功能的儀器。U4305A設(shè)計(jì)成一個(gè)PCI-e 3.0的插卡類型,通過USB接口用外部PC進(jìn)行控制,可以直接插在主板的PCI-e插槽上進(jìn)行主板測試,也可以通過測試背板進(jìn)行PCI-e插卡的測試。U4305A還集成了LTSSM的自動(dòng)測試功能,可以快速發(fā)現(xiàn)系統(tǒng)在鏈路協(xié)商中的問題。下圖是U4305A及做LTSSM測試的界面。
4. 總結(jié)
綜上所述,PCI-e 3.0是新一代的高速總線,采用了很多和前一代完全不一樣的技術(shù)來克服高速數(shù)據(jù)傳輸?shù)男盘栙|(zhì)量問題,也帶來很多全新的測試挑戰(zhàn)。Agilent作為PCI-SIG的董事會(huì)成員之一,一直積極參與到PCI-e 3.0的規(guī)范制定和測試方法的實(shí)施中,并提供了覆蓋發(fā)送信號質(zhì)量測試、接收容限測試、協(xié)議分析、訓(xùn)練器等全套的測試方案。
下一篇: PLC、DCS、FCS三大控
上一篇: Atheros AR2317,一款