中電科思儀科技股份有限公司 焦志超
本文針對(duì)在數(shù)字類產(chǎn)品測(cè)試中對(duì)高速多通道并行信號(hào)處理的要求,設(shè)計(jì)了一種基于PCIe和Aurora協(xié)議的串行數(shù)據(jù)傳輸系統(tǒng)。該系統(tǒng)采用FPGA芯片作為控制中心和信號(hào)處理中心,利用高速串行接口來(lái)傳輸數(shù)據(jù),F(xiàn)PGA內(nèi)各IP模塊間的通信基于AXI總線實(shí)現(xiàn)。該技術(shù)在數(shù)字通道板卡設(shè)計(jì)中得到了成功應(yīng)用。
數(shù)字類產(chǎn)品的功能驗(yàn)證是其設(shè)計(jì)、生產(chǎn)、故障檢測(cè)過(guò)程的重要組成部分。隨著被測(cè)產(chǎn)品工作速率的提高和測(cè)試接口的增多,在其測(cè)試驗(yàn)證中需要能夠產(chǎn)生高速多通道激勵(lì),并接收高速多通道響應(yīng)的數(shù)據(jù)傳輸系統(tǒng),由上位機(jī)軟件控制測(cè)試過(guò)程和顯示測(cè)試結(jié)果。本文針對(duì)以上需求,基于FPGA芯片和PCIe 、Aurora協(xié)議設(shè)計(jì)了一種多通道數(shù)據(jù)傳輸系統(tǒng),重點(diǎn)針對(duì)FPGA中高速串行收發(fā)器(GTH)的應(yīng)用方案進(jìn)行了分析,解決了多通道高速數(shù)字信號(hào)傳輸問(wèn)題,對(duì)芯片或板卡間多通道高速傳輸技術(shù)的研究和數(shù)字系統(tǒng)相關(guān)測(cè)試設(shè)備的設(shè)計(jì)具有一定的理論和實(shí)踐意義。
本系統(tǒng)利用Xilinx公司的FPGA作為主控芯片,利用FPGA實(shí)現(xiàn)高速多通道信號(hào)的激勵(lì)發(fā)送和響應(yīng)采集功能,系統(tǒng)的總體框圖如圖1所示。FPGA分為主控芯片和多通道數(shù)據(jù)處理芯片,其中,主控芯片作為主設(shè)備稱為MASTER芯片,多通道數(shù)據(jù)處理芯片稱為SLAVE芯片。主控芯片負(fù)責(zé)與上位機(jī)間通過(guò)PCIe接口在DMA模式下進(jìn)行測(cè)試數(shù)據(jù)的傳輸,并負(fù)責(zé)控制命令的傳輸,主控芯片和數(shù)據(jù)處理芯片間通過(guò)Aurora進(jìn)行數(shù)據(jù)交互。受FPGA芯片資源的限制,單片F(xiàn)PGA無(wú)法實(shí)現(xiàn)多通道的測(cè)試和數(shù)據(jù)存儲(chǔ)需求,這里采用四個(gè)數(shù)據(jù)處理芯片共實(shí)現(xiàn)64個(gè)通道數(shù)據(jù)的發(fā)送和采集,每片F(xiàn)PGA負(fù)責(zé)16通道的數(shù)據(jù)發(fā)生、采集和存儲(chǔ)操作等功能。數(shù)據(jù)處理芯片通過(guò)64路高速HP IO發(fā)送激勵(lì)信號(hào),可實(shí)現(xiàn)測(cè)試系統(tǒng)對(duì)單通道數(shù)據(jù)率800Mbps的指標(biāo)要求。數(shù)據(jù)處理芯片經(jīng)過(guò)數(shù)字波形收發(fā)電路模塊與被測(cè)系統(tǒng)相連,對(duì)被測(cè)系統(tǒng)施加激勵(lì)并對(duì)被測(cè)系統(tǒng)的響應(yīng)信號(hào)進(jìn)行采集。
圖1 多通道數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu)圖
主控FPGA與上位機(jī)間通過(guò)PCIe總線進(jìn)行數(shù)據(jù)傳輸,PCIe2.0下單通道傳輸速率可達(dá)500MB/s,多通道數(shù)據(jù)率為單通道數(shù)據(jù)率乘以通道數(shù),如×8通道的數(shù)據(jù)率可達(dá)4GB/s。FPGA間采用Aurora協(xié)議進(jìn)行通信,Aurora協(xié)議是由Xilinx公司提供的一個(gè)開放、免費(fèi)的鏈路層協(xié)議,可以用來(lái)進(jìn)行點(diǎn)到點(diǎn)的串行數(shù)據(jù)傳輸,在實(shí)現(xiàn)高性能數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)中具有高效率和簡(jiǎn)單易用的特點(diǎn)。本文采用Xilinx提供的IP核,該核用Aurora64B/66B協(xié)議將物理層高速串行收發(fā)器的操作進(jìn)行封裝,方便用戶進(jìn)行上層設(shè)計(jì),Kintex UltraScale系列的xcku060 FPGA可支持單通道傳輸速率最大為16.375Gbps。PCIe的接口采用的是AXI4的總線模式,該總線廣泛適用于數(shù)據(jù)高速傳輸場(chǎng)合,設(shè)計(jì)中各模塊數(shù)據(jù)接口都采用AXI4作為通信接口,為此選用Chip2Chip核,實(shí)現(xiàn)PCIe與Aurora間的AXI通信。在主控FPGA中Chip2Chip核配置為主模式。
數(shù)據(jù)處理FPGA通過(guò)Aurora64B/66B核與主控FPGA相互連接,同樣采用Chip2Chip核為Aurora64B/66B核和后端數(shù)據(jù)存儲(chǔ)單元提供橋接作用,此處Chip2Chip核配置為從模式。Chip2Chip通過(guò)AXI4總線經(jīng)過(guò)AXI Interconnect Core與MIG核相連,對(duì)DDR3存儲(chǔ)器進(jìn)行讀寫。其中,AXI Interconnect Core實(shí)現(xiàn)數(shù)據(jù)寬度和時(shí)鐘速率的轉(zhuǎn)換,實(shí)現(xiàn)信號(hào)跨時(shí)鐘域的設(shè)計(jì),DDR3實(shí)現(xiàn)對(duì)原始激勵(lì)信號(hào)的存儲(chǔ),此處選用的DDR3內(nèi)存條可存儲(chǔ)4GB的測(cè)試數(shù)據(jù)。數(shù)據(jù)發(fā)生時(shí),需要主機(jī)模式的AXI接口讀數(shù)據(jù)模塊AXI Master對(duì)DDR3進(jìn)行數(shù)據(jù)讀取。數(shù)據(jù)經(jīng)過(guò)FIFO緩存后,以測(cè)試中所要求的數(shù)據(jù)發(fā)生速率進(jìn)入信號(hào)處理模塊,經(jīng)過(guò)編碼等處理后得到最終發(fā)送的激勵(lì)波形數(shù)據(jù)。被測(cè)系統(tǒng)在激勵(lì)信號(hào)的作用下產(chǎn)生的響應(yīng)信號(hào)經(jīng)過(guò)HP IO進(jìn)入數(shù)據(jù)處理FPGA,信號(hào)處理單元對(duì)響應(yīng)信號(hào)進(jìn)行比對(duì)分析,得出發(fā)生故障的通道和故障數(shù)據(jù)對(duì)應(yīng)的激勵(lì)數(shù)據(jù)等最終的測(cè)試結(jié)果。測(cè)試結(jié)果經(jīng)過(guò)Chip2Chip核和Aurora64B/66B傳回主控FPGA,并通過(guò)PCIe接口上傳到上位機(jī),生成測(cè)試結(jié)果文件,并在上位機(jī)軟件中進(jìn)行顯示。數(shù)據(jù)處理FPGA設(shè)計(jì)框圖如圖2所示。
圖2 數(shù)據(jù)處理FPGA設(shè)計(jì)框圖
本設(shè)計(jì)中為達(dá)到64個(gè)通道的數(shù)據(jù)傳輸,共采用了4片數(shù)據(jù)處理FPGA,每片數(shù)據(jù)處理FPGA負(fù)責(zé)16個(gè)通道的數(shù)據(jù)處理。與4片數(shù)據(jù)處理FPGA的連接需要占用主控FPGA的GTH接口, PCIe接口也要占用主控FPGA的GTH接口。FPGA每個(gè)串行高速收發(fā)Quad中包含四個(gè)串行高速收發(fā)器Channel和一個(gè)Common模塊,Common模塊能夠?yàn)楦咚偈瞻l(fā)器提供數(shù)據(jù)率較高的高性能時(shí)鐘支持。為合理使用主控FPGA有限的GTH接口資源和其中的Common模塊資源,保證主控FPGA與數(shù)據(jù)處理FPGA間的高速率傳輸,本文的Aurora采用了主從核的設(shè)計(jì)方案。設(shè)計(jì)框圖中每個(gè)Quad采用了一個(gè)Aurora主核和一個(gè)Aurora從核,主從核共享一個(gè)Common模塊,每個(gè)核占用兩個(gè)高速收發(fā)器Channel,主控FPGA的兩個(gè)高速收發(fā)器Quad資源實(shí)現(xiàn)了與后端4片F(xiàn)PGA的高速穩(wěn)定傳輸。
IBERT(Bit Error Ratio Tester)是Xilinx為調(diào)試FPGA芯片內(nèi)高速串行接口比特誤碼率性能所提供的工具,通過(guò)IBERT IP核我們可以對(duì)FPGA高速收發(fā)器硬件接口進(jìn)行誤碼率測(cè)試、調(diào)整收發(fā)器參數(shù)配置,并能方便準(zhǔn)確地進(jìn)行眼圖掃描,驗(yàn)證硬件PCB信號(hào)完整性和硬件數(shù)據(jù)傳輸?shù)目煽啃院头€(wěn)定性,可應(yīng)用于設(shè)計(jì)的故障定位。
在IBERT配置界面中可選擇合適的傳輸協(xié)議、速率、參考時(shí)鐘、回環(huán)模式,并能快速完成擺幅、預(yù)加重等參數(shù)的設(shè)置,發(fā)送器發(fā)送偽隨機(jī)碼,接收器接收并將信號(hào)進(jìn)行解析后檢查數(shù)據(jù)的正確性,并觀察信號(hào)眼圖是否滿足設(shè)計(jì)要求。從信號(hào)完整性角度來(lái)看,眼睛睜的越大,表明PCB板信號(hào)完整性越好,信道質(zhì)量越好。通過(guò)測(cè)試,鏈路處于正常狀態(tài),且得到了清晰的眼圖,眼圖張開率為77.78%,沒(méi)有出現(xiàn)接收數(shù)據(jù)錯(cuò)誤。
結(jié)語(yǔ):本文基于FPGA芯片,采用PCIe、Aurora協(xié)議設(shè)計(jì)了一種高速多通道數(shù)據(jù)傳輸系統(tǒng)。分析了主控FPGA和數(shù)據(jù)處理FPGA的具體設(shè)計(jì)方案,該技術(shù)方案可應(yīng)用于多路高速信號(hào)傳輸和相關(guān)數(shù)字系統(tǒng)測(cè)試的應(yīng)用領(lǐng)域,其中,基于AXI4的IP核互聯(lián)方法具備較高的傳輸效率和可靠性,并極大提高了設(shè)計(jì)開發(fā)效率,Aurora協(xié)議和IBERT工具可廣泛應(yīng)用于FPGA在高速數(shù)據(jù)傳輸?shù)膽?yīng)用場(chǎng)合。該設(shè)計(jì)提升了傳輸效率,擴(kuò)展了測(cè)試通道數(shù),可滿足大數(shù)據(jù)存儲(chǔ)深度和多管腳測(cè)試需求,進(jìn)而提高了數(shù)字系統(tǒng)產(chǎn)品測(cè)試、故障分析的效率。