基于SoPC芯片的功能自動化測試系統(tǒng)及其測試方法
【專利摘要】本發(fā)明提供了一種基于SoPC芯片的功能性測試系統(tǒng)及其測試方法,該系統(tǒng)包括串行通信接口測試模塊、I2C測試模塊、中斷處理測試模塊、定時器測試模塊、計數(shù)器測試模塊、總線測試模塊、模擬開關(guān)/ADC測試模塊、GPIO測試模塊、FPGA配置模塊、通信模塊和測試控制模塊;本發(fā)明的自動化測試方法在同一個測試系統(tǒng)中,按照測試需求在一個測試程序中完成SoPC芯片的各個功能模塊的測試,避免了傳統(tǒng)測試方法中對同一個SoPC芯片不同功能進(jìn)行測試時,針對各測試項目返回進(jìn)行編譯,可有效縮短測試時間,并降低測試難度和測試操作復(fù)雜度。
【專利說明】基于SoPC芯片的功能自動化測試系統(tǒng)及其測試方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及SoPC (System-on-Programmable-Chip)芯片領(lǐng)域,特別涉及一種基于 SoPC芯片的功能性測試系統(tǒng)及其測試方法,實現(xiàn)芯片入庫前硬件功能篩選和出庫前的硬件 功能確認(rèn)。
【背景技術(shù)】
[0002] 隨著微電子技術(shù)、計算機(jī)技術(shù)、EDA技術(shù)的發(fā)展,和武器、空間飛行器對電子控制系 統(tǒng)的小型化、靈活、低功耗的需求日益加劇,催生了 SoPC技術(shù)的出現(xiàn)。SoPC是SoC和FPGA 技術(shù)的融合,在ASIC和可編程邏輯器件之間找到一個折衷點,它將處理器、存儲器、FPGA和 外設(shè)接口等系統(tǒng)設(shè)計按需要集成到一塊芯片上,用一塊芯片取代了傳統(tǒng)電子系統(tǒng),實現(xiàn)電 子系統(tǒng)的小型化、輕型化、高集成度、低功耗、可重構(gòu)、靈活性、同時增強(qiáng)可靠性和電磁兼容 性。同時降低基于SoPC的開發(fā)難度,大幅縮短開發(fā)周期,降低設(shè)計成本。
[0003] SoPC芯片內(nèi)部十分復(fù)雜,集成多種外設(shè)接口,并且可以完成多種功能,測試成為 SoPC芯片設(shè)計過程中關(guān)鍵環(huán)節(jié)。特別是芯片設(shè)計完成后,在物理實現(xiàn)過程中是否存在制造 缺陷直接影響產(chǎn)品的成品率和制造成本,這也凸顯了芯片功能性測試的重要性。傳統(tǒng)的測 試方法大多是只選擇一個或一部分功能進(jìn)行測試,在測試結(jié)束后,選擇另一部分的功能進(jìn) 行測試。這種測試方法通常將整個測試系統(tǒng)進(jìn)行整體編寫,根據(jù)需要測試的功能對測試程 序進(jìn)行編譯,而每次編譯都需要花費大量的時間。
[0004] 綜上所述,傳統(tǒng)的測試方法對同一個SoPC芯片的不同功能進(jìn)行測試時,測試系統(tǒng) 構(gòu)建復(fù)雜,需要較長時間,重用性差,維護(hù)困難,增加了測試的難度和操作復(fù)雜度。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供了一種基于SoPC芯片的功能性測 試系統(tǒng)及其測試方法,該方法采用同一個測試系統(tǒng),按照測試需求在一個測試程序中完成 SoPC芯片的各個功能模塊的測試,避免了傳統(tǒng)測試方法中對同一個SoPC芯片不同功能進(jìn) 行測試時,針對各測試項目返回進(jìn)行編譯,可有效縮短測試時間,并降低測試難度和測試操 作復(fù)雜度。
[0006] 本發(fā)明的上述目的主要是通過如下技術(shù)方案予以實現(xiàn)的:
[0007] -種基于SoPC芯片的功能自動化測試系統(tǒng),包括測試控制模塊、通信模塊、串行 通信接口測試模塊、I 2C測試模塊、中斷處理測試模塊、定時器測試模塊、計數(shù)器測試模塊、 總線測試模塊、模擬開關(guān)/ADC測試模塊和GPIO測試模塊,其中:
[0008] 測試控制模塊:發(fā)送測試命令、計數(shù)命令到通信模塊,并接收通信模塊發(fā)送的測試 結(jié)果;
[0009] 通信模塊:接收測試控制模塊發(fā)送的測試命令或計數(shù)命令,并將所述測試命令發(fā) 送到被測芯片CPU,接收被測芯片的CPU輸出的測試結(jié)果;將所述計數(shù)命令發(fā)送到計數(shù)器測 試模塊;
[0010] 串行通信接口測試模塊:包括N個串口測試電路,分別與被測芯片的N個異步串行 通信接口連接,接收所述通信接口發(fā)送的測試數(shù)據(jù),并將所述測試數(shù)據(jù)接收轉(zhuǎn)發(fā)回被測芯 片的異步串行通信接口;其中,N為正整數(shù);
[0011] I2C測試模塊:包括2個I2C測試電路,分別與被測芯片的2個I2C連接,接收并保 存被測芯片I 2C發(fā)送的測試數(shù)據(jù);
[0012] 中斷處理測試模塊:接收被測芯片CPU發(fā)送的GPIO波形,并將所述GPIO波形發(fā)送 到所述CPU的中斷邏輯電路;
[0013] 定時器測試模塊:包括指示電路,所述指示電路由被測芯片定時器發(fā)送的測試波 形進(jìn)行驅(qū)動并亮燈顯示;
[0014] 計數(shù)器測試模塊:接收通信模塊發(fā)送的計數(shù)命令,產(chǎn)生計數(shù)信號,并將所述計數(shù)信 號發(fā)送到被測芯片計數(shù)器部件;
[0015] 總線測試模塊:接收被測芯片1553B總線模塊輸出的測試信號,對所述測試信號 進(jìn)行電平轉(zhuǎn)換、信號隔離、信號耦合后輸出到外部1553B標(biāo)準(zhǔn)設(shè)備;接收所述外部1553B標(biāo) 準(zhǔn)設(shè)備轉(zhuǎn)發(fā)的返向測試信號,對所述返向測試信號進(jìn)行信號耦合、信號隔離和電平轉(zhuǎn)換處 理后輸出到被測芯片1553B總線模塊;
[0016] 模擬開關(guān)/ADC測試模塊:為被測芯片的模擬開關(guān)的L個端口配置L個不同的模擬 電壓值;其中,L為正整數(shù);
[0017] GPIO測試模塊:在被測芯片GPIO前向通道測試過程中,接收被測芯片CPU的GPIO 發(fā)送的前向測試信號,發(fā)送所述前向測試信號到被測芯片F(xiàn)PGA的GPIO ;在被測芯片GPIO 返向通道測試過程中,接收被測芯片F(xiàn)PGA的GPIO發(fā)送的返向測試數(shù)據(jù),并轉(zhuǎn)發(fā)所述返向測 試數(shù)據(jù)到被測芯片CPU的GPIO端口。
[0018] 上述的基于SoPC芯片的功能自動化測試系統(tǒng)還包括FPGA配置模塊、時鐘復(fù)位模 塊和電源模塊,其中:
[0019] FPGA配置電路模塊:對被測芯片的FPGA進(jìn)行文件更新配置;
[0020] 時鐘復(fù)位模塊:為被測芯片CPU提供時鐘和復(fù)位信號;
[0021] 電源模塊:對串口通信接口測試模塊、I2C測試模塊、中斷處理測試模塊、定時器測 試模塊、計數(shù)器測試模塊、總線測試模塊、模擬開關(guān)/ADC測試模塊、GPIO測試模塊、FPGA配 置模塊、通信模塊和時鐘復(fù)位模塊進(jìn)行供電。
[0022] -種基于SoPC芯片的功能自動化測試方法,在一種自動化測試系統(tǒng)中實現(xiàn),其 中,所述自動化測試系統(tǒng)包括測試控制模塊、通信模塊、串行通信接口測試模塊、I 2C測試模 塊、中斷處理測試模塊、定時器測試模塊、計數(shù)器測試模塊、總線測試模塊、模擬開關(guān)/ADC 測試模塊和GPIO測試模塊,所述測試方法的包括以下步驟:
[0023] 首先,按照設(shè)定的測試內(nèi)容和測試順序,由測試控制模塊發(fā)送測試命令,依次開啟 串行通信接口測試、I 2C測試、中斷處理測試、定時器測試、計數(shù)器測試、1553B總線測試、模 擬開關(guān)/ADC測試、GPIO測試;并在各項測試結(jié)束后,由被測芯片CPU將測試結(jié)果發(fā)送到通 信模塊,所述通信模塊再將所述測試結(jié)果發(fā)送到測試控制模塊進(jìn)行匯總,完成被測芯片的 功能測試。
[0024] 在上述的基于SoPC芯片的功能自動化測試方法中,被測芯片的串行通信接口測 試包括以下步驟:
[0025] (la)、測試控制模塊通過通信模塊發(fā)送串行通信接口測試命令到被測芯片CPU,所 述被測芯片CPU通過N個異步串行通信接口分別發(fā)送測試數(shù)據(jù)到通信接口測試模塊中的N 個串口測試電路中;
[0026] (Ib)、所述串口測試電路將接收到的測試數(shù)據(jù)轉(zhuǎn)發(fā)回被測芯片的異步串行通信接 Π ;
[0027] (lc)、被測芯片將所述異步串行通信接口接收到的數(shù)據(jù)與步驟(Ia)中的發(fā)送數(shù) 據(jù)進(jìn)行比較,得到測試結(jié)果,其中:
[0028] 如果所述接收數(shù)據(jù)與發(fā)送數(shù)據(jù)相同,則判斷被測芯片CPU的異步串行通信接口工 作正常;如果所述接收數(shù)據(jù)與發(fā)送數(shù)據(jù)不相同,則判斷被測芯片CPU的異步串行通信接口 工作異常;
[0029] (Id)、被測芯片CPU將步驟(Ic)得到的測試結(jié)果發(fā)送到通信模塊;
[0030] (Ie)、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
[0031] 在上述的基于SoPC芯片的功能自動化測試方法中,被測芯片的I2C測試包括以下 步驟:
[0032] (2a)、測試控制模塊通過通信模塊發(fā)送I2C測試命令到被測芯片CPU,被測芯片的 I2C發(fā)送測試數(shù)據(jù)到的I2C測試電路模塊中的I2C測試電路中;
[0033] (2b)、所述的I2C測試電路接收并保存步驟(2a)中的測試數(shù)據(jù);
[0034] (2c)、被測芯片的I2C讀取I2C測試電路中保存的測試數(shù)據(jù),并與步驟(2a)中的發(fā) 送數(shù)據(jù)進(jìn)行比較,得到測試結(jié)果,其中:
[0035] 如果所述讀取數(shù)據(jù)與發(fā)送數(shù)據(jù)相同,則判斷被測芯片I2C工作正常;如果所述讀取 數(shù)據(jù)與發(fā)送數(shù)據(jù)不同,則判斷被測芯片I 2C工作異常;
[0036] (2d)、被測芯片CPU將步驟(2c)得到的測試結(jié)果發(fā)送到通信模塊;
[0037] (2e)、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
[0038] 在上述的基于SoPC芯片的功能自動化測試方法中,被測芯片中斷處理測試包括 以下步驟:
[0039] (3a)、測試控制模塊通過通信模塊發(fā)送中斷處理測試命令到被測芯片CPU ;
[0040] (3b)、被測芯片CPU設(shè)定所述CPU中斷邏輯電路的中斷模式,并產(chǎn)生與所述中斷模 式相對應(yīng)的GPIO波形;
[0041] (3c)、被測芯片CPU發(fā)送所述GPIO波形到中斷處理測試模塊;
[0042] (3d)、中斷處理測試模塊將步驟(3c)接收到的GPIO波形發(fā)送到被測芯片CPU的 中斷邏輯電路;
[0043] (3e)、被測芯片CPU根據(jù)所述中斷邏輯電路的觸發(fā)結(jié)果,得到被測芯片中斷處理 測試結(jié)果,其中:
[0044] 如果所述中斷邏輯電路根據(jù)接收到的GPIO波形觸發(fā)中斷,則判斷被測芯片的中 斷處理工作正常;如果所述中斷邏輯電路在接收到的GPIO波形后沒有觸發(fā)中斷,則判斷被 測芯片的中斷處理工作異常;
[0045] (3f)、被測芯片CPU將步驟(3d)得到的測試結(jié)果發(fā)送到通信模塊;
[0046] (3g)、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
[0047] 在上述的基于SoPC芯片的功能自動化測試方法中,被測芯片的定時器測試的具 體實現(xiàn)過程如下:
[0048] (4a)、測試控制模塊通過通信模塊發(fā)送定時器測試命令到被測芯片CPU ;
[0049] (4b)、被測芯片CPU根據(jù)所述測試命令,設(shè)定被測芯片定時器的工作模式和定時 時間,并將所述定時時間分為M個時間片,其中,在每個所述時間片的結(jié)束時刻,由所述CPU 的中斷邏輯電路產(chǎn)生中斷信號,并由所述CPU進(jìn)行計數(shù);其中,M為設(shè)定的正整數(shù);
[0050] (4c)、被測芯片的CPU在所述定時時間的結(jié)束時刻停止計數(shù),并且被測芯片的定 時器輸出測試波形到定時器測試電路模塊;定時器測試電路模塊在接收到所述測試波形 后,驅(qū)動所述模塊中的指示電路,表明定時器工作完成;
[0051] (4d)、CPU將步驟(4b)中得到的計數(shù)結(jié)果與設(shè)定的M值進(jìn)行比較,得到測試結(jié)果, 其中:
[0052] 如果所述計數(shù)結(jié)果與M值相同,則判斷被測芯片的定時器部件工作正常;如果所 述計數(shù)結(jié)果與M值不同,則判斷被測芯片的定時器部件工作異常;
[0053] (4e)、被測芯片CPU將步驟(4d)得到的測試結(jié)果發(fā)送到通信模塊;
[0054] (4f)、通信模塊發(fā)送所述測試結(jié)果到測試控制模塊。
[0055] 在上述的基于SoPC芯片的功能自動化測試方法中,被測芯片的計數(shù)器測試包括 以下步驟:
[0056] (5a)、測試控制模塊通過通信模塊發(fā)送計數(shù)命令到計數(shù)器測試模塊;
[0057] (5b)、計數(shù)器測試模塊在接收到所述計數(shù)命令后,產(chǎn)生計數(shù)信號;
[0058] (5c)、發(fā)送步驟(5b)產(chǎn)生的計數(shù)信號到被測芯片的計數(shù)器部件;
[0059] (5d)、被測芯片的計數(shù)器部件按照計數(shù)信號進(jìn)行計數(shù)操作,得到計數(shù)結(jié)果,其中:
[0060] 如果所述計數(shù)結(jié)果與計數(shù)信號對應(yīng)的計數(shù)結(jié)果相同,則判斷被測芯片的計數(shù)器部 件工作正常;如果所述計數(shù)結(jié)果與計數(shù)信號對應(yīng)的計數(shù)結(jié)果不同,則判斷被測芯片的計數(shù) 器部件工作異常;
[0061] (5e)、被測芯片CPU將步驟(5d)得到的測試結(jié)果發(fā)送到通信模塊;
[0062] (5f)、通信模塊發(fā)送所述測試結(jié)果到測試控制模塊。
[0063] 在上述的基于SoPC芯片的功能自動化測試方法中,被測芯片的總線測試包括以 下步驟:
[0064] (6a)、測試控制模塊通過通信模塊發(fā)送總線測試命令到被測芯片CPU ;被測芯片 (PU通過被測芯片的1553B總線輸出前向測試信號到總線測試電路模塊;
[0065] (6b)、總線測試電路模塊對所述前向測試信號進(jìn)行電平轉(zhuǎn)換、信號隔離和信號耦 合處理后,輸出處理后的前向測試信號到外部1553B標(biāo)準(zhǔn)設(shè)備;
[0066] (6c)、所述外部1553B標(biāo)準(zhǔn)設(shè)備將接收到的前向測試信號轉(zhuǎn)發(fā)回總線測試模塊;
[0067] (6d)、總線測試模塊對步驟(6c)接收到的測試信號進(jìn)行信號耦合、信號隔離和電 平轉(zhuǎn)換后,得到返向測試信號;
[0068] (6e)、總線測試模塊發(fā)送所述返向測試信號到被測芯片1553B總線模塊;
[0069] (6f)、被測芯片CPU將所述返向測試信號與步驟(6a)中所述CPU發(fā)送的前向測試 信號進(jìn)行比較,得到測試結(jié)果,其中:
[0070] 如果所述前向測試信號與所述返向測試信號相同,則判斷被測芯片的總線工作正 常;如果所述前向測試信號與所述返向測試信號不同,則判斷被測芯片的總線工作異常;
[0071] (6g)、被測芯片CPU發(fā)送步驟(6f)得到的測試結(jié)果到通信模塊;
[0072] (6h)、通信模塊轉(zhuǎn)發(fā)所述測試結(jié)果到測試控制模塊。
[0073] 在上述的基于SoPC芯片的功能自動化測試方法中,被測芯片模擬開關(guān)/ADC測試 包括如下步驟:
[0074] (7a)、測試控制模塊通過通信模塊發(fā)送模擬開關(guān)/ADC測試命令到被測芯片CPU ; 模擬開關(guān)/ADC測試模塊為被測芯片的模擬開關(guān)的L個輸入端口配置L個不同的模擬電壓 值,其中,所述模擬開關(guān)的輸出端口與被測芯片的ADC連接;
[0075] (7b)、被測芯片ADC接收模擬開關(guān)傳送的模擬電壓值,并進(jìn)行模數(shù)轉(zhuǎn)換,輸出電壓 數(shù)字值;
[0076] (7c)、被測芯片CPU根據(jù)所述ADC輸出的電壓數(shù)字值,推算出模擬電壓值;
[0077] (7d)、被測芯片CPU將步驟(7c)中推算出的模擬電壓值與步驟(7a)中配置的模 擬電壓值進(jìn)行比較,得到測試結(jié)果,其中:
[0078] 如果所述兩種模擬電壓值相同,則判斷被測芯片的模擬開關(guān)和ADC工作正常;如 果所述兩種模擬電壓值不同,則判斷被測芯片的模擬開關(guān)和ADC工作異常正常;
[0079] (7e)、被測芯片CPU將步驟(7d)得到的測試結(jié)果發(fā)送到通信模塊;
[0080] (7f)、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
[0081] 在上述的基于SoPC芯片的功能自動化測試方法中,被測芯片的GPIO測試通過被 測芯片CPU的GPIO與被測芯片F(xiàn)PGA的互相測試完成,具體實現(xiàn)步驟包括:
[0082] (8a)、測試控制模塊通過通信模塊發(fā)送模擬開關(guān)/ADC測試命令到被測芯片CPU ; 被測芯片CPU的GPIO輸出前向測試數(shù)據(jù)到被測芯片的FPGA的GPIO ;
[0083] (8b)、被測芯片CPU通過總線讀取所述FPGA中的前向測試數(shù)據(jù),并與步驟(8a)中 輸出的前向測試數(shù)據(jù)進(jìn)行比較,得到前向通道的測試結(jié)果,其中:
[0084] 如果進(jìn)過比較得到所述兩組數(shù)據(jù)相同,則判斷被測芯片CPU的GPIO中的輸出模式 工作正常,且被測芯片F(xiàn)PGA的GPIO中的接收模式工作正常;如果進(jìn)過比較得到所述兩組數(shù) 據(jù)不同,則判斷被測芯片CPU的GPIO中的輸出模或被測芯片F(xiàn)PGA的GPIO中的接收模式工 作異常;
[0085] (8c)、被測芯片CPU通過總線發(fā)送返向測試數(shù)據(jù)到被測芯片的FPGA ;
[0086] (8d)、被測芯片F(xiàn)PGA通過GPIO發(fā)送所述返向測試數(shù)據(jù)到GPIO測試電路模塊;
[0087] (8e)、GPI0測試電路模塊將所述返向測試數(shù)據(jù)發(fā)送到被測芯片CPU的GPIO端口;
[0088] (8f)、被測芯片CPU將步驟(Se)中接收的返向測試數(shù)據(jù)與步驟(8c)中發(fā)送的返 向測試數(shù)據(jù)進(jìn)行比較,得到測試結(jié)果,其中:
[0089] 如果進(jìn)過比較得到所述兩組數(shù)據(jù)相同,則判斷被測芯片CPU的GPIO中的接收模式 工作正常,且被測芯片F(xiàn)PGA的GPIO中的輸出模式工作正常;如果進(jìn)過比較得到所述兩組數(shù) 據(jù)不同,則判斷被測芯片CPU的GPIO中的接收?;虮粶y芯片F(xiàn)PGA的GPIO中的輸出模式工 作異常;
[0090] (8g)、發(fā)送步驟(8b)和(8f)得到的測試結(jié)果到通信模塊;
[0091] (8h)、通信模塊發(fā)送所述測試結(jié)果到測試控制模塊。
[0092] 本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于:
[0093] (1)、本發(fā)明在一個測試系統(tǒng)中,集成了各功能測試模塊,通過流程化控制實現(xiàn)所 有功能模塊的集中測試,可以有效縮短測試時間,有益于進(jìn)行芯片的批量測試;
[0094] (2)、本發(fā)明針對根據(jù)所述功能模塊生成測試命令,并在測試結(jié)束后返回各項測試 的結(jié)果,并進(jìn)行匯總,可以有效提高測試效率。
【專利附圖】
【附圖說明】
[0095] 圖1為本發(fā)明自動化測試硬件平臺系統(tǒng)框圖;
[0096] 圖2為本發(fā)明實施例中測試系統(tǒng)連接示意圖;
[0097] 圖3為本發(fā)明實施例中的測試流程圖。
【具體實施方式】
[0098] 下面結(jié)合附圖和具體實施例對本發(fā)明作進(jìn)一步詳細(xì)的描述:
[0099] 根據(jù)圖1所示的本發(fā)明測試系統(tǒng)與被測芯片的連接框圖,本發(fā)明的基于SoPC芯 片的功能自動化測試系統(tǒng)包括測試控制模塊、通信模塊、串行通信接口測試模塊、I2C測試 模塊、中斷處理測試模塊、定時器測試模塊、計數(shù)器測試模塊、總線測試模塊、模擬開關(guān)/ADC 測試模塊、GPIO測試模塊、FPGA配置模塊、時鐘復(fù)位模塊和電源模塊,其中:
[0100] 測試控制模塊:發(fā)送測試命令、計數(shù)命令到通信模塊,并接收通信模塊發(fā)送的測試 結(jié)果;該模塊用于對整個測試過程進(jìn)行控制,可以根據(jù)測試需求,進(jìn)行專項功能測試或全功 能測試。測試人員可以通過測試人機(jī)交互界面選擇測試項目,并由測試控制模塊自動產(chǎn)生 測試指令序列,用于各模塊間聯(lián)合操作完成各項測試。
[0101] 通信模塊:接收測試控制模塊發(fā)送的測試命令或計數(shù)命令,并將所述測試命令發(fā) 送到被測芯片CPU,接收被測芯片的CPU輸出的測試結(jié)果;將所述計數(shù)命令發(fā)送到計數(shù)器測 試模塊;
[0102] 串行通信接口測試模塊:包括N個串口測試電路,分別與被測芯片的N個異步串行 通信接口連接,接收所述通信接口發(fā)送的測試數(shù)據(jù),并將所述測試數(shù)據(jù)接收轉(zhuǎn)發(fā)回被測芯 片的異步串行通信接口;其中,N為正整數(shù);
[0103] I2C測試模塊:包括2個I2C測試電路,分別與被測芯片的2個I2C連接,接收并保 存被測芯片I 2C發(fā)送的測試數(shù)據(jù);
[0104] 中斷處理測試模塊:接收被測芯片CPU發(fā)送的GPIO波形,并將所述GPIO波形發(fā)送 到所述CPU的中斷邏輯電路;
[0105] 定時器測試模塊:包括指示電路,所述指示電路由被測芯片定時器發(fā)送的測試波 形進(jìn)行驅(qū)動并亮燈顯示,可用于提示測試人員定時器測試已完成;
[0106] 計數(shù)器測試模塊:接收通信模塊發(fā)送的計數(shù)命令,產(chǎn)生計數(shù)信號,并將所述計數(shù)信 號發(fā)送到被測芯片計數(shù)器部件;
[0107] 總線測試模塊:接收被測芯片1553B總線模塊輸出的測試信號,對所述測試信號 進(jìn)行電平轉(zhuǎn)換、信號隔離、信號耦合后輸出到外部1553B標(biāo)準(zhǔn)設(shè)備;接收所述外部1553B標(biāo) 準(zhǔn)設(shè)備轉(zhuǎn)發(fā)的返向測試信號,對所述返向測試信號進(jìn)行信號耦合、信號隔離和電平轉(zhuǎn)換處 理后輸出到被測芯片1553B總線模塊;
[0108] 模擬開關(guān)/ADC測試模塊:為被測芯片的模擬開關(guān)的L個端口配置L個不同的模擬 電壓值;
[0109] GPIO測試模塊:在被測芯片GPIO前向通道測試過程中,接收被測芯片CPU的GPIO 發(fā)送的前向測試信號,發(fā)送所述前向測試信號到被測芯片F(xiàn)PGA的GPIO ;在被測芯片GPIO 返向通道測試過程中,接收被測芯片F(xiàn)PGA的GPIO發(fā)送的返向測試數(shù)據(jù),并轉(zhuǎn)發(fā)所述返向測 試數(shù)據(jù)到被測芯片CPU的GPIO端口;
[0110] FPGA配置電路模塊:對被測芯片的FPGA進(jìn)行文件更新配置。
[0111] 時鐘復(fù)位模塊:為被測芯片CPU提供時鐘和復(fù)位信號;
[0112] 電源模塊:對串口通信接口測試模塊、I2C測試模塊、中斷處理測試模塊、定時器測 試模塊、計數(shù)器測試模塊、總線測試模塊、模擬開關(guān)/ADC測試模塊、GPIO測試模塊、FPGA配 置模塊、通信模塊和時鐘復(fù)位模塊進(jìn)行供電。
[0113] 本發(fā)明基于上述SoPC芯片的功能自動化測試系統(tǒng)的自動化測試方法包括以下步 驟:
[0114] 首先,按照設(shè)定的測試內(nèi)容和測試順序,由測試控制模塊發(fā)送測試命令,依次開啟 串行通信接口測試、I 2C測試、中斷處理測試、定時器測試、計數(shù)器測試、1553B總線測試、模 擬開關(guān)/ADC測試、GPIO測試;并在各項測試結(jié)束后,由被測芯片CPU將測試結(jié)果發(fā)送到通 信模塊,所述通信模塊再將所述測試結(jié)果發(fā)送到測試控制模塊進(jìn)行匯總,完成被測芯片的 功能測試。
[0115] 其中,各模塊的具體測試方法如下:
[0116] (1)、被測芯片的串行通信接口測試包括以下步驟:
[0117] (Ia)、測試控制模塊通過通信模塊發(fā)送串行通信接口測試命令到被測芯片CPU,所 述被測芯片CPU通過N個異步串行通信接口分別發(fā)送測試數(shù)據(jù)到通信接口測試模塊中的N 個串口測試電路中;
[0118] (lb)、所述串口測試電路將接收到的測試數(shù)據(jù)轉(zhuǎn)發(fā)回被測芯片的異步串行通信接 Π ;
[0119] (lc)、被測芯片將所述異步串行通信接口接收到的數(shù)據(jù)與步驟(Ia)中的發(fā)送數(shù) 據(jù)進(jìn)行比較,得到測試結(jié)果,其中:
[0120] 如果所述接收數(shù)據(jù)與發(fā)送數(shù)據(jù)相同,則判斷被測芯片CPU的異步串行通信接口工 作正常;如果所述接收數(shù)據(jù)與發(fā)送數(shù)據(jù)不相同,則判斷被測芯片CPU的異步串行通信接口 工作異常;
[0121] (Id)、被測芯片CPU將步驟(Ic)得到的測試結(jié)果發(fā)送到通信模塊;
[0122] (Ie)、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
[0123] (2)、被測芯片的I2C測試包括以下步驟:
[0124] (2a)、測試控制模塊通過通信模塊發(fā)送I2C測試命令到被測芯片CPU,被測芯片的 I2C發(fā)送測試數(shù)據(jù)到的I2C測試電路模塊中的I2C測試電路中;
[0125] (2b)、所述的I2C測試電路接收并保存步驟(2a)中的測試數(shù)據(jù);
[0126] (2c)、被測芯片的I2C讀取I2C測試電路中保存的測試數(shù)據(jù),并與步驟(2a)中的發(fā) 送數(shù)據(jù)進(jìn)行比較,得到測試結(jié)果,其中:
[0127] 如果所述讀取數(shù)據(jù)與發(fā)送數(shù)據(jù)相同,則判斷被測芯片I2C工作正常;如果所述讀取 數(shù)據(jù)與發(fā)送數(shù)據(jù)不同,則判斷被測芯片I 2C工作異常;
[0128] (2d)、被測芯片CPU將步驟(2c)得到的測試結(jié)果發(fā)送到通信模塊;
[0129] (2e)、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
[0130] (3)、被測芯片中斷處理測試包括以下步驟:
[0131] (3a)、測試控制模塊通過通信模塊發(fā)送中斷處理測試命令到被測芯片CPU ;
[0132] (3b)、被測芯片CPU設(shè)定所述CPU中斷邏輯電路的中斷模式,并產(chǎn)生與所述中斷模 式相對應(yīng)的GPIO波形;該中斷模式包括上升沿觸發(fā)模式、下降沿觸發(fā)模式、低電平觸發(fā)模 式和高電平觸發(fā)模式;
[0133] (3c)、被測芯片CPU發(fā)送所述GPIO波形到中斷處理測試模塊;
[0134] (3d)、中斷處理測試模塊將步驟(3c)接收到的GPIO波形發(fā)送到被測芯片CPU的 中斷邏輯電路;
[0135] (3e)、被測芯片CPU根據(jù)所述中斷邏輯電路的觸發(fā)結(jié)果,得到被測芯片中斷處理 測試結(jié)果,其中:
[0136] 如果所述中斷邏輯電路根據(jù)接收到的GPIO波形觸發(fā)中斷,則判斷被測芯片的中 斷處理工作正常;如果所述中斷邏輯電路在接收到的GPIO波形后沒有觸發(fā)中斷,則判斷被 測芯片的中斷處理工作異常;
[0137] (3f)、被測芯片CPU將步驟(3d)得到的測試結(jié)果發(fā)送到通信模塊;
[0138] (3g)、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
[0139] (4)、被測芯片的定時器測試的具體實現(xiàn)過程如下:
[0140] (4a)、測試控制模塊通過通信模塊發(fā)送定時器測試命令到被測芯片CPU ;
[0141] (4b)、被測芯片CPU根據(jù)所述測試命令,設(shè)定被測芯片定時器的工作模式和定時 時間,并將所述定時時間分為M個時間片,其中,在每個所述時間片的結(jié)束時刻,由所述CPU 的中斷邏輯電路產(chǎn)生中斷信號,并由所述CPU進(jìn)行計數(shù);其中,M為設(shè)定的正整數(shù);所述的定 時器工作模式包括內(nèi)部時鐘模式測試、外部時鐘模式測試和外部實啟模式;
[0142] (4c)、被測芯片的CPU在所述定時時間的結(jié)束時刻停止計數(shù),并且被測芯片的定 時器輸出測試波形到定時器測試電路模塊;定時器測試電路模塊在接收到所述測試波形 后,驅(qū)動所述模塊中的指示電路,表明定時器工作完成;
[0143] (4d)、CPU將步驟(4b)中得到的計數(shù)結(jié)果與設(shè)定的M值進(jìn)行比較,得到測試結(jié)果, 其中:
[0144] 如果所述計數(shù)結(jié)果與M值相同,則判斷被測芯片的定時器部件工作正常;如果所 述計數(shù)結(jié)果與M值不同,則判斷被測芯片的定時器部件工作異常;
[0145] (4e)、被測芯片CPU將步驟(4d)得到的測試結(jié)果發(fā)送到通信模塊;
[0146] (4f)、通信模塊發(fā)送所述測試結(jié)果到測試控制模塊。
[0147] (5)、被測芯片的計數(shù)器測試包括以下步驟:
[0148] (5a)、測試控制模塊通過通信模塊發(fā)送計數(shù)命令到計數(shù)器測試模塊;
[0149] (5b)、計數(shù)器測試模塊在接收到所述計數(shù)命令后,產(chǎn)生計數(shù)信號;
[0150] (5c)、發(fā)送步驟(5b)產(chǎn)生的計數(shù)信號到被測芯片的計數(shù)器部件;
[0151] (5d)、被測芯片的計數(shù)器部件按照計數(shù)信號進(jìn)行計數(shù)操作,得到計數(shù)結(jié)果,其中:
[0152] 如果所述計數(shù)結(jié)果與計數(shù)信號對應(yīng)的計數(shù)結(jié)果相同,則判斷被測芯片的計數(shù)器部 件工作正常;如果所述計數(shù)結(jié)果與計數(shù)信號對應(yīng)的計數(shù)結(jié)果不同,則判斷被測芯片的計數(shù) 器部件工作異常;
[0153] (5e)、被測芯片CPU將步驟(5d)得到的測試結(jié)果發(fā)送到通信模塊;
[0154] (5f)、通信模塊發(fā)送所述測試結(jié)果到測試控制模塊。
[0155] (6)、被測芯片的總線測試包括以下步驟:
[0156] (6a)、測試控制模塊通過通信模塊發(fā)送總線測試命令到被測芯片CPU ;被測芯片 (PU通過被測芯片的1553B總線輸出前向測試信號到總線測試電路模塊;
[0157] (6b)、總線測試電路模塊對所述前向測試信號進(jìn)行電平轉(zhuǎn)換、信號隔離和信號耦 合處理后,輸出處理后的前向測試信號到外部1553B標(biāo)準(zhǔn)設(shè)備;
[0158] (6c)、所述外部1553B標(biāo)準(zhǔn)設(shè)備將接收到的前向測試信號轉(zhuǎn)發(fā)回總線測試模塊;
[0159] (6d)、總線測試模塊對步驟(6c)接收到的測試信號進(jìn)行信號耦合、信號隔離和電 平轉(zhuǎn)換后,得到返向測試信號;
[0160] (6e)、總線測試模塊發(fā)送所述返向測試信號到被測芯片1553B總線模塊;
[0161] (6f)、被測芯片CPU將所述返向測試信號與步驟(6a)中所述CPU發(fā)送的前向測試 信號進(jìn)行比較,得到測試結(jié)果,其中:
[0162] 如果所述前向測試信號與所述返向測試信號相同,則判斷被測芯片的總線工作正 常;如果所述前向測試信號與所述返向測試信號不同,則判斷被測芯片的總線工作異常;
[0163] (6g)、被測芯片CPU發(fā)送步驟(6f)得到的測試結(jié)果到通信模塊;
[0164] (6h)、通信模塊轉(zhuǎn)發(fā)所述測試結(jié)果到測試控制模塊。
[0165] (7)、被測芯片模擬開關(guān)/ADC測試包括如下步驟:
[0166] (7a)、測試控制模塊通過通信模塊發(fā)送模擬開關(guān)/ADC測試命令到被測芯片CPU ; 模擬開關(guān)/ADC測試模塊為被測芯片的模擬開關(guān)的L個輸入端口配置L個不同的模擬電壓 值,其中,所述模擬開關(guān)的輸出端口與被測芯片的ADC連接;
[0167] (7b)、被測芯片ADC接收模擬開關(guān)傳送的模擬電壓值,并進(jìn)行模數(shù)轉(zhuǎn)換,輸出電壓 數(shù)字值;
[0168] (7c)、被測芯片CPU根據(jù)所述ADC輸出的電壓數(shù)字值,推算出模擬電壓值;
[0169] (7d)、被測芯片CPU將步驟(7c)中推算出的模擬電壓值與步驟(7a)中配置的模 擬電壓值進(jìn)行比較,得到測試結(jié)果,其中:
[0170] 如果所述兩種模擬電壓值相同,則判斷被測芯片的模擬開關(guān)和ADC工作正常;如 果所述兩種模擬電壓值不同,則判斷被測芯片的模擬開關(guān)和ADC工作異常正常;
[0171] (7e)、被測芯片CPU將步驟(7d)得到的測試結(jié)果發(fā)送到通信模塊;
[0172] (7f)、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
[0173] (8)、被測芯片的GPIO測試通過被測芯片CPU的GPIO與被測芯片F(xiàn)PGA的互相測 試完成,具體實現(xiàn)步驟包括:
[0174] (8a)、測試控制模塊通過通信模塊發(fā)送模擬開關(guān)/ADC測試命令到被測芯片CPU ; 被測芯片CPU的GPIO輸出前向測試數(shù)據(jù)到被測芯片的FPGA的GPIO ;
[0175] (8b)、被測芯片CPU通過總線讀取所述FPGA中的前向測試數(shù)據(jù),并與步驟(8a)中 輸出的前向測試數(shù)據(jù)進(jìn)行比較,得到前向通道的測試結(jié)果,其中:
[0176] 如果進(jìn)過比較得到所述兩組數(shù)據(jù)相同,則判斷被測芯片CPU的GPIO中的輸出模式 工作正常,且被測芯片F(xiàn)PGA的GPIO中的接收模式工作正常;如果進(jìn)過比較得到所述兩組數(shù) 據(jù)不同,則判斷被測芯片CPU的GPIO中的輸出?;虮粶y芯片F(xiàn)PGA的GPIO中的接收模式工 作異常;
[0177] (8c)、被測芯片CPU通過總線發(fā)送返向測試數(shù)據(jù)到被測芯片的FPGA ;
[0178] (8d)、被測芯片F(xiàn)PGA通過GPIO發(fā)送所述返向測試數(shù)據(jù)到GPIO測試電路模塊;
[0179] (8e)、GPI0測試電路模塊將所述返向測試數(shù)據(jù)發(fā)送到被測芯片CPU的GPIO端口;
[0180] (8f)、被測芯片CPU將步驟(Se)中接收的返向測試數(shù)據(jù)與步驟(8c)中發(fā)送的返 向測試數(shù)據(jù)進(jìn)行比較,得到測試結(jié)果,其中:
[0181] 如果進(jìn)過比較得到所述兩組數(shù)據(jù)相同,則判斷被測芯片CPU的GPIO中的接收模式 工作正常,且被測芯片F(xiàn)PGA的GPIO中的輸出模式工作正常;如果進(jìn)過比較得到所述兩組數(shù) 據(jù)不同,則判斷被測芯片CPU的GPIO中的接收?;虮粶y芯片F(xiàn)PGA的GPIO中的輸出模式工 作異常;
[0182] (8g)、發(fā)送步驟(8b)和(8f)得到的測試結(jié)果到通信模塊;
[0183] (8h)、通信模塊發(fā)送所述測試結(jié)果到測試控制模塊。
[0184] 在本發(fā)明中,還可以將被測芯片的SRAM、SDRAM和FLASH的測試程序?qū)懭肟偟臏y試 程序中,完成進(jìn)行測試被測芯片的SRAM、SDRAM和FLASH的軟件測試。
[0185] 實施例:
[0186] 本實施例中針對一款包括SPARC V8內(nèi)核處理器、IMB SRAM、8MB FLASH,16MB SDRAM和30萬門FPGA實現(xiàn)的SoPC芯片,進(jìn)行自動化功能性測試。
[0187] 在自動化測試系統(tǒng)中,串行通信接口測試模塊包括4個異步串行通信接口的測試 電路;I 2C測試模塊包括2個I2C測試電路;中斷處理測試模塊包括1路不可屏蔽中斷和4路 外部中斷的測試電路;定時器測試模塊包括10個定時器輸出的3種應(yīng)用模式的測試電路, 其中,三種應(yīng)用模式分別為內(nèi)部時鐘模式、外部時鐘模式和外部實啟模式;計數(shù)器測試模塊 包括12路計數(shù)器測試電路;總線測試模塊包括1路高速1553B總線測試電路;模擬開關(guān)/ ADC測試模塊包括針對4路7位模擬開關(guān)輸入和4路獨立ADC的測試電路;GPIO測試模塊 包括16路輸入輸出電路的測試電路;其中,電源模塊由電源適配器實現(xiàn)220V交流電源到 5V03A直流電源的轉(zhuǎn)換,對其他模塊進(jìn)行供電;測試控制模塊由PC機(jī)實現(xiàn),可以實現(xiàn)人機(jī)交 互;并且該P(yáng)C機(jī)與集成了各測試模塊的硬件電路間通過通信電纜連接;FPGA配置模塊將測 試版本的FPGA配置文件加載在被測芯片的FPGA中,并在被測芯片CPU中運(yùn)行測試程序。
[0188] 其中,通信模塊、通信接口測試模塊、I2C測試模塊、中斷處理測試模塊、定時器測 試模塊、計數(shù)器測試模塊、總線測試模塊、模擬開關(guān)/ADC測試模塊、GPIO測試模塊、FPGA配 置模塊、時鐘復(fù)位模塊和電源模塊集成在一個硬件測試平臺上。
[0189] 在測試過程中,PC機(jī)通過通信電纜發(fā)送指令、接收響應(yīng),測試程序運(yùn)行于被測 SoPC芯片內(nèi)。其中,被測芯片根據(jù)收到的指令確定需要測試功能所涉及的模塊,并自動產(chǎn) 生需要施加的激勵,完成對SoPC芯片不同功能模塊的功能性測試,并將測試結(jié)果匯總到PC 機(jī)。
[0190] 以上所述的測試系統(tǒng)的連接方式如圖2所示,并按照圖3所示的測試流程進(jìn)行測 試,具體的測試步驟如下:
[0191] (1)、根據(jù)被測SoPC芯片包含的功能模塊和測試規(guī)范,編寫SoPC芯片的測試程序, 包括處理器程序和FPGA配置程序,并將兩者融合;
[0192] (2)、根據(jù)測試規(guī)范,編寫PC機(jī)上運(yùn)行的自動化測試程序,由其控制測試流程、匯 總測試結(jié)果、記錄測試信息;
[0193] (3)、打開芯片測試插座,加載被測試芯片并夾緊;實現(xiàn)芯片與測試系統(tǒng)的連接;
[0194] (4)、運(yùn)行PC機(jī)上的自動化測試軟件,并給自動化測試硬件平臺上電;
[0195] (5)、下載SoPC芯片使用的測試程序,然后運(yùn)行;
[0196] (6)、打開PC機(jī)的通信端口,并記錄測試人員、測試記錄保存路徑、文件名等信息;
[0197] (7)、PC機(jī)通過通信電纜讀取被測SoPC芯片的識別ID號,并在測試記錄文件中記 錄該ID號;
[0198] (8)、觸發(fā)測試程序,開始對被測芯片的各項功能進(jìn)行測試,其中包括:① UARTl測 試;②UART2測試;③UART3測試;④UART4測試;⑤第一個I2C寫操作測試、讀操作測試, 第二個I 2C寫操作測試、讀操作測試;⑥不可屏蔽中斷低電平觸發(fā)、高電平觸發(fā)、上升沿觸 發(fā)、下降沿觸發(fā)測試、4個外部中斷低電平觸發(fā)、高電平觸發(fā)、上升沿觸發(fā)、下降沿觸發(fā)測試; ⑦10個定時器的內(nèi)部時鐘模式測試、外部時鐘模式測試、外部實啟模式測試;;⑧12個計 數(shù)器測試;⑨1553B總線BC模式測試、RT模式測試;⑩4路模擬開關(guān)和ADC轉(zhuǎn)換測試;? GPIO輸入輸出模式測試;?FPGA配置模式測試;?SRAM測試;?SDRAM測試;?Flash 讀寫操作測試、扇區(qū)擦除測試、整片擦除測試;
[0199] (9)、PC機(jī)通過通信電纜接收測試結(jié)果,單片測試結(jié)束;
[0200] (10)、在單片測試結(jié)束后,切斷自動化測試硬件平臺電源;
[0201] (11)、打開芯片測試插座,取出被測試芯片;同時將測試過程和步驟(9)得到的測 試結(jié)果記錄在測試文件中。
[0202] 本實施例通過自動化硬件測試平臺、測試程序和自動化測試軟件之間的有機(jī)配 合,順利完成一款包括SPARC V8內(nèi)核處理器、IMB SRAM、8MB FLASH,16MB SDRAM和30萬門 FPGA實現(xiàn)的SoPC芯片的功能性測試自動化實現(xiàn)。模塊化設(shè)計解決了測試系統(tǒng)的維護(hù)困難 的問題,利用FPGA可重用的優(yōu)勢,精簡了自動化硬件測試平臺電路設(shè)計,降低測試成本,解 決了測試系統(tǒng)重構(gòu)復(fù)雜的問題;芯片測試的整個過程完全自動化,將測試過程從原來的15 分鐘縮短到3分鐘,同時自動輸出測試報告和結(jié)果統(tǒng)計,大大提高了設(shè)計生產(chǎn)率,降低了操 作復(fù)雜度。真正實現(xiàn)了一種自動化、高效、操作簡單、可重用的功能性測試。
[0203] 以上所述,僅為本發(fā)明最佳的【具體實施方式】,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
[0204] 本發(fā)明說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知技術(shù)。
【權(quán)利要求】
1. 一種基于SoPC芯片的功能自動化測試系統(tǒng),其特征在于:包括測試控制模塊、通信 模塊、串行通信接口測試模塊、I2C測試模塊、中斷處理測試模塊、定時器測試模塊、計數(shù)器 測試模塊、總線測試模塊、模擬開關(guān)/ADC測試模塊和GPI0測試模塊,其中: 測試控制模塊:發(fā)送測試命令、計數(shù)命令到通信模塊,并接收通信模塊發(fā)送的測試結(jié) 果; 通信模塊:接收測試控制模塊發(fā)送的測試命令或計數(shù)命令,并將所述測試命令發(fā)送到 被測芯片CPU,接收被測芯片的CPU輸出的測試結(jié)果;將所述計數(shù)命令發(fā)送到計數(shù)器測試模 塊; 串行通信接口測試模塊:包括N個串口測試電路,分別與被測芯片的N個異步串行通信 接口連接,接收所述通信接口發(fā)送的測試數(shù)據(jù),并將所述測試數(shù)據(jù)接收轉(zhuǎn)發(fā)回被測芯片的 異步串行通信接口;其中,N為正整數(shù); I2C測試模塊:包括2個I2C測試電路,分別與被測芯片的2個I2C連接,接收并保存被 測芯片I2C發(fā)送的測試數(shù)據(jù); 中斷處理測試模塊:接收被測芯片CPU發(fā)送的GPI0波形,并將所述GPI0波形發(fā)送到所 述CPU的中斷邏輯電路; 定時器測試模塊:包括指示電路,所述指示電路由被測芯片定時器發(fā)送的測試波形進(jìn) 行驅(qū)動并亮燈顯示; 計數(shù)器測試模塊:接收通信模塊發(fā)送的計數(shù)命令,產(chǎn)生計數(shù)信號,并將所述計數(shù)信號發(fā) 送到被測芯片計數(shù)器部件; 總線測試模塊:接收被測芯片1553B總線模塊輸出的測試信號,對所述測試信號進(jìn)行 電平轉(zhuǎn)換、信號隔離、信號耦合后輸出到外部1553B標(biāo)準(zhǔn)設(shè)備;接收所述外部1553B標(biāo)準(zhǔn)設(shè) 備轉(zhuǎn)發(fā)的返向測試信號,對所述返向測試信號進(jìn)行信號耦合、信號隔離和電平轉(zhuǎn)換處理后 輸出到被測芯片1553B總線模塊; 模擬開關(guān)/ADC測試模塊:為被測芯片的模擬開關(guān)的L個端口配置L個不同的模擬電壓 值;其中,L為正整數(shù); GPI0測試模塊:在被測芯片GPI0前向通道測試過程中,接收被測芯片CPU的GPI0發(fā) 送的前向測試信號,發(fā)送所述前向測試信號到被測芯片F(xiàn)PGA的GPI0 ;在被測芯片GPI0返 向通道測試過程中,接收被測芯片F(xiàn)PGA的GPI0發(fā)送的返向測試數(shù)據(jù),并轉(zhuǎn)發(fā)所述返向測試 數(shù)據(jù)到被測芯片CPU的GPI0端口。
2. 根據(jù)權(quán)利要求1所述的一種基于SoPC芯片的功能自動化測試系統(tǒng),其特征在于:還 包括FPGA配置模塊、時鐘復(fù)位模塊和電源模塊,其中: FPGA配置電路模塊:對被測芯片的FPGA進(jìn)行文件更新配置; 時鐘復(fù)位模塊:為被測芯片CPU提供時鐘和復(fù)位信號; 電源模塊:對串口通信接口測試模塊、I2C測試模塊、中斷處理測試模塊、定時器測試 模塊、計數(shù)器測試模塊、總線測試模塊、模擬開關(guān)/ADC測試模塊、GPI0測試模塊、FPGA配置 模塊、通信模塊和時鐘復(fù)位模塊進(jìn)行供電。
3. -種基于SoPC芯片的功能自動化測試方法,其特征在于:所述測試方法在一種自動 化測試系統(tǒng)中實現(xiàn),其中,所述自動化測試系統(tǒng)包括測試控制模塊、通信模塊、串行通信接 口測試模塊、I2C測試模塊、中斷處理測試模塊、定時器測試模塊、計數(shù)器測試模塊、總線測 試模塊、模擬開關(guān)/ADC測試模塊和GPIO測試模塊,所述測試方法的包括以下步驟: 首先,按照設(shè)定的測試內(nèi)容和測試順序,由測試控制模塊發(fā)送測試命令,依次開啟串行 通信接口測試、I2C測試、中斷處理測試、定時器測試、計數(shù)器測試、1553B總線測試、模擬開 關(guān)/ADC測試、GPI0測試;并在各項測試結(jié)束后,由被測芯片CPU將測試結(jié)果發(fā)送到通信模 塊,所述通信模塊再將所述測試結(jié)果發(fā)送到測試控制模塊進(jìn)行匯總,完成被測芯片的功能 測試。
4. 根據(jù)權(quán)利要求3所述的一種基于SoPC芯片的功能自動化測試方法,其特征在于:被 測芯片的串行通信接口測試包括以下步驟: (la) 、測試控制模塊通過通信模塊發(fā)送串行通信接口測試命令到被測芯片CPU,所述被 測芯片CPU通過N個異步串行通信接口分別發(fā)送測試數(shù)據(jù)到通信接口測試模塊中的N個串 口測試電路中; (lb) 、所述串口測試電路將接收到的測試數(shù)據(jù)轉(zhuǎn)發(fā)回被測芯片的異步串行通信接口; (lc) 、被測芯片將所述異步串行通信接口接收到的數(shù)據(jù)與步驟(la)中的發(fā)送數(shù)據(jù)進(jìn) 行比較,得到測試結(jié)果,其中: 如果所述接收數(shù)據(jù)與發(fā)送數(shù)據(jù)相同,則判斷被測芯片CPU的異步串行通信接口工作正 常;如果所述接收數(shù)據(jù)與發(fā)送數(shù)據(jù)不相同,則判斷被測芯片CPU的異步串行通信接口工作 異常; (ld) 、被測芯片CPU將步驟(lc)得到的測試結(jié)果發(fā)送到通信模塊; (le) 、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
5. 根據(jù)權(quán)利要求3所述的一種基于SoPC芯片的功能自動化測試方法,其特征在于:被 測芯片的I2C測試包括以下步驟: (2a)、測試控制模塊通過通信模塊發(fā)送I2C測試命令到被測芯片CPU,被測芯片的I2C 發(fā)送測試數(shù)據(jù)到的I2C測試電路模塊中的I2C測試電路中; (2b)、所述的I2C測試電路接收并保存步驟(2a)中的測試數(shù)據(jù); (2c)、被測芯片的I2C讀取I2C測試電路中保存的測試數(shù)據(jù),并與步驟(2a)中的發(fā)送數(shù) 據(jù)進(jìn)行比較,得到測試結(jié)果,其中: 如果所述讀取數(shù)據(jù)與發(fā)送數(shù)據(jù)相同,則判斷被測芯片I2C工作正常;如果所述讀取數(shù)據(jù) 與發(fā)送數(shù)據(jù)不同,則判斷被測芯片I2C工作異常; (2d)、被測芯片CPU將步驟(2c)得到的測試結(jié)果發(fā)送到通信模塊; (2e)、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
6. 根據(jù)權(quán)利要求3所述的一種基于SoPC芯片的功能自動化測試方法,其特征在于:被 測芯片中斷處理測試包括以下步驟: (3a)、測試控制模塊通過通信模塊發(fā)送中斷處理測試命令到被測芯片CPU ; (3b)、被測芯片CPU設(shè)定所述CPU中斷邏輯電路的中斷模式,并產(chǎn)生與所述中斷模式相 對應(yīng)的GPI0波形; (3c)、被測芯片CPU發(fā)送所述GPI0波形到中斷處理測試模塊; (3d)、中斷處理測試模塊將步驟(3c)接收到的GPI0波形發(fā)送到被測芯片CPU的中斷 邏輯電路; (3e)、被測芯片CPU根據(jù)所述中斷邏輯電路的觸發(fā)結(jié)果,得到被測芯片中斷處理測試 結(jié)果,其中: 如果所述中斷邏輯電路根據(jù)接收到的GPIO波形觸發(fā)中斷,則判斷被測芯片的中斷處 理工作正常;如果所述中斷邏輯電路在接收到的GPIO波形后沒有觸發(fā)中斷,則判斷被測芯 片的中斷處理工作異常; (3f)、被測芯片CPU將步驟(3d)得到的測試結(jié)果發(fā)送到通信模塊; (3g)、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
7. 根據(jù)權(quán)利要求3所述的一種基于SoPC芯片的功能自動化測試方法,其特征在于:被 測芯片的定時器測試的具體實現(xiàn)過程如下: (4a)、測試控制模塊通過通信模塊發(fā)送定時器測試命令到被測芯片CPU ; (4b)、被測芯片CPU根據(jù)所述測試命令,設(shè)定被測芯片定時器的工作模式和定時時間, 并將所述定時時間分為M個時間片,其中,在每個所述時間片的結(jié)束時刻,由所述CPU的中 斷邏輯電路產(chǎn)生中斷信號,并由所述CPU進(jìn)行計數(shù);其中,M為設(shè)定的正整數(shù); (4c)、被測芯片的CPU在所述定時時間的結(jié)束時刻停止計數(shù),并且被測芯片的定時器 輸出測試波形到定時器測試電路模塊;定時器測試電路模塊在接收到所述測試波形后,驅(qū) 動所述t旲塊中的指不電路,表明定時器工作完成; (4d)、CPU將步驟(4b)中得到的計數(shù)結(jié)果與設(shè)定的M值進(jìn)行比較,得到測試結(jié)果,其 中: 如果所述計數(shù)結(jié)果與M值相同,則判斷被測芯片的定時器部件工作正常;如果所述計 數(shù)結(jié)果與M值不同,則判斷被測芯片的定時器部件工作異常; (4e)、被測芯片CPU將步驟(4d)得到的測試結(jié)果發(fā)送到通信模塊; (4f)、通信模塊發(fā)送所述測試結(jié)果到測試控制模塊。
8. 根據(jù)權(quán)利要求3所述的一種基于SoPC芯片的功能自動化測試方法,其特征在于:被 測芯片的計數(shù)器測試包括以下步驟: (5a)、測試控制模塊通過通信模塊發(fā)送計數(shù)命令到計數(shù)器測試模塊; (5b)、計數(shù)器測試模塊在接收到所述計數(shù)命令后,產(chǎn)生計數(shù)信號; (5c)、發(fā)送步驟(5b)產(chǎn)生的計數(shù)信號到被測芯片的計數(shù)器部件; (5d)、被測芯片的計數(shù)器部件按照計數(shù)信號進(jìn)行計數(shù)操作,得到計數(shù)結(jié)果,其中: 如果所述計數(shù)結(jié)果與計數(shù)信號對應(yīng)的計數(shù)結(jié)果相同,則判斷被測芯片的計數(shù)器部件工 作正常;如果所述計數(shù)結(jié)果與計數(shù)信號對應(yīng)的計數(shù)結(jié)果不同,則判斷被測芯片的計數(shù)器部 件工作異常; (5e)、被測芯片CPU將步驟(5d)得到的測試結(jié)果發(fā)送到通信模塊; (5f)、通信模塊發(fā)送所述測試結(jié)果到測試控制模塊。
9. 根據(jù)權(quán)利要求3所述的一種基于SoPC芯片的功能自動化測試方法,其特征在于:被 測芯片的總線測試包括以下步驟: (6a)、測試控制模塊通過通信模塊發(fā)送總線測試命令到被測芯片CPU ;被測芯片CPU通 過被測芯片的1553B總線輸出前向測試信號到總線測試電路模塊; (6b)、總線測試電路模塊對所述前向測試信號進(jìn)行電平轉(zhuǎn)換、信號隔離和信號耦合處 理后,輸出處理后的前向測試信號到外部1553B標(biāo)準(zhǔn)設(shè)備; (6c)、所述外部1553B標(biāo)準(zhǔn)設(shè)備將接收到的前向測試信號轉(zhuǎn)發(fā)回總線測試模塊; (6d)、總線測試模塊對步驟(6c)接收到的測試信號進(jìn)行信號耦合、信號隔離和電平轉(zhuǎn) 換后,得到返向測試信號; (6e)、總線測試模塊發(fā)送所述返向測試信號到被測芯片1553B總線模塊; (6f)、被測芯片CPU將所述返向測試信號與步驟^a)中所述CPU發(fā)送的前向測試信號 進(jìn)行比較,得到測試結(jié)果,其中: 如果所述前向測試信號與所述返向測試信號相同,則判斷被測芯片的總線工作正常; 如果所述前向測試信號與所述返向測試信號不同,則判斷被測芯片的總線工作異常; (6g)、被測芯片CPU發(fā)送步驟(6f)得到的測試結(jié)果到通信模塊; (6h)、通信模塊轉(zhuǎn)發(fā)所述測試結(jié)果到測試控制模塊。
10. 根據(jù)權(quán)利要求3所述的一種基于SoPC芯片的功能自動化測試方法,其特征在于: 被測芯片模擬開關(guān)/ADC測試包括如下步驟: (7a)、測試控制模塊通過通信模塊發(fā)送模擬開關(guān)/ADC測試命令到被測芯片CPU ;模擬 開關(guān)/ADC測試模塊為被測芯片的模擬開關(guān)的L個輸入端口配置L個不同的模擬電壓值,其 中,所述模擬開關(guān)的輸出端口與被測芯片的ADC連接; (7b)、被測芯片ADC接收模擬開關(guān)傳送的模擬電壓值,并進(jìn)行模數(shù)轉(zhuǎn)換,輸出電壓數(shù)字 值; (7c)、被測芯片CPU根據(jù)所述ADC輸出的電壓數(shù)字值,推算出模擬電壓值; (7d)、被測芯片CPU將步驟(7c)中推算出的模擬電壓值與步驟(7a)中配置的模擬電 壓值進(jìn)行比較,得到測試結(jié)果,其中: 如果所述兩種模擬電壓值相同,則判斷被測芯片的模擬開關(guān)和ADC工作正常;如果所 述兩種模擬電壓值不同,則判斷被測芯片的模擬開關(guān)和ADC工作異常正常; (7e)、被測芯片CPU將步驟(7d)得到的測試結(jié)果發(fā)送到通信模塊; (7f)、通信模塊發(fā)送測試結(jié)果到測試控制模塊。
11. 根據(jù)權(quán)利要求3所述的一種基于SoPC芯片的功能自動化測試方法,其特征在于: 被測芯片的GPI0測試通過被測芯片CPU的GPI0與被測芯片F(xiàn)PGA的互相測試完成,具體實 現(xiàn)步驟包括: (8a)、測試控制模塊通過通信模塊發(fā)送模擬開關(guān)/ADC測試命令到被測芯片CPU ;被測 芯片CPU的GPI0輸出前向測試數(shù)據(jù)到被測芯片的FPGA的GPI0 ; (8b)、被測芯片CPU通過總線讀取所述FPGA中的前向測試數(shù)據(jù),并與步驟(8a)中輸出 的前向測試數(shù)據(jù)進(jìn)行比較,得到前向通道的測試結(jié)果,其中: 如果進(jìn)過比較得到所述兩組數(shù)據(jù)相同,則判斷被測芯片CPU的GPI0中的輸出模式工作 正常,且被測芯片F(xiàn)PGA的GPI0中的接收模式工作正常;如果進(jìn)過比較得到所述兩組數(shù)據(jù)不 同,則判斷被測芯片CPU的GPI0中的輸出?;虮粶y芯片F(xiàn)PGA的GPI0中的接收模式工作異 常; (8c)、被測芯片CPU通過總線發(fā)送返向測試數(shù)據(jù)到被測芯片的FPGA ; (8d)、被測芯片F(xiàn)PGA通過GPI0發(fā)送所述返向測試數(shù)據(jù)到GPI0測試電路模塊; (8e)、GPI0測試電路模塊將所述返向測試數(shù)據(jù)發(fā)送到被測芯片CPU的GPI0端口; (8f)、被測芯片CPU將步驟(8e)中接收的返向測試數(shù)據(jù)與步驟(8c)中發(fā)送的返向測 試數(shù)據(jù)進(jìn)行比較,得到測試結(jié)果,其中: 如果進(jìn)過比較得到所述兩組數(shù)據(jù)相同,則判斷被測芯片CPU的GPIO中的接收模式工作 正常,且被測芯片F(xiàn)PGA的GPI0中的輸出模式工作正常;如果進(jìn)過比較得到所述兩組數(shù)據(jù)不 同,則判斷被測芯片CPU的GPI0中的接收?;虮粶y芯片F(xiàn)PGA的GPI0中的輸出模式工作異 常; (8g)、發(fā)送步驟(8b)和(8f)得到的測試結(jié)果到通信模塊; (8h)、通信模塊發(fā)送所述測試結(jié)果到測試控制模塊。
【文檔編號】G01R31/28GK104459518SQ201410706874
【公開日】2015年3月25日 申請日期:2014年11月27日 優(yōu)先權(quán)日:2014年11月27日
【發(fā)明者】王蕊, 蘭利東, 趙元富, 周華章, 陸振林, 舒磊, 劉薇, 李璟, 李楠 申請人:北京時代民芯科技有限公司, 北京微電子技術(shù)研究所