楊帆 王哲
摘 要 針對(duì)接口從設(shè)備兼容性弱的問(wèn)題,提出一種多種接口時(shí)序兼容性驗(yàn)證方法,實(shí)現(xiàn)了靈活、方便、可控的接口從設(shè)備時(shí)序拉偏驗(yàn)證功能。
關(guān)鍵詞 時(shí)序拉偏測(cè)試 接口從設(shè)備 物聯(lián)網(wǎng) 時(shí)序邏輯驗(yàn)證 兼容
中圖分類號(hào) TP206? ?文獻(xiàn)標(biāo)識(shí)碼 B? ?文章編號(hào) 1000?3932(2023)03?0392?04
作者簡(jiǎn)介:楊帆(1992-),工程師,從事軟件設(shè)計(jì)工作,yangfan@hed.com.cn。
引用本文:楊帆,王哲.一種多種接口時(shí)序兼容性驗(yàn)證設(shè)計(jì)方法[J].化工自動(dòng)化及儀表,2023,50(3):392-395.
隨著物聯(lián)網(wǎng)的發(fā)展,接口種類越來(lái)越來(lái)多,應(yīng)用環(huán)境越來(lái)越復(fù)雜,接口從設(shè)備需要應(yīng)對(duì)各種各樣的主設(shè)備,接口驗(yàn)證不僅局限于接口協(xié)議要求,對(duì)時(shí)序兼容性的需求也越來(lái)越高。市場(chǎng)上不同廠家的各類接口產(chǎn)品設(shè)計(jì)也存在著或多或少的不同之處,因此產(chǎn)品需要有較高的接口兼容性。
把接口兼容性問(wèn)題攔截在驗(yàn)證階段,可以降低投入市場(chǎng)后的兼容性風(fēng)險(xiǎn)。對(duì)于從設(shè)備接口樣品驗(yàn)證而言,接口的兼容性測(cè)試是十分必要的,但目前尚無(wú)靈活、方便、可控的時(shí)序拉偏驗(yàn)證方法的報(bào)道。為此,筆者提出一種多種接口時(shí)序兼容性驗(yàn)證設(shè)計(jì)方法,利用上位機(jī)軟件下發(fā)測(cè)試命令,通過(guò)FPGA芯片電路設(shè)計(jì)應(yīng)用,靈活輸出可控的接口測(cè)試時(shí)序,將時(shí)序測(cè)試結(jié)果返回上位機(jī),從而滿足從設(shè)備接口時(shí)序兼容性的要求,直觀準(zhǔn)確地測(cè)試出從設(shè)備的時(shí)序拉偏性能。
1 驗(yàn)證方法設(shè)計(jì)
首先設(shè)計(jì)并開(kāi)發(fā)FPGA芯片電路,包括5個(gè)模塊:接口解析模塊、存儲(chǔ)模塊、主控電路單元模塊、時(shí)鐘處理模塊和協(xié)議處理模塊,整體模塊框圖如圖1所示。接口解析模塊。選擇并配置上位機(jī)與FPGA芯片電路的通信接口,上位機(jī)軟件下發(fā)指令,接口解析模塊對(duì)指令進(jìn)行解析,根據(jù)解析結(jié)果,通過(guò)主控電路單元模塊控制調(diào)用其他模塊,完成指令功能。接口解析模塊也具有將測(cè)試結(jié)果進(jìn)行解析并通過(guò)與上位機(jī)連接的接口返回給上位機(jī)的功能。
存儲(chǔ)模塊。上位機(jī)下發(fā)存儲(chǔ)指令,接口解析模塊對(duì)指令進(jìn)行解析,由主控電路單元模塊將目標(biāo)接口驗(yàn)證時(shí)序向量存儲(chǔ)在存儲(chǔ)模塊中。上位機(jī)下發(fā)測(cè)試指令,由主控電路單元模塊調(diào)取存儲(chǔ)模塊中已存儲(chǔ)的目標(biāo)接口驗(yàn)證時(shí)序向量,通過(guò)協(xié)議處理模塊輸出驗(yàn)證時(shí)序向量,并且將采集的從接口返回的測(cè)試結(jié)果,通過(guò)主控電路單元模塊存儲(chǔ)在存儲(chǔ)模塊中,待上位機(jī)發(fā)送測(cè)試結(jié)果讀取指令時(shí)調(diào)用。
時(shí)鐘處理模塊。上位機(jī)下發(fā)時(shí)鐘配置指令,接口解析模塊對(duì)指令進(jìn)行解析,通過(guò)主控電路單元模塊選擇高頻時(shí)鐘源,并經(jīng)過(guò)時(shí)鐘處理模塊進(jìn)行處理,以得到滿足目標(biāo)時(shí)鐘時(shí)序需求的時(shí)鐘時(shí)序。
主控電路單元模塊。用于控制調(diào)用各模塊工作。上位機(jī)下發(fā)存儲(chǔ)指令,接口解析模塊對(duì)指令進(jìn)行解析,由主控電路單元將目標(biāo)接口驗(yàn)證時(shí)序向量存儲(chǔ)在存儲(chǔ)模塊中。上位機(jī)軟件下發(fā)時(shí)鐘配置指令,接口解析模塊對(duì)指令進(jìn)行解析,由主控電路單元模塊調(diào)用選擇高頻時(shí)鐘源,并調(diào)用時(shí)鐘處理模塊對(duì)時(shí)鐘源進(jìn)行信號(hào)處理,以得到滿足目標(biāo)時(shí)鐘時(shí)序需求的時(shí)鐘時(shí)序。上位機(jī)軟件下發(fā)協(xié)議選擇指令,接口解析模塊對(duì)指令進(jìn)行解析,由主控電路單元模塊調(diào)用協(xié)議處理模塊進(jìn)行接口協(xié)議配置。上位機(jī)軟件下發(fā)測(cè)試指令,接口解析模塊對(duì)指令進(jìn)行解析,由主控電路單元模塊調(diào)用存儲(chǔ)模塊中已存儲(chǔ)的接口驗(yàn)證時(shí)序向量,并調(diào)用協(xié)議處理模塊,輸出驗(yàn)證時(shí)序,同時(shí)協(xié)議處理模塊采集測(cè)試結(jié)果,通過(guò)主控電路單元模塊存儲(chǔ)在存儲(chǔ)模塊中。上位機(jī)下發(fā)測(cè)試結(jié)果讀取指令,接口解析模塊對(duì)指令解析后,由主控電路單元模塊調(diào)用存儲(chǔ)模塊中存儲(chǔ)的測(cè)試結(jié)果,經(jīng)接口解析模塊進(jìn)行解析,通過(guò)FPGA芯片電路與上位機(jī)連接的接口返回給上位機(jī)。
協(xié)議處理模塊。在上位機(jī)發(fā)送協(xié)議選擇指令時(shí),接口解析模塊對(duì)指令解析后,由主控電路單元模塊調(diào)用協(xié)議處理模塊,根據(jù)目標(biāo)接口協(xié)議,對(duì)接口性能進(jìn)行相應(yīng)配置。在上位機(jī)發(fā)送測(cè)試指令時(shí),經(jīng)過(guò)接口解析模塊解析命令后,由主控電路單元模塊調(diào)用存儲(chǔ)模塊中的接口驗(yàn)證時(shí)序向量,經(jīng)協(xié)議處理模塊輸出接口驗(yàn)證時(shí)序,并經(jīng)協(xié)議處理模塊采集從接口時(shí)序測(cè)試結(jié)果,通過(guò)主控電路單元模塊存儲(chǔ)在存儲(chǔ)模塊中。
配置上位機(jī)與FPGA芯片電路的通信接口,使用上位機(jī)軟件下發(fā)測(cè)試時(shí)序向量存儲(chǔ)指令、時(shí)鐘配置指令、接口協(xié)議選擇指令、測(cè)試指令和測(cè)試結(jié)果讀取指令。上位機(jī)接口通信結(jié)構(gòu)框圖如圖2所示。
通過(guò)接口解析模塊解析上位機(jī)指令。
通過(guò)主控電路單元模塊協(xié)調(diào)控制FPGA電路各模塊,驗(yàn)證時(shí)序向量存儲(chǔ)的功能,選擇高頻時(shí)鐘并對(duì)時(shí)鐘信號(hào)進(jìn)行處理的功能,選擇接口協(xié)議并對(duì)目標(biāo)接口時(shí)序進(jìn)行協(xié)議特性配置的功能,時(shí)序測(cè)試功能,以及測(cè)試結(jié)果的讀取功能。
通過(guò)靈活的指令配置,存儲(chǔ)并調(diào)用不同的時(shí)序向量,從而滿足對(duì)從設(shè)備接口時(shí)序拉偏驗(yàn)證的要求,直觀準(zhǔn)確地測(cè)試出從設(shè)備的時(shí)序兼容性能。
2 目標(biāo)接口時(shí)序測(cè)試流程
目標(biāo)接口時(shí)序測(cè)試流程如圖3所示。
上位機(jī)與FPGA芯片電路的通信接口。上位機(jī)軟件下發(fā)指令,接口解析模塊對(duì)指令進(jìn)行解析,根據(jù)解析結(jié)果,通過(guò)主控電路單元模塊控制調(diào)用其他模塊,完成指令功能。接口解析模塊也可以將測(cè)試結(jié)果進(jìn)行解析,并通過(guò)與上位機(jī)連接的接口返回給上位機(jī)。
上位機(jī)下發(fā)不同的驗(yàn)證時(shí)序向量存儲(chǔ)指令。由接口解析模塊對(duì)指令進(jìn)行解析后,通過(guò)主控電路單元模塊將驗(yàn)證時(shí)序向量存放在存儲(chǔ)模塊中。
上位機(jī)下發(fā)時(shí)鐘配置指令。FPGA接口解析模塊對(duì)指令進(jìn)行解析后,利用主控電路單元模塊選擇高頻時(shí)鐘源,并通過(guò)時(shí)鐘處理模塊對(duì)時(shí)鐘信號(hào)進(jìn)行處理,得到滿足接口時(shí)序驗(yàn)證需求的時(shí)鐘信號(hào)。
上位機(jī)下發(fā)接口協(xié)議選擇指令。接口解析模塊對(duì)指令進(jìn)行解析后,利用主控電路單元模塊調(diào)用協(xié)議處理模塊,對(duì)目標(biāo)接口時(shí)序進(jìn)行協(xié)議配置。
上位機(jī)下發(fā)測(cè)試指令。接口解析模塊對(duì)指令進(jìn)行解析后,通過(guò)主控電路單元模塊調(diào)用存儲(chǔ)模塊中已經(jīng)存儲(chǔ)的不同的接口驗(yàn)證時(shí)序向量,通過(guò)協(xié)議處理模塊,靈活輸出驗(yàn)證時(shí)序,并采集測(cè)試結(jié)果,通過(guò)主控電路單元模塊將其存儲(chǔ)在存儲(chǔ)模塊中。
上位機(jī)下發(fā)測(cè)試結(jié)果讀取指令。接口解析模塊對(duì)指令進(jìn)行解析后,由主控電路單元模塊調(diào)用存儲(chǔ)模塊中存儲(chǔ)的測(cè)試結(jié)果,經(jīng)接口解析模塊進(jìn)行解析后,通過(guò)與上位機(jī)連接的接口返回給上位機(jī)。
重復(fù)以上操作,遍歷需要的接口時(shí)序,就能滿足接口時(shí)序拉偏兼容性驗(yàn)證。
3 方法例舉
筆者舉例說(shuō)明本設(shè)計(jì)的具體實(shí)施方式。本設(shè)計(jì)方法使用的軟、硬件實(shí)現(xiàn)方式,可在實(shí)際操作時(shí)指定。
第1步 設(shè)計(jì)并開(kāi)發(fā)FPGA芯片電路,包括5個(gè)模塊(圖1)。
第2步 PC機(jī)通過(guò)USB接口向FPGA芯片電路發(fā)送I2C接口驗(yàn)證時(shí)序向量存儲(chǔ)指令,接口解析模塊對(duì)命令進(jìn)行解析(圖2)。之后,通過(guò)主控電路單元模塊調(diào)用存儲(chǔ)模塊,將接收到的I2C接口驗(yàn)證時(shí)序向量存儲(chǔ)在內(nèi)部RAM中。
第3步 PC機(jī)通過(guò)USB接口向FPGA芯片電路發(fā)送I2C接口時(shí)鐘配置指令,接口解析模塊對(duì)命令進(jìn)行解析后,主控電路單元模塊選擇時(shí)鐘源,并調(diào)用時(shí)鐘處理模塊將高頻時(shí)鐘源進(jìn)行信號(hào)處理(圖4),即可得到滿足接口時(shí)序驗(yàn)證需求的時(shí)鐘時(shí)序。
第4步 PC機(jī)通過(guò)USB接口向FPGA芯片電路發(fā)送I2C接口協(xié)議選擇指令,接口解析模塊對(duì)命令進(jìn)行解析。由主控電路單元模塊調(diào)用協(xié)議處理模塊,按照I2C協(xié)議要求配置接口設(shè)置。
第5步 PC機(jī)通過(guò)USB接口向FPGA芯片電路發(fā)送I2C接口測(cè)試指令,接口解析模塊對(duì)命令進(jìn)行解析。由主控電路單元模塊調(diào)用存儲(chǔ)模塊,讀取內(nèi)部RAM中已存儲(chǔ)的接口拉偏驗(yàn)證時(shí)序向量。通過(guò)協(xié)議處理模塊,按照I2C協(xié)議要求輸出接口驗(yàn)證時(shí)序。從設(shè)備接收驗(yàn)證時(shí)序后響應(yīng),通過(guò)協(xié)議處理模塊采集響應(yīng)結(jié)果,并通過(guò)主控電路單元模存儲(chǔ)在內(nèi)部RAM中。
第6步 PC機(jī)通過(guò)USB接口向FPGA芯片電路發(fā)送測(cè)試結(jié)果讀取指令,接口解析模塊對(duì)命令進(jìn)行解析,主控電路單元模塊調(diào)用存儲(chǔ)模塊,讀取內(nèi)部RAM中已存儲(chǔ)的測(cè)試結(jié)果,接口解析模塊對(duì)測(cè)試結(jié)果進(jìn)行解析,并從USB接口向PC機(jī)返回測(cè)試結(jié)果。
第7步 重復(fù)以上操作,遍歷需要驗(yàn)證的接口時(shí)序。
4 結(jié)束語(yǔ)
筆者提出的多種接口時(shí)序兼容性驗(yàn)證設(shè)計(jì)方法,通過(guò)指令操控,利用FPGA芯片電路靈活可編程的優(yōu)點(diǎn),可以靈活、可控地輸出多種目標(biāo)接口時(shí)序,并根據(jù)存儲(chǔ)的接口時(shí)序向量對(duì)接口時(shí)序進(jìn)行拉偏測(cè)試,滿足了市場(chǎng)上從設(shè)備接口的時(shí)序兼容性驗(yàn)證需求。
(收稿日期:2022-08-16)