解決復雜的PCIe鏈接的技巧
PCI Express(PCIe)是一個嵌入式系統普遍采用的接口,提供一些關鍵的優(yōu)勢包括自動檢測,通道配置,強大的誤差檢測和糾正,高通道到通道的偏差容許量和低功耗。因為該接口的能力和多功能性,設計師有時需要調試錯誤的PCIe連接。Reginald介紹了設計人員改如何去解決這個問題。
本文引用地址:http://m.butianyuan.cn/article/152073.htm當調試1個PCIe通道,沒有顯示鏈接的跡象,設計人員可以采取幾個步驟來解決這個問題。首先,確認沒有任何鏈路終端設備是停留在復位狀態(tài)。下一步,探測信號線,并確保它們是正確的水平。此外,檢查是否有根據數據手冊規(guī)定的參考時鐘提供給兩個設備。非擴頻時鐘必須限制在PCIe ± 300ppm。如果需要用到擴頻時鐘,它必須是向下擴頻,而且這兩個系統必須工作在一個共同的時鐘之下。
另一個步驟是檢查是否有用不正確的或有損壞的旁路電容,確保電容器處于75至200 nF而且完好。最重要的是驗證一個鏈接的最內層和最外層的通道。對于多通道連接,PCIe通訊協定允許從最高的通道或者最低的通道開始進行自動向下協商鏈接。鏈路寬度減少到x1并檢查是否能鏈接上。如果寄存器訪問或鏈接的分離是不可能的,則移除其余鏈接的旁路電容。
減少信號速度需要從一個變量的方程中得出。雖然是罕見的,但有些Gen1的設備連接到Gen2的設備時會有錯誤產生。為了解決這些不兼容的的終端設備,PCIe設備供應商通常提供一些特殊的特性來使得Gen2轉換并自動協調速度回到Gen1的默認值來鏈接。
如果在采取這些步驟之后仍然沒有連接,這意味著通道的距離構成問題。當工作在遠距離中(15’’至20’’或更長),如果通道均衡設置比較差,也沒有更高級別的管理器和系統計時器限制重試,PCIe-Gen2設備會在在Gen1和Gen2速率上自動來回循環(huán)的進協商。如果該鏈接是15’’或更長的距離,改變接收器均衡水平和(或者)發(fā)送器預加重可能能有效的解決問題。
另外一個步驟是檢查接收器偵測的特定設備的屏蔽寄存器。忽略接收器的偵測并允許該設備立即發(fā)送鏈接協議。發(fā)送鏈接系列信號到Rx會初始化適當的鏈接握手協議。
如果這些步驟不起作用,可能有必要在兩個不連接的設備間安置一個邏輯分析儀。當沒有邏輯分析儀時,在一些PCIe交換器中有一種內部的調試偵測工具可以跟蹤鏈接的狀態(tài),執(zhí)行基本觸發(fā)以及提供有價值的的芯片狀態(tài)和鏈接狀態(tài)。
部分連接
因為為了設置均衡器達到更長的連接,解決邊緣系統時鐘和傳統協議錯誤的問題,系統工作在Gen1而不是在Gen2連接,那么請嘗試增加通道的均衡。確認時鐘源滿足Gen2抖動的要求也可以解決此問題。即使是Gen2,首先保證連接能在Gen1的速率上鏈接,因此未能在Gen2上鏈接往往是通道質量和均衡需求的結果。鑒于這一事實,設計人員應該:
* 確保鏈接的兩端都是適用于Gen2
* 確認PCIe參考時鐘抖動在變動規(guī)范內
* 確認強制工作在Gen1是否是穩(wěn)固的連接
* 測試特定寄存器,盡可能調整寄存器去降低空閑的電氣的閥值。
* 如果此鏈接長度是10’’至15’’或者更多,整Rx和Tx均衡器(如圖示1和2所示)
圖1:一個接收器Rx信號在均衡之前阻止的范圍。
圖2: 在均衡調整之后的Rx信號,最后,設計人員應該仔細的檢查正誤表,那么答案可能就在那里。
評論