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