<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 通用網(wǎng)絡(luò )協(xié)議一致性測試平臺的設計與研究

通用網(wǎng)絡(luò )協(xié)議一致性測試平臺的設計與研究

作者: 時(shí)間:2011-07-20 來(lái)源:網(wǎng)絡(luò ) 收藏


CPU主要用于接收來(lái)自控制機的、、算法參數并生成實(shí)現套集,它可以直接對被測設備發(fā)送或者接收流,或者通過(guò)自定義總線(xiàn)將套集存儲在SRAM中,以實(shí)現快速的測試;它還實(shí)現對外圍配套器件的控制,包括DDR、Flash、噪聲、日歷時(shí)鐘以及譯碼等。CPU的PCI總線(xiàn)轉換出一個(gè),作為測試機的控制口,與控制機進(jìn)行通信。CPU的串口總線(xiàn)接出一個(gè)RS232串口。
CPLD主要用于CPU啟動(dòng)、數據總線(xiàn)的譯碼、FPGA邏輯配置等處理。
FPGA主要用于網(wǎng)絡(luò )接口處理和測試流發(fā)送、接收。首先,它提供兩個(gè)軟MAC核與PHY芯片相連實(shí)現DUT的發(fā)送和接收網(wǎng)口;其次,它提供另外兩個(gè)軟MAC核可以允許CPU直接與DUT進(jìn)行發(fā)送接收測試流;也可以調用外部SRAM實(shí)現測試流發(fā)送接收等操作。FPGA和CPU之間有兩種不同的通訊接口,一種是數據總線(xiàn)接口,用于傳輸基本配置信息、狀態(tài)信息和SRAM數據;一種是RGMII網(wǎng)口接口,用于傳輸測試流數據。
2.2.2 軟件組成
CPU軟件使用裁剪的定制LINUX操作系統,內核版本2.6以上,配IPv4棧等。CPU要實(shí)現的軟件功能比較多,軟件模塊有以下幾個(gè):
(1)與控制機的通信模塊:負責接收來(lái)自控制機的網(wǎng)絡(luò )、協(xié)議、算法參數以及其他命令,并回送測試結果。
(2)算法實(shí)現模塊:實(shí)現協(xié)議中需要的算法。
(3)套集生成模塊:這是實(shí)現一個(gè)協(xié)議所需要的IP包的集合,包括發(fā)送的IP包和接收的IP包。每個(gè)不同的協(xié)議將產(chǎn)生定制的套集。每個(gè)套集的主要流程就是生成指定的某個(gè)協(xié)議所需IP包的過(guò)程。但是在協(xié)議的實(shí)現上,會(huì )按照協(xié)議的要求對相應的字段進(jìn)行邊界測試、正確性和錯誤測試。并體現在不同的測試流里。
(4)測試流發(fā)送模塊:將存儲在SRAM里的測試流發(fā)送至DUT。
(5)測試流接收模塊:接收DUT發(fā)出的響應流,存儲在SRAM里。
(6)結果的協(xié)議分析模塊:CPU接收到測試流后,將其按照協(xié)議要求拆分成各個(gè)字段,并與協(xié)議進(jìn)行比對分析。并將結果發(fā)送到與控制機的通信模塊。
在發(fā)送IP包和接收IP包有關(guān)聯(lián)的情況下,比如IV向量由接收包傳遞過(guò)來(lái)后才能確定下一包發(fā)送的內容,必須由CPU直接進(jìn)行測試。
在協(xié)議比較簡(jiǎn)單,發(fā)送IP包和接收IP包沒(méi)有關(guān)聯(lián)的情況下,可以將測試套集裝載在SRAM里,由FPGA進(jìn)行測試。這種情況下,也可以測試DUT的性能。

3 工作流程與測試內容
協(xié)議測試的主要過(guò)程包括:標準測試套集生成、測試執行、結果分析三個(gè)部分。標準測試套集是通過(guò)分析協(xié)議來(lái)確定要測試的各個(gè)方面,從而產(chǎn)生測試用例的集合;測試執行為測試用例的運行過(guò)程;接收數據分析是對測試結果進(jìn)行分析,從而得到協(xié)議實(shí)現與協(xié)議說(shuō)明是否一致的判決。如圖3所示。

c.JPG


協(xié)議測試的內容包括三個(gè)方面:一是協(xié)議格式、完整性的測試,能夠正確識別收到的協(xié)議,并且按照協(xié)議做出正確的響應,響應的格式要與協(xié)議一致。二是測試協(xié)議中包含的算法的正確性。要能夠正確地加密和解密相應的信息。三是要對協(xié)議的實(shí)現過(guò)程包括握手、協(xié)商等進(jìn)行一致性測試。

4 測試套集的生成方法
測試套集的生成方法理論上有可達性分析與測試序列兩種??蛇_性分析是從一個(gè)初始狀態(tài)出發(fā),生成并檢查系統能夠到達的所有狀態(tài)。測試序列方法是針對FSM中的單個(gè)轉移生成的測試子序列,再將這些測試子序列連接起來(lái)作為完整的測試序列。
對測試套集的生成方法不作限定。因為網(wǎng)絡(luò )協(xié)議千差萬(wàn)別,套用某一個(gè)方法是不現實(shí)的。因此不論什么方法,即使是手工方法,只要能夠正確地詮釋協(xié)議,生成的測試套集符合套集接口要求都可以直接輸入到上實(shí)施測試。套集可以是完整的協(xié)議測試,也可以是某個(gè)協(xié)議測試套集的一部分。這樣大大方便了協(xié)議測試套集的調試與測試。
也提供了一種測試套集的生成方法。就是將協(xié)議的分析過(guò)程體現在控制機的界面上,在界面上對協(xié)議進(jìn)行分割,確定轉移點(diǎn)和子序列,并給出子序列的數據范圍。然后CPU的套集生成軟件將這些轉移點(diǎn)和子序列通過(guò)組合連接起來(lái),形成測試套集。

5 結束語(yǔ)
在協(xié)議一致性測試的需求越來(lái)越迫切的同時(shí),協(xié)議的功能越來(lái)越強,復雜性也越來(lái)越高,使得測試難度越來(lái)越大。平臺的硬件為以后協(xié)議的發(fā)展做好了可持續發(fā)展的基礎,而軟件也將提供開(kāi)源和穩定的接口以供協(xié)議的發(fā)展,增加對協(xié)議的支持。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>