任敏 魏驍 黃毅龍
摘? 要:針對(duì)某型高速嵌入式信息安全設(shè)備的測(cè)試需求,設(shè)計(jì)一種基于FPGA的便攜式高速測(cè)試工裝。該測(cè)試工裝包括上位機(jī)控制臺(tái)和下位機(jī)測(cè)試平臺(tái)兩部分,上位機(jī)控制臺(tái)采用軟件形式實(shí)現(xiàn),完成測(cè)試樣本下發(fā)和測(cè)試數(shù)據(jù)儲(chǔ)存,并提供人機(jī)交互界面;下位機(jī)測(cè)試平臺(tái)采用FPGA作為核心處理單元,完成與上位機(jī)控制臺(tái)及被測(cè)設(shè)備的接口轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)發(fā)。測(cè)試結(jié)果表明:基于FPGA的便攜式高速測(cè)試工裝能夠搭建穩(wěn)定可靠的模擬測(cè)試環(huán)境,滿足某型高速嵌入式信息安全設(shè)備的能力測(cè)試需求。
關(guān)鍵詞:測(cè)試工裝;FPGA;高速;便攜式
中圖分類號(hào):TP206+.1? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2096-4706(2023)19-0037-05
Design of Portable High-speed Testing Fixture Based on FPGA
REN Min, WEI Xiao, HUANG Yilong
(National Computer System Engineering Research Institute of China, Beijing? 100083, China)
Abstract: A portable high-speed testing fixture based on FPGA is designed to meet the testing requirements of a high-speed embedded information security device. The testing fixture includes two parts: the upper computer console and the lower computer testing platform. The upper computer console is implemented by software, which distributes testing samples, saves testing data, and provides the man-machine interaction interface. FPGA is used as the core processing unit in the lower computer testing platform, which completes interface conversion and data forwarding with the upper computer console and the tested device. Testing results show that the portable high-speed testing fixture based on FPGA can build a stable and reliable simulation testing environment to meet the capability testing requirements of the high-speed embedded information security device.
Keywords: testing fixture; FPGA; high-speed; portable
0? 引? 言
嵌入式信息安全設(shè)備主要應(yīng)用于衛(wèi)星通信領(lǐng)域的信息安全加密保護(hù),通常采用獨(dú)立的板卡或者模塊形式實(shí)現(xiàn)[1],使用時(shí)通過專用接口嵌入通信宿主設(shè)備內(nèi)部,隨通信宿主設(shè)備一起開機(jī)啟動(dòng),并由通信宿主設(shè)備提供電源和數(shù)據(jù)。嵌入式信息安全設(shè)備和通信宿主設(shè)備通常由不同廠家負(fù)責(zé)研制,通信宿主設(shè)備不能配合嵌入式信息安全設(shè)備開展全周期測(cè)試。測(cè)試工裝作為一種常用的陪測(cè)設(shè)備[2],可以模擬通信宿主設(shè)備的硬件接口和軟件功能[3],配合嵌入式信息安全設(shè)備搭建模擬測(cè)試環(huán)境,驗(yàn)證被測(cè)設(shè)備的各項(xiàng)能力指標(biāo)。
測(cè)試工裝通常包括上位機(jī)控制臺(tái)和下位機(jī)測(cè)試平臺(tái)兩部分[4,5],傳統(tǒng)的測(cè)試工裝核心處理單元多采用CPU+FPGA架構(gòu)實(shí)現(xiàn)[6,7],CPU連接上位機(jī),實(shí)現(xiàn)下位機(jī)測(cè)試平臺(tái)與上位機(jī)控制臺(tái)的接口通信和指令解析功能,F(xiàn)PGA連接被測(cè)設(shè)備,實(shí)現(xiàn)下位機(jī)測(cè)試平臺(tái)與被測(cè)設(shè)備的接口轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)發(fā)功能,這種設(shè)計(jì)方案功能劃分比較清晰,設(shè)計(jì)相對(duì)容易實(shí)現(xiàn),但是在高速測(cè)試應(yīng)用方面具有一定的局限性。比如:低性能CPU處理能力差、接口速率慢,不能滿足被測(cè)設(shè)備的高速處理能力的測(cè)試需求,而高性能CPU一般體積大、功耗高,平臺(tái)設(shè)計(jì)多為大型獨(dú)立式設(shè)備[8],外出測(cè)試攜帶不方便,并且需要同時(shí)開發(fā)維護(hù)CPU和FPGA兩個(gè)處理單元,人員成本相對(duì)較高。本文針對(duì)某型高速嵌入式信息安全設(shè)備的能力測(cè)試需求,同時(shí)考慮降低設(shè)計(jì)成本、提高設(shè)備便攜性,提出一種基于FPGA的便攜式高速測(cè)試工裝設(shè)計(jì)。
1? 方案設(shè)計(jì)
基于FPGA的便攜式高速測(cè)試工裝包括上位機(jī)控制臺(tái)和下位機(jī)測(cè)試平臺(tái)兩部分,上位機(jī)控制臺(tái)以軟件形式實(shí)現(xiàn),主要完成測(cè)試樣本生成和指令下發(fā)、測(cè)試數(shù)據(jù)實(shí)時(shí)存儲(chǔ)、測(cè)試結(jié)果統(tǒng)計(jì)和顯示等功能,并提供人機(jī)交互界面,上位機(jī)控制臺(tái)軟件安裝運(yùn)行在通用測(cè)試計(jì)算機(jī)中。下位機(jī)測(cè)試平臺(tái)用于模擬通信宿主設(shè)備,測(cè)試平臺(tái)提供的物理接口與通信宿主設(shè)備完全一致,可以為嵌入式被測(cè)設(shè)備提供安裝位置、供電電源以及數(shù)據(jù)通路。某型高速嵌入式信息安全設(shè)備的業(yè)務(wù)加解密處理速率不低于300 Mbit/s,對(duì)外數(shù)據(jù)通信采用高速SGMII接口實(shí)現(xiàn),為了滿足其測(cè)試應(yīng)用需求,下位機(jī)測(cè)試平臺(tái)對(duì)上采用UDP協(xié)議的千兆網(wǎng)口實(shí)現(xiàn)與上位機(jī)控制臺(tái)的接口通信和數(shù)據(jù)交互,對(duì)下采用SGMII高速接口實(shí)現(xiàn)與被測(cè)設(shè)備的接口轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)發(fā)。測(cè)試平臺(tái)可以同時(shí)安裝兩塊嵌入式信息安全設(shè)備,模擬兩個(gè)通信終端之間的傳輸信息的加密和解密過程,整個(gè)測(cè)試系統(tǒng)連接關(guān)系如圖1所示。
1.1? 硬件設(shè)計(jì)
下位機(jī)測(cè)試平臺(tái)的核心處理單元采用1片高性能FPGA實(shí)現(xiàn),F(xiàn)PGA選用XILINX公司目前市場(chǎng)廣泛應(yīng)用的XC7K325T芯片,XC7K325T內(nèi)部集成了豐富的邏輯單元和塊RAM存儲(chǔ)資源,并且具有8個(gè)GTX高速序列化接口,是一款性價(jià)比性相對(duì)較高的FPGA芯片,滿足便攜式高速測(cè)試工裝的接口通信和數(shù)據(jù)處理需求。測(cè)試平臺(tái)硬件功能原理如圖2所示,F(xiàn)PGA對(duì)外輸出2路獨(dú)立的SGMII接口分別連接兩塊嵌入式被測(cè)設(shè)備,輸出1路千兆網(wǎng)口連接上位機(jī)控制臺(tái),輸出2路指示燈分別顯示兩塊被測(cè)設(shè)備的運(yùn)行狀態(tài)。測(cè)試平臺(tái)的SGMII接口在物理形態(tài)上與被測(cè)的某型高速嵌入式信息安全設(shè)備配對(duì)設(shè)計(jì),采用航空插頭連接器實(shí)現(xiàn);千兆網(wǎng)口在物理形態(tài)上采用標(biāo)準(zhǔn)RJ45形式實(shí)現(xiàn),標(biāo)準(zhǔn)網(wǎng)線可以直接接入連接。測(cè)試平臺(tái)硬件設(shè)計(jì)遵循小型化原則,配套的結(jié)構(gòu)機(jī)殼便攜小巧,兩塊嵌入式被測(cè)設(shè)備通過測(cè)試平臺(tái)上方的對(duì)應(yīng)接口進(jìn)行插接安裝,操作過程方便容易。
1.2? 軟件設(shè)計(jì)
測(cè)試工裝軟件包括上位機(jī)控制臺(tái)軟件和下位機(jī)測(cè)試平臺(tái)FPGA軟件兩部分。
1.2.1? 上位機(jī)控制臺(tái)軟件
上位機(jī)控制臺(tái)軟件在Qt Creator 5.5環(huán)境下開發(fā),該軟件提供了大量的API和實(shí)用工具,界面形式友好,開發(fā)效率較高。上位機(jī)控制臺(tái)主要實(shí)現(xiàn)測(cè)試需要的測(cè)試數(shù)據(jù)生成、控制指令下發(fā)、實(shí)時(shí)數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)收發(fā)統(tǒng)計(jì)、自檢狀態(tài)監(jiān)控、重要日志上報(bào)等功能。通過上位機(jī)控制臺(tái)軟件可以便捷地的執(zhí)行各項(xiàng)測(cè)試指令,同時(shí)直觀地顯示測(cè)試結(jié)果,便于測(cè)試人員統(tǒng)計(jì)分析,上位機(jī)控制臺(tái)軟件界面如圖3所示,整個(gè)軟件界面可劃分為設(shè)備連接管理、日志顯示、發(fā)送控制、接收數(shù)據(jù)顯示、自檢狀態(tài)上報(bào)、幀計(jì)數(shù)統(tǒng)計(jì)等幾個(gè)重要功能。
1)設(shè)備連接管理:主要用于管理和配置下位機(jī)控制臺(tái)的網(wǎng)絡(luò)通信參數(shù),包括IP地址、端口號(hào)、設(shè)備標(biāo)識(shí)、通信協(xié)議等,實(shí)現(xiàn)上位機(jī)控制臺(tái)與下位機(jī)測(cè)試平臺(tái)的千兆網(wǎng)絡(luò)連接和數(shù)據(jù)通信。
2)日志顯示:主要用于完成測(cè)試過程中重要信息的實(shí)時(shí)上報(bào)顯示,輔助測(cè)試人員分析解決問題。
3)發(fā)送控制:主要用于管理和設(shè)置明文樣本數(shù)據(jù)的發(fā)送指令參數(shù),包括:測(cè)試幀類型、加密方設(shè)備和解密方設(shè)備、明密方式、發(fā)送幀的數(shù)量、發(fā)送速率控制、發(fā)送幀的長(zhǎng)度等。
4)接收數(shù)據(jù)顯示:主要用于讀取顯示本地存儲(chǔ)的測(cè)試數(shù)據(jù),包括加密后密文測(cè)試數(shù)據(jù)和解密后明文測(cè)試數(shù)據(jù)。
5)自檢狀態(tài)上報(bào):主要用于顯示被測(cè)設(shè)備的自檢狀態(tài)信息,監(jiān)控被測(cè)設(shè)備的自身運(yùn)行狀態(tài)。
6)幀計(jì)數(shù)統(tǒng)計(jì):主要用于統(tǒng)計(jì)顯示本次測(cè)試的發(fā)送幀、接收幀和錯(cuò)誤幀的具體數(shù)量,通過相關(guān)數(shù)據(jù)分析驗(yàn)證被測(cè)設(shè)備的加解密處理能力。
1.2.2? 下位機(jī)測(cè)試平臺(tái)FPGA軟件設(shè)計(jì)
下位機(jī)測(cè)試平臺(tái)FPGA軟件在XILINX公司的Vivado 18.3環(huán)境下開發(fā),編程采用Verilog語(yǔ)言,F(xiàn)PGA軟件主要實(shí)現(xiàn)測(cè)試平臺(tái)與上位機(jī)控制臺(tái)之間、測(cè)試平臺(tái)與被測(cè)設(shè)備之間的通信接口轉(zhuǎn)換和測(cè)試數(shù)據(jù)轉(zhuǎn)發(fā)功能。FPGA內(nèi)部功能模塊設(shè)計(jì)如圖4所示,主要包括UDP接口控制模塊、協(xié)議處理模塊、通道切換控制模塊、2路獨(dú)立的SGMII接口控制模塊、FIFO存儲(chǔ)模塊。
1)UDP接口控制模塊:主要用于實(shí)現(xiàn)標(biāo)準(zhǔn)UDP通信協(xié)議的數(shù)據(jù)收發(fā)處理,完成下位機(jī)測(cè)試平臺(tái)與上位機(jī)控制臺(tái)的千兆網(wǎng)通信。
2)協(xié)議處理模塊:主要用于實(shí)現(xiàn)下行測(cè)試數(shù)據(jù)的協(xié)議解析和上行測(cè)試數(shù)據(jù)的協(xié)議封裝。
3)通道切換控制模塊:主要用于控制下行測(cè)試數(shù)據(jù)分流輸出至兩路獨(dú)立的SGMII接口,同時(shí)控制兩路獨(dú)立SGMII接口發(fā)送的上行數(shù)據(jù)分時(shí)輸出至UDP通信接口。
4)SGMII接口控制模塊:主要用于實(shí)現(xiàn)與被測(cè)設(shè)備的SGMII接口收發(fā)通信,兩路SGMII接口功能獨(dú)立,該模塊通過調(diào)用FPGA內(nèi)部IP核形式實(shí)現(xiàn)。
5)FIFO存儲(chǔ)模塊:主要用于實(shí)現(xiàn)模塊之間的數(shù)據(jù)緩沖和速率匹配,該模塊通過調(diào)用FPGA內(nèi)部IP核形式實(shí)現(xiàn)。
1.3? 工作流程
測(cè)試工裝主要用于測(cè)試某型高速嵌入式信息安全設(shè)備的加解密處理能力,整個(gè)測(cè)試系統(tǒng)的工作流程如圖5所示。
1)通過上位機(jī)控制臺(tái)生成明文測(cè)試樣本,設(shè)置明文測(cè)試樣本幀的發(fā)送數(shù)量和發(fā)送速率。
2)上位機(jī)控制臺(tái)按照設(shè)置的指令參數(shù)將明文測(cè)試樣本下發(fā)至測(cè)試平臺(tái),并實(shí)時(shí)統(tǒng)計(jì)發(fā)送幀計(jì)數(shù),測(cè)試平臺(tái)將明文樣本數(shù)據(jù)轉(zhuǎn)發(fā)至加密方被測(cè)設(shè)備進(jìn)行加密處理。
3)加密方被測(cè)設(shè)備將處理后的加密測(cè)試數(shù)據(jù)發(fā)送回測(cè)試平臺(tái),并通過測(cè)試平臺(tái)轉(zhuǎn)發(fā)至上位機(jī)控制臺(tái)。
4)上位機(jī)控制臺(tái)接收加密測(cè)試數(shù)據(jù),并將加密測(cè)試數(shù)據(jù)按順序?qū)懭氡镜匚募瑫r(shí)將加密測(cè)試數(shù)據(jù)下發(fā)至測(cè)試平臺(tái),通過測(cè)試平臺(tái)將加密測(cè)試數(shù)據(jù)轉(zhuǎn)發(fā)至解密方被測(cè)設(shè)備進(jìn)行解密處理。
5)解密方被測(cè)設(shè)備將處理后的解密測(cè)試數(shù)據(jù)發(fā)送回測(cè)試平臺(tái),并通過測(cè)試平臺(tái)轉(zhuǎn)發(fā)至上位機(jī)控制臺(tái)。
6)上位機(jī)控制臺(tái)接收解密測(cè)試數(shù)據(jù),實(shí)時(shí)統(tǒng)計(jì)接收幀計(jì)數(shù),同時(shí)將接收的解密測(cè)試數(shù)據(jù)寫入本地文件。
7)測(cè)試數(shù)據(jù)發(fā)送完成,通過上位機(jī)控制臺(tái)讀取本地存儲(chǔ)解密測(cè)試數(shù)據(jù),將解密測(cè)試數(shù)據(jù)與明文測(cè)試樣本逐幀進(jìn)行比對(duì),實(shí)時(shí)統(tǒng)計(jì)錯(cuò)誤幀計(jì)數(shù),并將錯(cuò)誤幀信息通過日志實(shí)時(shí)上報(bào)。
8)比對(duì)完成后,統(tǒng)計(jì)上位機(jī)控制臺(tái)界面顯示的發(fā)送幀計(jì)數(shù)、接收幀計(jì)數(shù)、錯(cuò)誤幀計(jì)數(shù)、實(shí)時(shí)日志等信息,并對(duì)測(cè)試結(jié)果進(jìn)行記錄和分析。
2? 測(cè)試驗(yàn)證
采用測(cè)試工裝對(duì)某型高速嵌入式信息安全設(shè)備進(jìn)行測(cè)試驗(yàn)證。按照?qǐng)D6所示連接關(guān)系搭建模擬測(cè)試環(huán)境,參試設(shè)備包括測(cè)試平臺(tái)、測(cè)試計(jì)算機(jī)(運(yùn)行上位機(jī)控制臺(tái)軟件)、兩塊嵌入式被測(cè)設(shè)備。
某型高速嵌入式信息安全設(shè)備的測(cè)試項(xiàng)目較多,這里以業(yè)務(wù)加解密性能測(cè)試為例,介紹模擬測(cè)試環(huán)境的測(cè)試流程和結(jié)果分析。
2.1? 測(cè)試目的
驗(yàn)證被測(cè)設(shè)備在高速業(yè)務(wù)數(shù)據(jù)持續(xù)輸入條件下加密和解密處理性能的可靠性。
2.2? 測(cè)試步驟
1)測(cè)試計(jì)算機(jī)、測(cè)試平臺(tái)上電啟動(dòng),打開上位機(jī)控制臺(tái)界面。
2)通過上位機(jī)控制臺(tái)界面配置測(cè)試工裝IP地址為192.168.1.211,端口號(hào)配置為3211,通信協(xié)議設(shè)置為UDP。
3)點(diǎn)擊上位機(jī)控制臺(tái)“發(fā)送復(fù)位指令”按鈕,向兩塊嵌入式被測(cè)設(shè)備發(fā)送復(fù)位指令,觀察上位機(jī)界面被測(cè)設(shè)備上報(bào)的自檢狀態(tài);如果顯示“通過”表示被測(cè)設(shè)備狀態(tài)正常,進(jìn)入下一步操作。否則被測(cè)設(shè)備狀態(tài)異常,需排查故障。
4)在上位機(jī)控制臺(tái)的發(fā)送控制區(qū)選擇“業(yè)務(wù)幀”,選擇加密方為被測(cè)設(shè)備1,解密方為被測(cè)設(shè)備2,設(shè)置發(fā)送幀數(shù)量為100 000幀,設(shè)置發(fā)送速率為300 Mbit/s,設(shè)置幀長(zhǎng)度為1 024 Byte,明密設(shè)置為加密。點(diǎn)擊選擇發(fā)送樣本欄的“瀏覽”按鈕,在本地文件中選擇相應(yīng)的明文測(cè)試樣本,然后點(diǎn)擊“發(fā)送幀”按鈕,觀察日志欄上報(bào)的打印信息,直至顯示“數(shù)據(jù)幀發(fā)送完成”,記錄統(tǒng)計(jì)區(qū)“發(fā)送幀計(jì)數(shù)”“接收幀計(jì)數(shù)”的顯示數(shù)據(jù)。
5)點(diǎn)擊上位機(jī)控制臺(tái)“明文比對(duì)指令”按鈕,觀察日志欄上報(bào)的打印信息,直至顯示“數(shù)據(jù)幀比對(duì)完成”,記錄“錯(cuò)誤幀計(jì)數(shù)”顯示數(shù)據(jù)。
6)保持發(fā)送控制區(qū)的指令參數(shù)不變,按照步驟4)、步驟5)重復(fù)操作2次。
7)在上位機(jī)控制臺(tái)的發(fā)送控制區(qū)選擇加密方為被測(cè)設(shè)備2,選擇解密方為被測(cè)設(shè)備1,其他指令參數(shù)不變,按照步驟4)、步驟5)重復(fù)操作3次。
8)記錄測(cè)試結(jié)果信息,整理并保存明文和密文測(cè)試數(shù)據(jù),測(cè)試平臺(tái)斷電。
2.3? 測(cè)試結(jié)果及數(shù)據(jù)分析
表1中測(cè)試數(shù)據(jù)統(tǒng)計(jì)顯示6次測(cè)試的發(fā)送幀計(jì)數(shù)與接收幀計(jì)數(shù)全部一致,均為100 000幀,錯(cuò)誤幀計(jì)數(shù)均為0幀,測(cè)試過程沒有出現(xiàn)丟幀和錯(cuò)幀現(xiàn)象,兩塊被測(cè)設(shè)備的業(yè)務(wù)加解密處理性能穩(wěn)定可靠,測(cè)試達(dá)到了預(yù)期目標(biāo),同時(shí)證明了測(cè)試工裝的可行性和測(cè)試能力。
3? 結(jié)? 論
本文提出了一種基于FPGA的便攜式高速測(cè)試工裝設(shè)計(jì),測(cè)試工裝包括上位機(jī)控制臺(tái)軟件和下位機(jī)測(cè)試平臺(tái)兩部分,上位機(jī)控制臺(tái)軟件完成測(cè)試樣本下發(fā)和測(cè)試數(shù)據(jù)儲(chǔ)存,并提供人機(jī)交互界面;下位機(jī)測(cè)試平臺(tái)以FPGA為核心處理單元,用以完成與上位機(jī)控制臺(tái)及被測(cè)設(shè)備的接口轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)發(fā)。通過測(cè)試驗(yàn)證發(fā)現(xiàn):基于FPGA的便攜式高速測(cè)試工裝能夠搭建穩(wěn)定可靠的模擬測(cè)試環(huán)境,滿足某型高速嵌入式信息安全設(shè)備的測(cè)試應(yīng)用需求,測(cè)試工裝開發(fā)維護(hù)成本低,攜帶方便,具有很高的實(shí)用性。
參考文獻(xiàn):
[1] 吳召平,侯云江,蘇航.基于嵌入式平臺(tái)的某型模塊測(cè)試工裝設(shè)計(jì) [J].信息技術(shù)與信息化,2021(8):113-115.
[2] 李強(qiáng),黎小軍,吳召平.基于嵌入式平臺(tái)的某型網(wǎng)絡(luò)設(shè)備測(cè)試工裝的研究與設(shè)計(jì) [J].電子世界,2022(2):144-146.
[3] 唐良偉.多通道綜合化控制臺(tái)通用測(cè)試工裝的設(shè)計(jì)與實(shí)現(xiàn) [J].電子質(zhì)量,2020(3):14-17+23.
[4] 張德智,曾星星,劉建妥,等.基于VPX架構(gòu)的測(cè)控通信綜合測(cè)試系統(tǒng)設(shè)計(jì) [J].計(jì)算機(jī)測(cè)量與控制,2016,24(5):53-54+70.
[5] 胡榮芳.一種通用自動(dòng)化測(cè)試設(shè)備的設(shè)計(jì)與實(shí)現(xiàn) [J].流體測(cè)量與控制,2023,4(2):20-24.
[6] 劉宗瑞.高速嵌入式檢測(cè)技術(shù)研究 [D].北京:北京理工大學(xué),2018.
[7] 韓林濤.衛(wèi)星數(shù)據(jù)通信地面檢測(cè)設(shè)備的設(shè)計(jì)與實(shí)現(xiàn) [D].西安:西北大學(xué),2022.
[8] 秦友倫,袁強(qiáng),劉峰,等.一種全國(guó)產(chǎn)化多接口便攜式測(cè)試設(shè)備 [J].兵工自動(dòng)化,2023,42(2):42-45.
作者簡(jiǎn)介:任敏(1989—),男,漢族,山西大同人,工程師,碩士研究生,主要研究方向:電子通信、信息安全等。
收稿日期:2023-05-06