本發明涉及一種計算機測試裝置,特別涉及一種PCIe從設備測試裝置。
背景技術:
本發明涉及一種PCIe板卡(PCIe從設備)功能測試裝置,主要用于對計算機中使用的自主設計的PCIe板卡功能的測試。
PCIe總線是目前在各類計算機中大規模應用的一種局部總線。作為連接Cache和主存儲器的系統總線的延伸,起主要功能是連接外部設備。一般計算機中采用插板的形式,插板和主板通過PCIe總線互聯,實現對計算機功能的擴展。PCIe插板設計完成后,通常對其測試的方法是直接將其插入目標主機,針對設計功能編寫專門的軟件驅動程序與測試程序對其功能進行測試。
當計算機中使用的PCIe板卡功能繁多時,如果采用傳統方法對其進行測試,會有較大的局限性:由于團隊人力物力因素的限制,PCIe插板設計完成時,其目標機箱、驅動軟件尚無法到位以對其功能進行及時有效的測試,這將大大拖慢項目進展;此外,某些情況下,需要在現場對板卡進行維護檢修,笨重的機箱也給板卡維護人員帶來了較大的工作負擔。
技術實現要素:
本發明的目的在于提供一種PCIe從設備測試裝置,用于解決上述現有技術的問題。
本發明一種PCIe從設備測試裝置,其中,包括:測試控制主板和接口轉換底板;測試控制主板包括:測試激勵編輯模塊、被測設備行為監控模塊、嵌入式微處理器、PCIe事物層數據報文處理模塊、PCIe-IP核和鏈路狀態監控模塊;接口轉換底板包括:多個測試控制主板插槽和與之一一對應的多個被測設備插槽;多個測試控制主板插槽用于與測試控制主板連接;多個被測設備插槽用于連接被測設備;PCIe-IP核,用于將PCIE事物層數據報文模塊的輸出數據包,轉換為PCIe線路的物理信號,以及將PCIe線路的物理信號轉換為數據包輸入給PCIE事物層數據報文模塊;鏈路狀態監控模塊,將PCIe-IP核的鏈路狀態發送給處理器,處理器的對鏈路操作的請求,轉發給PCIe-IP核;PCIE事物層數據報文處理模塊,用于將PCIe-IP核的數據包進行解包并發送給被測設備行為監控模塊,以及將測試激勵編輯模塊的輸出數據進行打包,發送給PCIe-IP核;被測設備行為監控模塊,判斷被測設備返回數據包內是否正常,并將判斷結果發送給處理器;測試激勵編輯模塊,用于按照處理器的測試指令,產生相應的測試數據,發送給PCIE事物層數據報文處理模塊;處理器,用于根據用戶指令產生相應的命令,并根據被測設備返回的數據包,輸出給用戶。
根據本發明的PCIe從設備測試裝置的一實施例,其中,多個被測設備插槽具有不同鏈路寬度和接口形式。
根據本發明的PCIe從設備測試裝置的一實施例,其中,鏈路狀態包括鏈路的通斷、寬度以及速度。
根據本發明的PCIe從設備測試裝置的一實施例,其中,測試激勵編輯模塊、被測設備行為監控模塊、嵌入式微處理器、PCIe事物層數據報文處理模塊、PCIe-IP核和鏈路狀態監控模塊通過FPGA實現。
根據本發明的PCIe從設備測試裝置的一實施例,其中,接口轉換底板還包括測試控制主板與被測設備的供電模塊、電源復位管理模塊和按照PCIe規范設計的時鐘驅動模塊。
根據本發明的PCIe從設備測試裝置的一實施例,其中,測試控制主板還包括:用戶交互接口控制模塊,用于測試控制主板與用戶的外部設備連接。
根據本發明的PCIe從設備測試裝置的一實施例,其中,還包括:顯示模塊,連接嵌入式微處理器,用于顯示嵌入式微處理器的輸出結果。
根據本發明的PCIe從設備測試裝置的一實施例,其中,按鍵操作模塊,連接嵌入式微處理器,用于將用戶的操作指令輸入給嵌入式微處理器。
根據本發明的PCIe從設備測試裝置的一實施例,其中,PCIe-IP核配置為RC-Port。
根據本發明的PCIe從設備測試裝置的一實施例,其中,測試控制主板還包括:PCIe連接器,用于與主板插槽連接。
綜上,本發明的PCIe從設備測試裝置,采用帶有PCIe RootComplex端口(RC-Port)IP核的FPGA來實現對自主設計的板卡進行功能測試的裝置,能夠提升便捷性,提高團隊的工作效率。
附圖說明
圖1所示為本發明一種PCIe從設備測試裝置的示意圖。
具體實施方式
為使本發明的目的、內容、和優點更加清楚,下面結合附圖和實施例,對本發明的具體實施方式作進一步詳細描述。
圖1所示為本發明一種PCIe從設備測試裝置的示意圖,如圖1所示,本發明PCIe從設備測試裝置包括:測試控制主板20和接口轉換底板21。測試控制主板20包括:FPGA系統19、用戶輸入接口、輸出顯示接口和PCIe連接器10。FPGA系統19由FPGA芯片和能夠保證FPGA正常工作的最小系統組成,FPGA芯片內部功能模塊包括:測試激勵編輯模塊1、被測設備行為監控模塊2、嵌入式微處理器IP核3、用戶交互接口控制模塊4、PCIe事物層數據報文(TLP)處理模塊7、PCIe IP核8和鏈路狀態監控模塊9。接口轉換底板21包括:電源與復位管理模塊14、PCIe時鐘管理模塊18、測試控制主板插槽11-13和與之一一對應的具有不同鏈路寬度和接口形式的被測設備插槽15-17。
如圖1所示,接口轉換底板21上設置了測試控制主板20與被測設備的供電模塊、電源復位管理模塊14和按照PCIe規范設計的時鐘驅動模塊18。考慮到PCIe總線的物理信號為高速串行差分信號,為了保障信號傳輸的質量,在接口轉換底板21上,為不同鏈路寬度、不同接口形式的被測設備設置獨立的插槽15-17,每個被測設備插槽15-17獨立地對應一個測試控制主板插槽11-13。這樣做的目的是避免線路板上的高速信號出現分支,影響信號傳輸的質量。
如圖1所示,測試控制主板20的功能主要由一片FPGA芯片完成。FPGA芯片需要具備PCIe總線IP核8,并且這個IP核可以配置為RC-Port。此外,FPGA的容量還要能夠滿足應用的需要:支持嵌入式處理器軟/硬IP核及數據處理部分的邏輯。
如圖1所示,PCIE連接器10用于插入對應的主板插槽11-13內。被測設備插入對應的被測設備插槽15-17中。
如圖1所示,PCIe-IP核8(RC模式),將TLP模塊7的輸出數據包,轉換為PCIe線路的物理信號,以及將PCIe線路的物理信號轉換為數據包輸入給TLP模塊7。
如圖1所示,鏈路狀態監控模塊9,用于將鏈路狀態(鏈路的通斷、寬度、速度等狀態)信息發送給鏈路狀態監控模塊9,當需要改變鏈路狀態,如速度,由PCIe-IP核改變與被測設備之間的鏈路速度。
鏈路狀態監控模塊9,將PCIe-IP核8的鏈路狀態發送給嵌入式微處理器IP核3,嵌入式微處理器IP核3的對鏈路操作的請求,轉發給PCIe-IP核8。TLP處理模塊7,將PCIe-IP核8的數據包進行解包發送給被測設備行為監控模塊2,將測試激勵編輯模塊1的輸出數據進行打包,發送給PCIe-IP核8;被測設備行為監控模塊2,判斷被測設備返回數據包內是否正常,并將判斷結果發送給嵌入式微處理器IP核3,以呈現給用戶;測試激勵編輯模塊1,用于按照嵌入式微處理器IP核3的測試指令,產生相應的測試數據發送給TLP處理模塊7;嵌入式微處理器IP核3,將用戶指令產生相應的命令,并根據被測設備返回的數據包,以呈現給用戶。用戶交互接口控制模塊4,用于與按鍵撥碼開關5以及LED指示燈顯示屏6交互。按鍵撥碼開關5用于用戶輸入指令。LED指示燈顯示屏6用于將被測設備檢測結果和鏈路狀態信息顯示給用戶。
如圖1所示,FPGA系統中,PCIe-IP核8與PCIe連接器10直接相連,負責接收PCIe電氣信號,進行物理層和數據鏈路層的處理,然后將接收到TLP傳輸給應用邏輯;接收應用邏輯編輯好的TLP,經過數據鏈路層和物理層的處理、打包,然后經過PCIe總線發送給被測設備。PCIeIP核8還具有物理層狀態監控和控制接口,可將物理層監控到的鏈路狀態傳送給操作用戶,或者由操作用戶發起改變鏈路寬度、鏈路速度的動作。TLP處理模塊7負責接收測試激勵,并按照PCIe IP核8接口協議要求打包數據,發送測試激勵,以及從PCIe IP核8接收數據進行協議解析,得到被測設備發送來的數據,傳送給被測設備行為監控模塊2。嵌入式微處理器IP核3負責系統整體的管理與調度功能:從用戶交互接口控制模塊4,得到用戶輸入的測試激勵屬性,將測試激勵屬性傳送給測試激勵編輯模塊1進行測試激勵;從被測設備行為監控模塊2獲取被測設備發送的數據,從鏈路狀態監控模塊9獲取當前鏈路狀態信息,通過用戶交互接口控制模塊4顯示給用戶。
如圖1所示,PCIe從設備測試裝置能夠快速對PCIe從設備板卡的基本功能進行測試。對被測設備進行測試的內容主要有以下幾個方面:鏈路是否能夠正常工作,BAR空間讀寫,中斷信號監聽,DMA傳輸測試。
如圖1所示,通過接口轉換底板21對測試控制主板和被測設備進行上電、復位后,正常情況下,首先進行PCIe鏈路訓練與初始化,工作完成后,PCIe鏈路兩端設備才能夠正常工作。這一過程可由鏈路狀態監控模塊9監控PCIe IP核8的接口得到。將監控結果顯示給操作用戶,用戶可以得知鏈路訓練和初始化過程是否成功完成,以及若未能成功完成、在哪一環節出現了問題。
如圖1所示,BAR空間讀寫是PCIe設備需要支持的最基本功能。鏈路初始化完成后,用戶可以對被測設備的進行BAR空間讀寫測試。用戶首先需要編輯需要進行讀寫的地址、待寫入的數據、待寫入數據數目等測試激勵屬性,啟動測試后,FPGA系統19通過PCIe IP核8將測試激勵發送給被測設備,對被測設備的BAR空間進行讀寫。某些類型的讀寫訪問,如Memory空間讀,I/O空間讀、寫等操作需要被測設備返回完成報文。被測設備行為監控模塊2負責接收這些完成報文,并判斷這些完成報文是否符合預期,如是否返回了預期的正確負載,負載字數是否與包頭中規定的字數一直等,將結果顯示給用戶。
如圖1所示,某些被測設備支持中斷功能與DMA傳輸功能。中斷功能與DMA功能本質上都是由被測設備作為傳輸發起者,主動向鏈路對端發送報文。測試時,首先需要用BAR空間讀寫的方式,編輯測試激勵,對被測設備進行正確的配置,觸發被測設備的中斷或啟動被測設備進行DMA傳輸。隨后,被測設備行為監控模塊2監聽被測設備傳輸的報文、判斷收到的中斷消息報文或DMA讀寫報文是否正確合理,如消息格式是否正確,中斷編號是否正確,DMA訪問是否存在地址越界錯誤等,將結果顯示給用戶,按照需要通知未處理其模塊編輯完成報文,回傳給被測設備以完成通信。
如圖1所示,本PCIe從設備測試裝置分為測試控制主板20與接口轉換底板21兩部分。接口轉換底板21用于提供裝置電源、復位功能和參考時鐘,以及對不同鏈路寬度、不同接口形式的被測設備進行適配。測試控制主板20中,由PCIe IP核實現與被測設備PCIe端口的連接與通信;通過FPGA中的通用邏輯部分實現數據包的編輯解析與接口狀態監控;FPGA中使用嵌入式微處理器IP核實現對測試功能整體的管理控制,和對用戶接口的控制來與操作用戶的交互,接收操作用戶輸入的測試激勵屬性,并將測試結果顯示給操作用戶。
本發明PCIe從設備測試裝置用于某型號計算機中自主設計的PCIe從設備板卡功能測試。測試功能通過操作用戶通過按鍵輸入控制,同時可將測試結果與操作界面通過顯示屏呈現給操作用戶。FPGA中PCIe IP核及嵌入式微處理器IP核的使用,將復雜的功能集成在一片芯片中,提高了系統集成度,省去了笨重的機箱和種類繁多的協議芯片,做到了低成本與小型化,更加適合操作人員便攜,隨時隨地對PCIe從設備進行快速有效的測試,能夠有效地提升團隊的工作效率。
以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明技術原理的前提下,還可以做出若干改進和變形,這些改進和變形也應視為本發明的保護范圍。