本發明涉及一種電源管理,更具體地說,本發明涉及一種自動測試穩壓器的系統和方法。
背景技術:
電子設備的電源管理,如電腦、移動電話、數碼音樂播放器等,通常采用穩壓器來提供穩定的供電電壓。直流變換器為電子設備中應用廣泛的一種穩壓器。通常,直流變換器由供應商通過集成電路的形式供應。電源管理應用需要穩壓器能滿足多個用戶需求,例如:輸出功率切換、輸出電壓改變等等。性能優良的穩壓器被配置以先進的解決方案,以適應特定的用戶需求。為了評估穩壓器的工作性能,在配置好的穩壓器裝配至終端產品之前,需要對其進行測試。
目前,對于穩壓器的測試,一般將配置好的穩壓器安裝在應用環境中進行測試。但是,由于電源管理需求的多樣性和復雜性,如果直接采用電子設備的處理器(例如cpu)發送串行命令幀來執行穩壓器的相關測試,在測試過程中穩壓器輸出的電壓不穩定,可能會因此損壞cpu。
另一方面,如果采用手動一次設定一個串行命令幀至穩壓器并通過示波器來查看測試結果的方式進行測試,將花費大量的人力物力和時間,效率極低。
再一方面,當今電子設備的電源管理需求越來越復雜,穩壓器常常需要具有用于為多個負載點(pol)提供不同輸出電壓的多路開關電路。相對應地,穩壓器測試的排列組合會非常多,而一一測試過程費時費力,很難滿足用戶的測試需求。
技術實現要素:
因此本發明的目的在于解決現有技術的上述技術問題,提出一種自動測試穩壓器的系統及方法。
本發明提出了一種的自動測試穩壓器的方法,包括:在電腦上輸入自動測試設置,該自動測試設置指定用于測試用例執行的一組有序的串行命令幀;從電腦傳送自動測試設置至測試主機;根據自動測試設置,在測試主機內提供至少一個測試用例集的自動產生,其中一個測試用例集包括來自該組串行命令幀運行的多個循環,并在每一個循環中改變用于該組串行命令幀運行的一個指定參數為待遍歷數據集中的一個新數據,直到待遍歷數據集被遍歷完畢;將測試用例集的每一個串行命令幀從測試主機連續發送至穩壓器;在測試主機內通過比較每一個串行響應幀和預期參考來判斷響應結果是否符合預期,其中串行響應幀是對測試主機發送而穩壓器執行的串行命令幀的調節響應;以及提供測試用例集執行的結果。
本發明還提出了一種自動測試穩壓器的系統,包括:電腦,包括存儲器和處理器,其中處理器執行存儲器中的計算機可讀程序編碼,提供圖形用戶界面來輸入自動測試設置以指定用于測試用例執行的一組有序的串行命令幀;一自動測試平臺包括:測試主機,經由耦接至電腦的輸入輸出總線接收所述自動測試設置,根據自動測試設置提供至少一個測試用例集的自動產生和發送,其中一個測試用例集包括來自該組串行命令幀運行的多個循環,并在每一個循環中改變用于該組串行命令幀運行的一個指定參數為待遍歷數據集中的一個新數據,直到待遍歷數據集被遍歷完畢;串行通信總線,耦接至測試主機;配置好的穩壓器,經由串行通信總線逐一接收來自測試主機的每一個串行命令幀,根據每一個串行命令幀調節其內部電路的運行并提供相應的串行響應幀至測試主機;以及其中測試主機還通過比較每一個串行響應幀和預期參考來判斷響應結果是否符合預期,直至測試用例集被執行完畢。
根據上述用于自動測試穩壓器的系統和方法,可根據用戶需求提供測試用例集的自動生成和發送。該測試用例集可自動進行延時時間遍歷、主載荷遍歷以及命令遍歷測試中的一個或多個,提高了測試的靈活性和效率,降低了成本,同時滿足測試覆蓋性的要求。
附圖說明
圖1為示意性地示出了根據本發明一個實施例的自動測試穩壓器的系統10的邏輯模塊圖;
圖2示意性地示出了根據本發明另一實施例的自動測試穩壓器的系統10a的運行;
圖3示意性地示出了根據本發明一實施例的來自串行命令幀組200的測試用例集執行的波形圖;
圖4示意性地示出了根據本發明又一實施例的自動測試平臺115b的框圖;
圖5示意性地示出了根據本發明又一實施例的控制器420的電路模塊圖;
圖6~圖10分別示意性地示出了根據本發明實施例的添加有自動遍歷設置的測試用例集的自動生成;
圖11示意性地示出了根據本發明又一實施例的自動測試穩壓器的方法的流程圖;
圖12示意性地示出了根據本發明再一實施例的自動測試平臺115c的框圖。
具體實施方式
下面將詳細描述本發明的具體實施例,應當注意,這里描述的實施例只用于舉例說明,并不用于限制本發明。在以下描述中,為了提供對本發明的透徹理解,闡述了大量特定細節。然而,對于本領域普通技術人員顯而易見的是:不必采用這些特定細節來實行本發明。
在整個說明書中,對“一個實施例”、“實施例”、“一個示例”或“示例”的提及意味著:結合該實施例或示例描述的特定特征、結構或特性被包含在本發明至少一個實施例中。此外,可以以任何適當的組合和/或子組合將特定的特征、結構或特性組合在一個或多個實施例或示例中。此外,本領域普通技術人員應當理解,在此提供的附圖都是為了說明的目的,并且附圖不一定是按比例繪制的。應當理解,當稱元件“耦接到”或“連接到”另一元件時,它可以是直接耦接或耦接到另一元件或者可以存在中間元件。相反,當稱元件“直接耦接到”或“直接連接到”另一元件時,不存在中間元件。相同的附圖標記指示相同的元件。這里使用的術語“和/或”包括一個或多個相關列出的項目的任何和所有組合。
圖1為示意性地示出了根據本發明一個實施例的自動測試穩壓器的系統10的邏輯模塊圖。在圖1所示的實施例中,系統10包括電腦100、測試主機113和穩壓器114。電腦100可能被一用戶(如電氣工程師)采用,根據用戶的測試需求來輸入自動測試設置以指定用于測試用例執行的一組有序的串行命令幀。測試主機113根據自動測試設置來提供測試用例集的自動產生和發送。
電腦100的部件可能多于或少于圖1所示的部件數量。在圖1所示實施例中,電腦100包括處理器101和一根或多根總線103,所述總線103耦接多個部件。電腦100可能包括一個或多個用戶輸入設備102(如鍵盤、鼠標)、一個或多個數據存儲設備106(如硬盤驅動、光盤、閃存盤),顯示器104(如液晶顯示器、純平顯示器、陰極射線管),電腦網絡接口105(如網絡適配器、調制解調器),主存儲器108(如隨機存取存儲器)。其中電腦網絡接口105可能耦接至電腦網絡109。
電腦100可能是由軟件模塊編程的特定機器。在圖1所示實施例中,電腦100包括虛擬裝置121和記錄模塊122。前述軟件模塊包括處理器101執行的永久存儲于主存儲器108的計算機可讀程序編碼。電腦100通過執行軟件模塊實現其功能,軟件模塊可從數據存儲模塊106加載至主存儲器108。在一個實施例中,計算機可讀存儲媒介包括檔電腦執行相關操作以實現相關軟件模塊功能的指令。
虛擬裝置121為用戶提供輸入自動測試設置的入口和界面,包括提供圖形用戶界面(gui)的計算機可讀程序編碼。虛擬裝置121接收來自用戶的測試需求,例如輸出電壓改變、輸出功率切換等,通過用戶接口事件(如鼠標點擊、鼠標移動和文字輸入等)在虛擬裝置121上輸入自動測試設置以指定用于測試用例執行的一組有序的串行命令幀。在一個實施例中,虛擬裝置121將輸入的自動測試設置存儲為格式文件,該格式文件總結該組串行命令幀執行的參數值、變量、時序信息以及自動遍歷設置。在另一實施例中,可通過用戶接口事件調用已經存在的設計好的自動測試設置。
在圖1所示實施例中,電腦100包括輸入輸出總線接口112。在一個實施例中,輸入輸出總線接口112可能包括通用串行總線(usb)接口。測試主機113通過輸入輸出總線接口112耦接至電腦100。在一個實施例中,測試主機113和配置好的穩壓器114一起被安裝在一自動測試平臺115上,將usb通信轉化為穩壓器114支持的串行總線通信。穩壓器114支持的常用的串行總線有intel標準的串行電壓識別(svid)總線、amd標準的串行電壓接口(svi)總線、pmbus標準的自適應電壓調節總線(avsbus)以及nvidia標準的脈寬調節電壓識別(pwmvid)總線,這些總線的共同特征是高速串行時鐘頻率,以支持對操作電壓的靜態和動態控制、優化的電壓轉換、多功率狀態或模式的操作、支持多個軌道、用以確保魯棒操作的命令握手、以及大范圍的遙測、狀態和警報信號和寄存器以及監測與優化承受熱、功耗、輸入功率或者其他約束的電源系統操作。
當用戶將自動測試平臺115連接至電腦100時,虛擬裝置121在電腦100上運行,并啟動與穩壓器114支持的串行通信相關的的圖形用戶界面,以輸入自動測試設置。當用戶開始測試穩壓器114時,虛擬裝置121將自動測試設置經輸入輸出總線接口112傳送至測試主機113。測試主機113根據自動測試設置,提供測試用例集的自動產生和發送。一旦自動測試設置被確定,測試用例集也就確定了。其中一個測試用例集包括包括來自該組串行命令幀運行的多個循環,并在每一個循環中改變該組串行命令幀中的一個指定參數為待遍歷數據集中的一個新數據,直到待遍歷數據集被遍歷完畢。
在一個實施例中,測試主機113還可自動實時記錄或獲取測試用例執行的日志、在測試用例集執行期間產生的錯誤、故障警告和不符合預期的結果以及相關的串行命令幀的列表。在一個實施例中,一旦所有的測試用例執行完畢,測試主機113可將測試執行狀態作為一個整體提供至電腦100供用戶查看,而不必通過連接示波器一一查看。
根據本發明實施例,自動測試穩壓器的系統10根據用戶輸入的自動測試設置,提供測試用例集的自動產生和發送,并自動提供不符合預期的測試結果,不僅測試方便,效率高,而且可以避免由人為因素導致的錯誤的測試結果。
圖2示意性地示出了根據本發明另一實施例的自動測試穩壓器的系統10a的運行。在圖2所示的實施例中,配置好的穩壓器114a和測試主機113a一起被安裝在自動測試平臺115a上。在其它實施例中,穩壓器114a也可以在被安裝至自動測試平臺115a上的同時被進行系統配置,包括針對穩壓器引腳的硬連線配置和/或在穩壓器出廠時對內部系統的編程設置。
如圖2所示,自動測試平臺115a包括svid總線形式的串行通信總線176a。穩壓器114a包括svid總線接口116、第一路開關電路11-1以及第二路開關電路11-2。svid總線接口116與串行通信總線176a通訊。第一路開關電路11_1中將輸入電壓vin轉化為第一路輸出vo1,第二路開關電路11_2中的將輸入電壓vin轉化為第二路輸出vo2。每一路開關電路可包括一相或多相直流變換器,每一路開關電路的地址以獨立的、唯一的從地址進行標識。在圖2所示的實施例中,以兩路輸出的穩壓器114a為例進行說明,然而本領域技術人員可知,穩壓器114a也可以具有多路擴展至m路輸出,m是大于或等于2的整數。
在圖2所示的實施例中,電腦正在運行虛擬裝置121,所述虛擬裝置121顯示支持穩壓器114a的svid通信的圖形用戶界面120(見箭頭151),用于提供輸入自動測試設置以指定一組有序的串行命令幀。在其他實施例中,虛擬裝置121被啟動后可以產生支持svi2通信或avsbus通信的圖形用戶界面。
在一個實施例中,通過圖形用戶界面120輸入自動測試設置的方法包括:點擊圖形用戶界面120的圖標252(“導入”),從測試設置庫123中調用合適的自動測試設置(見箭頭152)。測試設置庫123中存儲有多個已設計好的自動測試設置,并提供一個列表供用戶選擇,其中不同的自動測試設置對應于不同的用戶測試需求。
在另一個實施例中,通過圖形用戶界面120輸入自動測試設置的方法包括:從用于一測試用例執行的多個串行命令設置幀中選取一組有序的串行命令設置幀(步驟a);具體指定每個已選串行命令設置幀的多個參數值(步驟b);在已選串行命令設置幀中添加一個或多個自動遍歷設置(步驟c);指定該組串行命令設置幀和測試用例集執行的時序信息(步驟d)。
注意,上文所述的步驟a、b、c和d只是為了將一個實體動作與另一個實體動作區分開,而并不意味著任何順序或序列的限定。這一實施例給出的順序并不意味著這些處理步驟必須根據這種順序進行,本領域的技術人員應當理解,在不脫離發明范圍的情況下,這些處理步驟可以基本上并行地執行,它們有時也可以按相反的順序互換執行,只要這種互換不會與權利要求語言矛盾并且不會出現邏輯上的荒謬。
如圖2所示,圖形用戶界面120的窗口210顯示用于一測試用例執行的串行命令設置幀211-1~211-7構成的列表211。步驟a包括從列表211左側的復選框來選取一組有序串行命令設置幀,以指定一組有序的串行命令幀組200。如圖2所示,已選的串行命令設置幀組包括串行命令設置幀211-1~211-3,相對應地,串行命令幀組200包括3個順序執行的串行命令幀201~203。
在圖2所示的實施例中,步驟b包括:在每個已選的串行命令設置幀(例如211-1~211-3)內指定用于目標開關電路的從地址212、指定包含待由目標開關電路執行的命令213以及指定用于包含相關數據的主載荷214。在一個實施例中,從地址212的參數設置框具有指定第一開關電路11-1的地址0000、指定第二開關電路11-2的地址0001以及同時指定第一開關電路11-1和第二開關電路11-2的地址0002三個從地址選項,從地址選項可通過硬連線或者對內部系統的編程進行配置。命令213的命令種類可以從命令下拉菜單217中進行選擇。命令種類亦可以被重新命名、添加或從命令下拉菜單217中移除。在一個實施例中,命令下拉菜單217進一步包括ob選項用以使能命令遍歷設置216。在一個實施例中,主載荷214包括與電壓幅度有關的數據。在另一個實施例中,主載荷214包括與穩壓器寄存器地址有關的數據。
在一個實施例中,步驟c包括:用戶將自動遍歷設置,例如延時時間遍歷設置219、主載荷遍歷設置218、命令遍歷設置216中的一個或多個手動添加或指定至已選的串行命令設置幀中,以使能串行命令幀組200的多個循環,自動形成一個或多個可執行遍歷測試的測試用例集。例如如圖2所示,用戶將通過選擇“y”將主載荷遍歷設置218添加至串行命令設置幀211-1中。
在一個實施例中,步驟d包括:指定串行命令幀組200中執行下一條串行命令幀的延時時間215、指定測試主機113a與待測穩壓器114a之間通訊的時鐘頻率221、串行命令幀組200的循環次數222、兩個循環之間的間隔時長223等時序信息。
在進一步的實施例中,通過圖形用戶界面120輸入自動測試設置的方法還包括生成自動測試設置的格式文件,該格式文件總結串行命令幀組200運行的參數值、變量、自動遍歷設置和時序信息等當前用戶提供的測試設置。在一個實施例中,該格式文件為xlsx文件。在另一個實施例中,該格式文件為測試主機113a的可讀文件。在一個實施例中,用戶通過點擊圖形用戶界面120的圖標253(“導出”),將自動測試設置的格式文件從虛擬裝置121導出并存儲在測試設置庫123中(見箭頭153)。
一旦自動測試設置已經被合理配置,用戶通過點擊虛擬裝置121的圖標251(執行)將自動測試設置傳送至測試主機113a。在圖2所示的實施例中,所述自動測試設置通過通用串行總線175a從電腦100傳送至測試主機113a。測試主機113a根據自動測試設置提供測試用例集的自動產生,其中一個測試用例集包括來自串行命令幀組200運行的多個循環,并在每一個循環中改變用于串行命令幀組運行的一個指定參數為待遍歷數據集中的一個新數據,直到待遍歷數據集被遍歷完畢。測試主機113a將測試用例集中的每一個串行命令幀連續發送至穩壓器114a的svid接口116。
穩壓器114a通過串行通信總線176a與測試主機113a進行通訊,接收每一條串行命令幀,不斷地更新其內部系統設置,調整穩壓器114a的電路運行,并根據內部運行情況將相應的串行響應幀傳送至測試主機113a。所述內部系統設置反映穩壓器114a在先進的解決方案和設計下所做的部件選擇和參數調整。所述串行響應幀是對測試主機113a發出而穩壓器114a執行的串行命令幀的調節器響應。在一個實施例中,串行響應幀包括ack信號,指示對應串行命令幀是否被確認或被拒絕。在另一個實施例中,串行響應幀包括ack信號以及從載荷。
測試主機113a通過比較來自穩壓器114a的每一個串行響應幀與預期參考來判斷響應結果是否達到預期,自動記錄不符合預期的結果,并將測試結果從測試主機113b傳送至電腦100的記錄模塊122。在進一步的實施例中,用戶可通過圖形用戶界面120查看記錄模塊122中存儲的來自測試主機113返回的測試期間產生的極性錯誤243、串行響應幀的列表241和242以及穩壓器114a的狀態244(見窗口220),而不必通過示波器一一查看測試結果。
圖3示意性地示出了根據本發明一實施例的來自串行命令幀組200的測試用例集執行的波形圖。其中串行命令幀組200包括順序執行的串行命令幀201~203。svid信號表示串行命令幀的時間包絡,在正常情況下為高,在串行命令幀被傳送時為低。如圖3所示,svid串行總線176a正在有序地向穩壓器114a傳送串行命令幀301~302以調節第一開關電路的輸出電壓vo1和第二開關電路的輸出電壓vo2。
在一個循環的初始時刻t0,svid被拉低,指示串行命令幀201開始傳送。在t1處串行命令幀201發送完成時,svid被拉高。第一路開關電路11-1的輸出電壓vo1從初始電壓開始逐步增大,直至達到串行命令幀301的主載荷指定的第一目標電壓。在本發明的實施例中,由于自動遍歷的設置,通過多個循環,第一路開關電路的第一目標電壓將自動從最大值(循環1)遍歷至最小值(循環n)。在時刻t2,svid被拉低,指示串行命令幀202開始傳送,在t3處串行命令幀202發送完成時,svid被拉高。穩壓器114a第二路輸出電壓11-2的輸出電壓vo2從初始電壓開始增大,最后穩定在串行命令幀202的主載荷指定的第二目標電壓。在t4時刻,svid被拉低,指示串行命令幀203開始傳送。在t5處串行命令幀203發送完成時,svid被拉高。穩壓器114a的兩路開關電路的輸出電壓均開始下降,直至在串行命令幀203的主載荷指定的目標電壓。其中t2-t1、t4-t3分別為串行命令幀201與202、202與203之間的延時時間。
從圖3可以看出,測試主機113b可代替電子設備的處理器(例如cpu),提供具有主載荷遍歷功能的測試用例集的自動產生和發送,與現有技術中僅抽取部分串行命令幀對穩壓器114進行測試的方式相比,滿足測試覆蓋性要求的同時提高了測試效率。
圖4示意性地示出了根據本發明又一實施例的自動測試平臺115b的框圖。在圖4所示的實施例中,測試主機113b和配置好的穩壓器114b一起被安裝在自動測試平臺115b上。自動測試平臺115b包括svid總線形式的串行通信總線176b。在其它實施例中,自動測試平臺115b可包括svi2、avsbus或pwmvid總線形式的串行通信總線。
在圖3所示的實施例中,測試主機113b包括輸入輸出總線接口130、處理邏輯單元131、驅動邏輯單元132、內部參考單元133、判斷邏輯單元134以及svid接口136。
svid接口136與串行通信總線176b通訊,輸入輸出總線接口130與輸入輸出總線175b通訊。測試主機113b通過與輸入輸出總線175進行通訊接收來自電腦100的自動測試設置。處理邏輯單元131通過輸入輸出總線接口130讀取自動測試設置的格式文件,提供測試用例集的自動生成。
驅動邏輯單元132通過svid接口136與串行通信總線176b進行通訊,提供測試用例集的自動發送。驅動邏輯單元132基于自動測試設置指定的時序信息,自動將測試用例集中的每一個串行命令幀逐一連續發送至穩壓器114b。此外,驅動邏輯單元132電基于時序信息將每一個串行命令幀逐一發送至內部參考單元133。內部參考單元133依照預定狀態為每一個串行命令幀產生預期參考。在一個實施例中,可通過查詢一存儲單元來檢索特定串行命令幀的預期參考。
在圖3所示的實施例中,穩壓器114b包括控制器420、一系列接口電路421和包括直流變換器422的穩壓器核。其中控制器420包括svid接口423。在另一個實施例中,svid接口423與控制器420是相互分離的獨立部件。svid接口423通過串行通信總線176b與測試主機113b進行通訊。在一個實施例中,控制器420為數字多相控制器,控制多相位的直流變換器422。直流變換器422包括將輸入電壓vin轉化為單路輸出電壓或多路輸出電壓的變換器。
控制器420包括接收來自電子設備處理器(負載)或測試主機181的每一個串行命令幀并根據串行命令幀更新其內部系統設置來以輸出相應的數字校正位串的電路。數字校正位串經由接口電路421應用于直流變換器422以運行對穩壓器的測試。接口電路421包括一個或多個電路,用以提供鉤子(hooks)來測試穩壓器114b。所述對穩壓器114b的測試根據從控制器420接收到的數字校正位串執行。
控制器420根據穩壓器114b的內部運行情況,通過svid接口423將表示內部運行情況的每一個串行響應幀逐一提供至測試主機113b。
在圖3所示的實施例中,測試主機113b的判斷邏輯單元134接收來自內部參考單元133的預期參考和來自svid接口136的串行響應幀,通過比較每一個串行響應幀與預期參考來判斷響應結果是否符合預期,自動記錄不符合預期的響應結果并將其從測試主機113b傳送至電腦100的記錄模塊122。上述測試主機113b發送一個串行命令幀、穩壓器114b根據該串行命令幀調節其運行并將相應的串行響應幀返回至測試主機113b以及測試主機113b判斷響應結果是否符合預期的過程被持續重復,直到測試主機113提供的測試用例集在穩壓器114b內全部執行完畢。
一旦所有測試用例集被執行完畢,測試主機113b將測試用例集的執行狀態作為一個整體通過與輸入輸出總線175通訊提供給用戶,這可能包括給出一個詳細的或者總結性的測試用例執行活動的日志、不符合測試結果的列表或者提供給用戶的警告以便于用戶查看并進行后續分析。圖5示意性地示出了根據本發明又一實施例的控制器420的電路模塊圖。在圖5所示的實施例中,控制器420包括執行串行轉并行的svid接口423。控制器420的部件可與內部總線487進行通訊。
控制器420包括狀態機480形式的控制電路。狀態機480使用非易失存儲器481提供的內存存儲空間和寄存器482作為臨時工作空間。非易失性存儲器481用于存儲或重新存儲穩壓器114b的內部系統配置。狀態機480被配置成經由svid接口423接收串行命令幀,并根據預先存儲在寄存器482或非易失存儲器481的內部系統配置經由一系列預定狀態輸出相應的數字校正位串。在一個實施例中,狀態機480經由內部總線487將相應數字校正位串傳送至一個或多個數字輸出端口485。一個數字輸出端口485可耦接至一個或多個接口電路421的部件。
在一個實施例中,控制器420接收來自測試主機113b的一個串行命令幀,例如svid協議中的setvid-fast指令。響應于該串行命令幀的執行,狀態機480根據新的主載荷數據調整直流變換器的參考電壓,從而將輸出電壓調整至該串行命令幀指定的目標電壓。
在一個實施例中,控制器420接收來自測試主機113b的一個串行命令幀,例如svid協議中的getreg指令,提供采樣信號(如輸出電壓vout、輸出電流io或者結溫tj)的當前值。響應于該串行命令幀,狀態機480通過預定狀態來選定特定來自多路轉換器486輸入端的采樣信號,以檢索模數轉換器(adc)483輸出的對應于所述采樣信號的數字值,并經由svid接口423將串行響應幀傳送至測試主機113b,其中所述采樣信號的數字值作為串行響應幀的從載荷。
應當注意,根據本發明的實施例,測試主機113b可添加延時時間遍歷設置219、主載荷遍歷設置218以及命令遍歷設置216的中的一個或多個的合并來提供測試用例集。下面參照圖6~圖10中示出的測試用例集的實施例來說明可自動遍歷測試的測試用例集在處理邏輯單元131的自動生成。
在一個實施例中,串行命令幀組300包括順序執行的串行命令幀301和302。一旦串行命令幀301的延時時間遍歷設置219被添加,串行命令幀組300的多個循環被使能,自動形成一個可遍歷延時時間的測試用例集401。如圖6所示,處理邏輯單元131通過串行命令幀組300的多個循環對串行命令幀301和302之間的延時時間進行調節,使得該延時時間從最大值遍歷至最小值(例如從100μs~0μs)。在串行命令幀組300的每一個循環中,處理邏輯單元131將指定的延時時間調節一預設值(例如5ns),并在本次循環完成后,方進入下一個循環。在一個實施例中,兩個循環之間的間隔時長為5μs,可通過圖形用戶界面120中的間隔時長223來輸入。在一個實施例中,一旦延時時間遍歷設置被添加,指定的延時時間從串行命令幀301執行的穩定時間(settlingtime)遍歷至串行命令幀301的長度。
在一個實施例中,一旦串行命令幀301的主載荷遍歷設置218被添加,串行命令幀組300的多個循環被使能,自動形成一個可遍歷主載荷數據的測試用例集402。如圖7所示,處理邏輯單元131通過多個循環對串行命令幀301的主載荷的數據進行調節,使得主載荷的數據從最大值遍歷至最小值(例如從1.55v減小至0v)。在串行命令幀組300的每一個循環中,串行命令幀301的主載荷數據被調節一預設值(例如1lsb),并在本次循環完成后,方進入下一個循環。在一個實施例中,串行命令幀301可以自動修改其主載荷數據以實現從ffh至00h的自動遍歷。
在另一個實施例中,串行命令幀301的主載荷數據為寄存器地址,一旦串行命令幀301的主載荷遍歷設置218被添加,處理邏輯單元131可通過串行命令幀組300的多個循環對指定的主載荷數據進行修改,直到預設的寄存器地址列表被順序遍歷完畢,其中在串行命令幀組300的每一個循環中,指定的主載荷數據被自動修改為一個新的寄存器地址,并在本次循環完成后,方進入下一個循環。
在一個實施例中,一旦串行命令幀301的命令遍歷設置216被添加,串行命令幀組300的多個循環被使能,以自動形成一個可遍歷命令種類的測試用例集403。如圖8所示,處理邏輯單元131通過串行命令幀組300的多個循環對串行命令幀301的命令種類進行自動修改,直到預設的命令種類列表(例如setvid-fast,setvid-slow,setps……getreg)被順序遍歷完畢。在串行命令幀組300的每一個循環中,處理邏輯單元131將串行命令幀301的命令自動修改一個新的命令種類,并在本次循環完成后,方進入下一個循環。
在一個實施例中,串行命令幀301的延時時間遍歷設置219和主載荷遍歷設置218被同時添加。處理邏輯單元131形成一個延時時間遍歷與主載荷遍歷合并的測試用例集501。如圖9所示,處理邏輯單元131通過測試用例集401的多個循環對串行命令幀301的主載荷進行調節,使得主載荷的數據從1.55v至逐步變化至ov。在測試用例集401的每一個循環中,串行命令幀301的主載荷數據被調節一預設值,并在本循環的測試用例集401完成后,方進入下一個循環。
在另一個實施例中,處理邏輯單元131產生具有延時時間遍歷和主載荷遍歷的測試用例集的方法包括:通過測試用例集402的多個循環對指定的延時時間進行調節,使得指定的延時時間的從最大值自動遍歷至最小值。其中在測試用例集402的每一個循環中,指定的延時時間被調節一預設值,并在本次循環的測試用例集402被執行完畢后,方進入下一個循環。
在一個實施例中,串行命令幀301的延時時間遍歷設置219、主載荷遍歷設置218以及命令遍歷設置216被同時添加。圖9所示的測試用例集501的多個循環被使能,形成一個延時時間遍歷、主載荷遍歷以及命令遍歷合并的測試用例集601。如圖10所示,處理邏輯單元131通過測試用例集501的多個循環對串行命令幀301的命令進行自動修改,直到預設的命令種類列表(例如setvid-fast,setvid-slow,setps……getreg)被順序執行完畢。其中在測試用例集501的每一個循環中,處理邏輯單元131將串行命令幀301的命令自動修改一個新的命令種類,并在本次循環的測試用例集501被執行完畢后,方進入下一個循環。
根據上述實施例,可以解決現有的測試方法中的很多問題。用戶只是在電腦100上更改自動測試設置,即可提供包含延時時間遍歷、主載荷遍歷以及命令種類遍歷中的一個或多個的測試用例集,確保滿足遍歷測試的覆蓋性需求,提高了測試的靈活性并降低了成本。
圖11為根據本發明又一實施例的自動測試穩壓器的方法流程圖。為敘述清晰,圖10所示的方法流程藉由圖1所示的部件進行闡述。
在圖11所示的實施例中,在電腦100的虛擬裝置121上輸入自動測試設置,以指定用于測試用例執行的一組有序的串行命令幀(步驟141)。自動測試設置被確定后,虛擬裝置121將自動測試設置傳送至測試主機113(步驟142)。根據自動測試設置在測試主機113內提供多個測試用例集的自動產生(步驟143)。其中一個測試用例集包括來自該組串行命令幀運行的多個循環,并在每一個循環中改變該組串行命令幀中的一個指定參數為待遍歷數據集中的一個新數據,直到待遍歷數據集被遍歷完畢。將測試用例集中的每一個串行命令幀連續發送至穩壓器114(步驟144)。在一個實施例中,步驟143和步驟144可以基本并行地進行。
在測試主機113內通過比較每一個串行響應幀和預期參考來判斷響應結果是否符合預期(步驟145)。其中串行響應幀是對測試主機113發出而穩壓器114執行的調節響應。將測試用例執行的結果提供至用戶(步驟146)。在一個實施例中,測試主機113自動記錄不符合預期的結果和相關的串行命令幀的列表以進行后續分析。
圖12為根據本發明再一實施例的自動測試平臺115c的示意圖。在圖12所示的實施例中,測試主機113c和配置好的穩壓器114c一起被安裝在自動測試平臺115c上。自動測試平臺115c包括svid總線形式的串行通信總線176c和i2c總線形式的pmbus總線177。測試主機113c包括輸入輸出總線接口130、處理邏輯單元131、驅動邏輯單元132、內部參考單元內部參考單元133、判斷邏輯單元134、svid接口136以及pmbus接口137。其中svid接口136與過串行通信總線176c通訊,pmbus接口137與pmbus總線177通訊。
在一個實施例中,穩壓器114c通過故障警報線178向測試主機113c發送測試期間的故障警報。當穩壓器114c發生故障時,穩壓器114c將故障警報線178上的信號拉低,以通知故障的發生。測試主機113c檢測到故障警報線178的信號變低時,根據預設編程通過pmbus總線177自動發送讀指令至穩壓器114c,讀取穩壓器114c的內部狀態寄存器,以查明故障類型,例如,過壓故障、過流故障等。在一個實施例中,測試主機113c還將讀取結果發送至電腦100的記錄模塊123,供工程師作后續分析。
雖然已參照幾個典型實施例描述了本發明,但應當理解,所用的術語是說明和示例性、而非限制性的術語。由于本發明能夠以多種形式具體實施而不脫離發明的精神或實質,所以應當理解,上述實施例不限于任何前述的細節,而應在隨附權利要求所限定的精神和范圍內廣泛地解釋,因此落入權利要求或其等效范圍內的全部變化和改型都應為隨附權利要求所涵蓋。