引 言
PCIe是一個在很多領域中都有著廣泛且重要應用的接口,經過十幾年的發(fā)展,PCIe接口已經從1.0發(fā)展到現(xiàn)在的3.0,4.0也已即將開始應用。PCIe技術的物理層基于串行SerDes技術,因此用極少的物理連線就可以實現(xiàn)高速的數(shù)據傳輸。筆者在前段時間碰上了兩個PCIe接口失效的問題,第一個經過分析是PCIe的ESD防護沒有做好導致通訊中斷,第二個是電源負載過大導致PCIe供電異常,FPGA PCIe IPCORE邏輯時鐘失鎖。現(xiàn)把這兩個問題的定位和解決過程與讀者一同分享。
1.系統(tǒng)概述及問題描述
現(xiàn)簡略的介紹該系統(tǒng),其簡略框圖如下:
該系統(tǒng)由兩個模塊組成,前端模塊可插拔,在插入后會傳輸信號給FPGA,信號經過前端接收,A/D采樣后進入FPGA做信號處理,然后FPGA把處理過的信號通過PCIe接口傳送給工控機進行后處理及顯示。工控機也會通過PCIe接口控制FPGA的工作狀態(tài)。前端的模塊是可插拔的。
第一個問題是該機器在做測試時,發(fā)現(xiàn)在換模塊時會偶發(fā)的出現(xiàn)工控機與FPGA的通訊異常的現(xiàn)象,該現(xiàn)象出現(xiàn)的頻率很低,測試組的同事反饋在做測試時經常會有換模塊的操作,但該現(xiàn)象基本上幾天才出現(xiàn)一次,雖然該現(xiàn)象概率低,但是問題影響甚為重大,必須攻破。
第二個問題則是系統(tǒng)不接交流電而使用電池運行在某種模式下,在達到10%低電量時,會必發(fā)的出現(xiàn)PCIe通訊異常。
2.第一個問題定位及解決過程