專利名稱:一種實現(xiàn)usb設(shè)備自動掉電的裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種USB設(shè)備自動掉電裝置及方法。
背景技術(shù):
通信設(shè)備上電掉電的重復(fù)性測試能夠充分暴漏產(chǎn)品設(shè)計的穩(wěn)定性問題,發(fā)現(xiàn)產(chǎn)品設(shè)計中的隱患,如電源部分的上電沖擊對產(chǎn)品的影響、上電復(fù)位的可靠性以及系統(tǒng)在正常工作情況下,上電掉電后能否恢復(fù)常態(tài)等,而通常這部分的測試是靠人工方式完成,工作的重復(fù)性、時間的持續(xù)性、測試頻次難保證、手動插拔容易損壞設(shè)備接口等都是人工測試的弱點,傳統(tǒng)測試方法和手段存在明顯的局限和不足。
發(fā)明內(nèi)容
為解決現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明提出了一種可以準確的控制USB設(shè)備掉電的方法和裝置。本發(fā)明采取的技術(shù)方案是一種實現(xiàn)USB設(shè)備自動掉電的方法,包括步驟SI :設(shè)備接收上位機下發(fā)的指令;步驟S2 :判斷是否已設(shè)置地址,是則執(zhí)行步驟S3,否則執(zhí)行步驟S5 ;步驟S3 :判斷所述指令是否滿足過濾條件,是則執(zhí)行步驟S4,否則返回執(zhí)行步驟SI ;步驟S4 :對目標設(shè)備執(zhí)行掉電操作,然后返回步驟SI ;步驟S5 :判斷指令類型;當(dāng)所述指令為設(shè)置過濾條件命令則執(zhí)行設(shè)置過濾條件操作,并向上位機返回設(shè)置完成響應(yīng),然后返回步驟Si ;當(dāng)所述指令為設(shè)置地址命令則向上位機返回接收成功響應(yīng),并將當(dāng)前設(shè)備地址設(shè)置為目標設(shè)備地址,然后返回步驟Si ;當(dāng)所述指令為其他操作指令則執(zhí)行相應(yīng)其他操作,并向上位機返回相應(yīng)其他操作響應(yīng),然后返回步驟Si。步驟S2所述判斷是否已設(shè)置地址具體為,判斷當(dāng)前設(shè)備地址是否與目標設(shè)備地址一致?;蛘呔唧w為,判斷是否存在地址更改標記;步驟S5所述將當(dāng)前設(shè)備地址設(shè)置為目標設(shè)備地址之后包括設(shè)置地址更改標記。步驟SI之后包括,當(dāng)所述指令的數(shù)據(jù)全部接收完成時啟動第一計時器,或是當(dāng)所述指令的預(yù)先約定長度的數(shù)據(jù)接收完成時啟動第一計時器。相應(yīng)的所述步驟S4為,判斷當(dāng)前計時是否達到第一預(yù)設(shè)時間,是則對目標設(shè)備執(zhí)行掉電操作并將第一計時器清零,然后返回步驟SI,否則處于等待狀態(tài)并重復(fù)所述步驟S4。步驟S3所述判斷所述指令是否滿足過濾條件具體為,判斷所述指令的預(yù)設(shè)指定字節(jié)是否與預(yù)設(shè)過濾字節(jié)一致;步驟S5所述執(zhí)行設(shè)置過濾條件操作具體為,將指令過濾字節(jié)設(shè)置為預(yù)設(shè)過濾字節(jié)。
或者步驟S3所述判斷所述指令是否滿足過濾條件為,判斷所述指令的預(yù)設(shè)字節(jié)是否與預(yù)設(shè)過濾字節(jié)一致,和/或判斷所述指令的當(dāng)前計次是否為預(yù)設(shè)數(shù)值;步驟S5所述執(zhí)行設(shè)置過濾條件操作具體為,將指令過濾字節(jié)設(shè)置為預(yù)設(shè)過濾字節(jié),和/或?qū)⑺鲋噶畹挠嫶沃翟O(shè)置為預(yù)設(shè)數(shù)值。其中,步驟S5所述設(shè)置過濾條件操作還包括將掉電等待時間設(shè)置為第一預(yù)設(shè)時間。或者步驟S3所述判斷所述指令是否滿足過濾條件具體為,判斷所述指令的預(yù)設(shè)字節(jié)的取值是否滿足預(yù)設(shè)范圍,是則滿足過濾條件,否則不滿足過濾條件;步驟S3之后步驟S4之前包括根據(jù)所述指令的預(yù)設(shè)字節(jié)的取值在預(yù)先存儲的過濾列表中查找與所述預(yù)設(shè)字節(jié)的取值對應(yīng)的掉電等待時間,并將查找到的所述掉電等待時間記錄為第一預(yù)設(shè)時間;步驟S5所述執(zhí)行設(shè)置過濾條件操作具體為,設(shè)置過濾列表并保存,所述過濾列表由過 濾字節(jié)和與所述過濾字節(jié)對應(yīng)的掉電等待時間組成。實審步驟S3根據(jù)所述指令的長度、格式或預(yù)設(shè)字段的內(nèi)容來判斷所述指令是否滿足過濾條件;步驟S5所述執(zhí)行設(shè)置過濾條件操作為執(zhí)行設(shè)置指令的長度、格式或預(yù)設(shè)字段的內(nèi)容的操作。步驟S4所述對目標設(shè)備執(zhí)行掉電操作之后包括,判斷當(dāng)前計時是否達到第二預(yù)設(shè)時間,是則對目標設(shè)備執(zhí)行上電操作并將所述第一計時器清零,然后返回步驟Si,否則處于等待狀態(tài)并重復(fù)判斷當(dāng)前計時是否達到第二預(yù)設(shè)時間。步驟S4所述對目標設(shè)備執(zhí)行掉電操作并將所述第一計時器清零之后包括,啟動第二計時器,判斷當(dāng)前計時是否達到第二預(yù)設(shè)時間,是則對目標設(shè)備執(zhí)行上電操作并將所述第二計時器清零,然后返回步驟Si,否則處于等待狀態(tài)并重復(fù)判斷當(dāng)前計時是否達到第二預(yù)設(shè)時間。步驟S5所述設(shè)置過濾條件操作還包括將上電等待時間設(shè)置為第二預(yù)設(shè)時間。步驟S4中所述對目標設(shè)備執(zhí)行掉電操作之后還包括,將當(dāng)前設(shè)備地址還原為設(shè)備原始地址。步驟S5所述將當(dāng)前設(shè)備地址設(shè)置為目標設(shè)備地址之后包括,啟動第三計時器,當(dāng)所述第三計時器的計時達到第三預(yù)設(shè)時間時則當(dāng)前設(shè)備地址自動還原為設(shè)備原始地址。步驟S5所述其他操作指令包括打開端口指令、獲取設(shè)備狀態(tài)指令、過流參數(shù)設(shè)置指令、指示燈狀態(tài)顯示指令。一種實現(xiàn)USB設(shè)備自動掉電的裝置,包括USB HUB芯片2、主控芯片3、設(shè)備端口控制電路4和指示燈電路5,其中,所述裝置通過USB HUB芯片2的端口與PC機I相連,通過設(shè)備端口控制電路4的端口與USB設(shè)備7相連,主控芯片3和設(shè)備端口控制電路4連接到USB HUB芯片2,設(shè)備端口控制電路4和指示燈電路5連接到主控芯片3。所述USB HUB芯片2,用于擴展USB通道,提供PC機I通過設(shè)備端口控制電路4與USB設(shè)備7相連的接口,用于提供PC機I與主控芯片3的數(shù)據(jù)傳輸通道;所述主控芯片3,用于接收USB HUB芯片2傳輸來的數(shù)據(jù)并做出相應(yīng)處理,以及向USB HUB芯片2返回相應(yīng)處理結(jié)果;用于控制設(shè)備端口控制電路4和指示燈電路5 ;設(shè)備端口控制電路4,與USB設(shè)備7和主控芯片3直接連接,用于控制打開或關(guān)閉USB設(shè)備端口 ;
指示燈電路5,用于指示USB設(shè)備7的運行狀態(tài)。所述主 控芯片3包括收發(fā)模塊301,用于接收PC機I發(fā)送來的指令,用于向PC機I發(fā)送指令響應(yīng);判斷模塊302,用于判斷是否已設(shè)置了地址,當(dāng)已設(shè)置地址時用于判斷指令是否滿足過濾條件,當(dāng)未設(shè)置指令時用于判斷指令類型;用于判斷計時是否達到掉電等待時間,用于判斷計時是否達到上電等待時間;設(shè)置模塊303,用于當(dāng)所述指令為設(shè)置過濾條件命令時設(shè)置過濾字節(jié)和設(shè)置掉電等待時間,用于設(shè)置上電等待時間;用于當(dāng)所述指令為設(shè)置命令時,設(shè)置當(dāng)前設(shè)備地址為目標設(shè)備地址;操作模塊304,用于解析接收到的指令,用于當(dāng)計時達到掉電等待時間時對USB設(shè)備執(zhí)行掉電操作,還用于當(dāng)計時達到上電等待時間時候?qū)SB設(shè)備執(zhí)行上電操作。所述裝置還包括電流轉(zhuǎn)換電路,與所述主控芯片3和設(shè)備端口控制電路4相連,用于將流向所述USB設(shè)備7的電流值轉(zhuǎn)換為電壓值。所述裝置還包括過流報警電路,與所述主控芯片3相連,用于當(dāng)所述USB設(shè)備7的端口電流超過額定電流時發(fā)出警報,用于觸發(fā)指示燈提示錯誤。本發(fā)明的有益效果是本發(fā)明提出的自動掉電裝置及方法,可以提高生產(chǎn)測試效率和測試的有效性,還可以滿足系統(tǒng)設(shè)備同時大批量生產(chǎn)測試。
圖I是實施例一提出的一種實現(xiàn)USB設(shè)備自動掉電的方法流程圖;圖2是實施例二提供的一種實現(xiàn)USB設(shè)備自動掉電的裝置示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。實施例一如圖I所示,一種實現(xiàn)USB設(shè)備自動掉電的方法包括以下步驟步驟101 :設(shè)備等待接收上位機下發(fā)的指令;步驟102 :設(shè)備接收到指令后首先判斷是否已設(shè)置地址,是則執(zhí)行步驟103,否則執(zhí)行步驟110 ;本實施例中具體地,設(shè)備接收到指令后判斷當(dāng)前設(shè)備地址是否與目標設(shè)備地址一致,是則表示已經(jīng)設(shè)置地址;或者設(shè)備接收到指令后判斷是否存在地址更改標記,如果存在地址更改標記則表示已經(jīng)設(shè)置地址;否則表示未設(shè)置地址。步驟103 :判斷指令是否滿足過濾條件,是則執(zhí)行步驟104,否則返回執(zhí)行步驟101 ;本實施例中,所述判斷指令是否滿足過濾條件具體為判斷指令的預(yù)設(shè)字節(jié)是否與預(yù)設(shè)過濾字節(jié)一致,是則滿足過濾條件,所述指令為掉電指令,執(zhí)行步驟104,否則返回步驟101等待接收下一條指令。除此之外,還可以將所述指令的長度、格式、預(yù)定字段的內(nèi)容等作為是否滿足過濾條件的判斷依據(jù)。在本實施例中,以預(yù)定的生成密鑰對指令為例。該指令具體為00460000020400 ;如果接收到的指令的前4個字節(jié)與預(yù)定的生成密鑰對指令一致,則執(zhí)行步驟104?;蛘?,所述判斷指令是否滿足過濾條件為判斷指令的當(dāng)前計次是否為預(yù)設(shè)數(shù)值,是則滿足過濾條件,否則不滿足過濾條件。例如,當(dāng)收到的指令為修改PIN指令,則當(dāng)前記錄的收到修改PIN指令的次數(shù)為2時滿足過濾條件,執(zhí)行掉電操作。
進一步的,判斷指令是否滿足過濾條件還可以為Al :判斷指令的預(yù)設(shè)字節(jié)是否與預(yù)設(shè)過濾字節(jié)一致,是則執(zhí)行下一步,否則返回步驟 101 ;所述預(yù)設(shè)字節(jié)為所述指令的前兩個字節(jié)。A2:判斷所述指令的當(dāng)前計次是否為預(yù)設(shè)值,是則滿足過濾條件,否則返回步驟101。所述預(yù)設(shè)值為大于等于I的整數(shù),例如,所述預(yù)設(shè)值為3,則滿足過濾條件具體為所述指令的前兩個字節(jié)滿足過濾字節(jié)且滿足收到所述指令的次數(shù)為3?;蛘呤?上述步驟103具體為步驟103-1 :判斷指令的預(yù)設(shè)字節(jié)的取值是否滿足預(yù)設(shè)范圍,是則執(zhí)行下一步,否則返回執(zhí)行步驟101 ;步驟103-2 :根據(jù)所述指令預(yù)設(shè)字節(jié)的取值查找對應(yīng)的掉電等待時間,并將查找到的所述掉電等待時間記錄為第一預(yù)設(shè)時間,然后執(zhí)行步驟104 ;進一步的,還可以根據(jù)所述指令預(yù)設(shè)字節(jié)的取值查找對應(yīng)的上電等待時間,并將查找到的所述上電等待時間記錄為第二預(yù)設(shè)時間。步驟104 :啟動第一計時器;本實施例中具體地,可以是當(dāng)所述指令的數(shù)據(jù)全部接收完成開始啟動第一計時器,也可以是當(dāng)接收到所述指令的一部分數(shù)據(jù)時開始啟動第一計時器。步驟105 :判斷第一計時器的計時是否達到第一預(yù)設(shè)時間,是則執(zhí)行下一步,否則處于等待狀態(tài);進一步地,在本實施例中,所述第一預(yù)設(shè)時間可根據(jù)所述掉電指令的內(nèi)容進行設(shè)置。例如,在本實施例中,如果接收到的掉電指令為00460000020400則在接收到指令I(lǐng). 5秒后對目標設(shè)備執(zhí)行掉電操作。如果接收到的掉電指令為00460000020200則在接收到指令0. 5秒后對目標設(shè)備執(zhí)行掉電操作。步驟106 :將第一計時器清零,對目標設(shè)備執(zhí)行掉電操作;上述步驟104-106還可以替換為以下操作對目標設(shè)備執(zhí)行掉電操作。相應(yīng)的,可以是當(dāng)所述指令的數(shù)據(jù)全部接收完成執(zhí)行掉電,也可以是當(dāng)接收到所述指令的一部分數(shù)據(jù)時執(zhí)行掉電。例如,當(dāng)接收到的指令為讀二進制指令時,所述指令的前兩個字節(jié)滿足過濾字節(jié),當(dāng)接收完成所述指令的前2個字節(jié)數(shù)據(jù)時執(zhí)行掉電操作。本實施例中,步驟106之后還可以包括以下步驟步驟107 :啟動第二計時器;步驟108 :判斷第二計時器的計時是否達到第二預(yù)設(shè)時間,是則執(zhí)行下一步,否則處于等待狀態(tài);步驟109 :將第二計時器清零,對目標設(shè)備執(zhí)行上電操作,返回步驟101。上述步驟104-步驟109還可以用以下步驟104'-步驟108'的方案替換步驟104':啟動第一計時器;
步驟105':判斷第一計時器的計時是否達到第一預(yù)設(shè)時間,是則執(zhí)行下一步,否則處于等待狀態(tài);步驟106':對目標設(shè)備執(zhí)行掉電操作;步驟107':判斷第一計時器的計時是否達到第三預(yù)設(shè)時間,是則執(zhí)行下一步,否則處于等待狀態(tài);步驟108':將第一計時器清零,對目標設(shè)備執(zhí)行上電操作,返回步驟101。進一步的,步驟106或步驟106'中對目標設(shè)備執(zhí)行掉電操作之后還包括將當(dāng)前設(shè)備地址還原的操作,具體為將當(dāng)前設(shè)備地址更改回原始地址。或者是在步驟109或步驟108'中對目標設(shè)備執(zhí)行上電操作之后執(zhí)行將當(dāng)前設(shè)備地址還原的操作。步驟110 :判斷指令類型,如果所述指令為設(shè)置過濾條件命令時執(zhí)行步驟111-步驟114,如果所述指令為設(shè)置地址命令時執(zhí)行步驟115-步驟116 ;如果是其他操作指令則執(zhí)行步驟117-步驟118 ;如果是無效數(shù)據(jù),則向上位機返回事先約定的錯誤碼;本實施例中,所述判斷指令類型具體為根據(jù)指令的前兩個字節(jié)判斷指令類型,并根據(jù)指令類型判斷指令是否有效,如果無效則向上位機返回事先約定的錯誤碼;具體地,本實施例中判斷方法為步驟A :如果指令的前兩個字節(jié)是預(yù)先約定的0x6801,則所述指令為設(shè)置過濾條件指令,如果指令只包含指令頭和數(shù)據(jù)域,所述指令有效,否則無效,所述數(shù)據(jù)域中包括預(yù)設(shè)字節(jié)段、第一預(yù)設(shè)時間段和第二預(yù)設(shè)時間段;步驟B :如果指令的前兩個字節(jié)是預(yù)先約定的0x6802,則所述指令為設(shè)置地址指令,如果指令只包含指令頭和數(shù)據(jù)域,所述指令有效,否則無效;步驟C :如果指令的第一個字節(jié)是預(yù)先約定的數(shù)值,則所述指令為其他操作指令,所述其他操作指令包括打開端口指令、獲取設(shè)備狀態(tài)指令、過流參數(shù)設(shè)置指令、指示燈狀態(tài)顯不指令等。本實施例中具體地,當(dāng)所述指令的第一個字節(jié)為0x02,則所述指令為打開端口指令,所述指令的第二個字節(jié)表示相應(yīng)的端口 ;當(dāng)所述指令的第一個字節(jié)為0x2a,則所述指令為獲取設(shè)備狀態(tài)指令;當(dāng)所述指令的第一個字節(jié)為Oxlb,則所述指令為設(shè)置過流參數(shù)指令;當(dāng)所述指令的第一個字節(jié)為Oxlc或0x2c或0x3c時,所述指令為指示燈狀態(tài)顯示指令,其中,第一個字節(jié)為Oxlc的指令控制綠色指示燈亮,第一個字節(jié)為0x2c控制黃色指示燈亮,第一個字節(jié)為0x3c控制黃色指示燈亮。
其他情況有可能是有效的其他指令,也有可能是無效數(shù)據(jù),對這些指令的處理不在本方案范圍內(nèi)。本實施例中,步驟110之前還可以包括檢查所述指令是否完整,如果完整則繼續(xù)步驟110,否則向上位機返回事先約定的錯誤碼;檢查所述指令是否完整具體為步驟Cl :判斷指令長度是否超過兩個字節(jié),是則指令完整,否則指令不完整;為便于描述,將指令的前兩個字節(jié)記為指令頭。步驟C2 :如果指令長度超過3個字節(jié),則從第3字節(jié)開始獲取數(shù)據(jù)長度,檢查所述 數(shù)據(jù)長度與指令的剩余部分是否匹配。在本實施例中,以指令的第3字節(jié)的值作為數(shù)據(jù)域長度的值,除此之外,還可以將第3至第5字節(jié)的值作為數(shù)據(jù)域長度的值。相應(yīng)地,在這種情況下,如果第3字節(jié)的值不為0,則指令不完整;否則第4字節(jié)的值作為數(shù)據(jù)域長度值的高字節(jié),第5字節(jié)作為低字節(jié)。例如,第3至第5字節(jié)的值為0x001234,則數(shù)據(jù)域長度值為0x1234。為便于描述,將獲取數(shù)據(jù)域長度所使用的字段記為第一長度段。所述檢查所述數(shù)據(jù)長度與指令的剩余部分是否匹配,檢查如下如果剩余數(shù)據(jù)的長度比所述數(shù)據(jù)長度小,則指令不完整,如果剩余數(shù)據(jù)的長度與所述數(shù)據(jù)長度相符,則指令完整,將剩余數(shù)據(jù)中第一長度段之后開始,長度與所述長度值相符的部分記為數(shù)據(jù)域;如果剩余數(shù)據(jù)的長度比所述數(shù)據(jù)長度大,則從指令中除了指令頭、第一長度段和數(shù)據(jù)域之外的數(shù)據(jù)段獲取長度值,為便于描述,將本次獲取長度值所使用的字段記為第二長度段。如果指令除了指令頭、第一長度段、數(shù)據(jù)域和第二長度段之外還有殘存的數(shù)據(jù),則指令不完整,否則指令完整。步驟111 :將過濾字節(jié)設(shè)置為預(yù)設(shè)字節(jié);步驟112 :將掉電等待時間設(shè)置為第一預(yù)設(shè)時間;步驟113 :將上電等待時間設(shè)置為第二預(yù)設(shè)時間;步驟114 :向上位機返回設(shè)置完成響應(yīng),返回步驟101。上述步驟111-114還可以替換為以下操作將過濾字節(jié)設(shè)置為預(yù)設(shè)字節(jié),向上位機返回設(shè)置完成響應(yīng),返回步驟101 ;或者是將接收指令的次數(shù)設(shè)置為預(yù)設(shè)數(shù)值,向上位機返回設(shè)置完成響應(yīng),返回步驟 101 ;或者是將過濾字節(jié)設(shè)置為預(yù)設(shè)字節(jié),將掉電等待時間設(shè)置為第一預(yù)設(shè)時間,向上位機返回設(shè)置完成響應(yīng),返回步驟101。進一步地本實施例中,當(dāng)所述指令為設(shè)置過濾條件命令時,還可以是執(zhí)行以下步驟步驟111':設(shè)置過濾條件;具體地,所述過濾條件為,所述指令的第一字節(jié)為68,第二字節(jié)的取值滿足一個預(yù)設(shè)范圍。例如,所述預(yù)設(shè)范圍為03-08,則當(dāng)所述指令的前兩個字節(jié)符合0x6803、0x6804、0x6805、0x6806、0x6807、0x6808中任意一個時所述指令滿足過濾條件。步驟112':將掉電等待時間設(shè)置為第一預(yù)設(shè)時間;
步驟113':向上位機返回設(shè)置完成響應(yīng),返回步驟101?;蛘呤?,執(zhí)行步驟111'設(shè)置過濾條件后直接執(zhí)行步驟113'。或者是,步驟111'中所述設(shè)置過濾條件可以為設(shè)置一張過濾列表,所述過濾列表可以由過濾字節(jié)和掉電等待時間組成,例如,過濾字節(jié)為0x6803對應(yīng)的掉電等待時間為ls,過濾字節(jié)為0x6804對應(yīng)的掉電等待時間為2s等等。則相應(yīng)地,步驟111'之后可以省略步驟112'直接執(zhí)行步驟113'?;蛘呤?,步驟111'中所述設(shè)置過濾條件具體為設(shè)置所述指令的預(yù)設(shè)指定字節(jié)滿足過濾字節(jié)且收到所述指令的次數(shù)為預(yù)設(shè)數(shù)值;例如當(dāng)所述指令的前兩個字節(jié)滿足0x6803,且收到所述指令的當(dāng)前計次為1,則執(zhí)行掉電操作?;蛘呤牵襟E111'中所述設(shè)置過濾條件具體為設(shè)置所述指令的預(yù)設(shè)指定字節(jié)的取值大于或小于過濾字節(jié)的取值。所述預(yù)設(shè)指定字節(jié)可以從所述指令的數(shù)據(jù)頭或數(shù)據(jù)域 中預(yù)先指定。步驟115 :向上位機返回成功接收響應(yīng);步驟116 :將當(dāng)前設(shè)備地址設(shè)置為目標設(shè)備地址,返回執(zhí)行步驟101。具體地,本步驟還可以為將當(dāng)前設(shè)備地址設(shè)置為目標設(shè)備地址,設(shè)置地址更改標記,返回步驟101。進一步地,將當(dāng)前設(shè)備地址設(shè)置為目標設(shè)備地址后可以開始啟動計時,當(dāng)計時達到第三預(yù)設(shè)時間時則當(dāng)前設(shè)備地址自動還原為原始地址。步驟117 :執(zhí)行相應(yīng)操作;具體地,當(dāng)所述指令為打開端口指令時,執(zhí)行將設(shè)備的相應(yīng)端口打開的操作,例如所述指令的前兩個字節(jié)為0x0280則執(zhí)行將設(shè)備的端口 0打開的操作,前兩個字節(jié)為0x0287則執(zhí)行將設(shè)備的端口 7打開的操作。當(dāng)所述指令為獲取設(shè)備狀態(tài)指令時,執(zhí)行獲取設(shè)備的電流值高位、電流值低位、端口狀態(tài)、電流上限高位、電流上限低位等信息的操作;當(dāng)所述指令為設(shè)置過流參數(shù)指令時,執(zhí)行設(shè)置電流上限高位和電流上限低位的操作。步驟118 :向上位機返回操作響應(yīng),返回執(zhí)行步驟101。本實施例中具體地,向上位機返回的操作響應(yīng)的首字節(jié)為0x5a。實施例二如圖2所示一種USB設(shè)備自動掉電裝置6,包括USB HUB芯片2、主控芯片3、設(shè)備端口控制電路4和指示燈電路5,其中,所述裝置6通過USB HUB芯片2的端口與PC機I相連,通過設(shè)備端口控制電路4的端口與USB設(shè)備7相連,主控芯片3和設(shè)備端口控制電路4連接到USB HUB芯片2,設(shè)備端口控制電路4和指示燈電路5連接到主控芯片3。所述裝置由電源提供5V的工作電壓,5V的工作電壓經(jīng)過電壓轉(zhuǎn)換形成3. 3V的電壓為USB HUB芯片2供電。USB HUB芯片2,用于擴展USB通道,提供PC機I通過設(shè)備端口控制電路4與USB設(shè)備7相連的接口,用于提供PC機I與主控芯片3的數(shù)據(jù)傳輸通道;主控芯片3,用于接收USB HUB芯片2傳輸來的數(shù)據(jù)并做出相應(yīng)處理,以及向USBHUB芯片2返回相應(yīng)處理結(jié)果;用于控制設(shè)備端口控制電路4和指示燈電路5 ;所述主控芯片3包括收發(fā)模塊301、判斷模塊302、設(shè)置模塊303、操作模塊304和計時模塊305,其中
收發(fā)模塊301,用于接收PC機I發(fā)送來的指令,用于向PC機I發(fā)送指令響應(yīng);判斷模塊302,用于判斷是否已設(shè)置了地址,當(dāng)已設(shè)置地址時用于判斷指令是否滿足過濾條件,當(dāng)未設(shè)置指令時用于判斷指令類型;用于判斷計時是否達到掉電等待時間,還可以用于判斷計時是否達到上電等待時間;設(shè)置模塊303,用于當(dāng)所述指令為設(shè)置過濾條件命令時設(shè)置過濾字節(jié)和設(shè)置掉電等待時間,進一步的還可以設(shè)置上電等待時間;用于當(dāng)所述指令為設(shè)置命令時,設(shè)置當(dāng)前設(shè)備地址為目標設(shè)備地址;操作模塊304,用于解析接收到的指令,用于當(dāng)計時達到掉電等待時間時對USB設(shè)備執(zhí)行掉電操作,進一步的還用于當(dāng)計時達到上電等待時間時候?qū)SB設(shè)備執(zhí)行上電操作。設(shè)備端口控制電路4,與USB設(shè)備7和主控芯片3直接連接,用于控制打開或關(guān)閉 USB設(shè)備端口 ;具體地,主控芯片3通過控制設(shè)備端口控制電路4中的三極管的導(dǎo)通與否來控制USB設(shè)備的上電掉電操作,當(dāng)三極管導(dǎo)通時USB設(shè)備端口打開即設(shè)備上電,當(dāng)三極管不導(dǎo)通時USB設(shè)備端口關(guān)閉即設(shè)備掉電。指示燈電路5,用于指示USB設(shè)備7的運行狀態(tài),例如黃燈提示運行中、紅燈提示出錯,綠燈提示運行成功。進一步的,所述USB設(shè)備自動掉電裝置6還可以包括電流轉(zhuǎn)換電路,與主控芯片3和設(shè)備端口控制電路4相連,用于將流向USB設(shè)備7的電流值轉(zhuǎn)換為電壓值;還可以包括過流報警電路,與主控芯片3相連,用于當(dāng)USB設(shè)備7的端口電流超過額定電流時發(fā)出警報,用于觸發(fā)指示燈提示錯誤。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)所述以權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是包括 步驟Si:設(shè)備接收上位機下發(fā)的指令; 步驟S2 :判斷是否已設(shè)置地址,是則執(zhí)行步驟S3,否則執(zhí)行步驟S5 ; 步驟S3 :判斷所述指令是否滿足過濾條件,是則執(zhí)行步驟S4,否則返回執(zhí)行步驟SI ; 步驟S4 :對目標設(shè)備執(zhí)行掉電操作,然后返回步驟SI ; 步驟S5 :判斷指令類型; 當(dāng)所述指令為設(shè)置過濾條件命令則執(zhí)行設(shè)置過濾條件操作,并向上位機返回設(shè)置完成響應(yīng),然后返回步驟SI ; 當(dāng)所述指令為設(shè)置地址命令則向上位機返回接收成功響應(yīng),并將當(dāng)前設(shè)備地址設(shè)置為目標設(shè)備地址,然后返回步驟SI ; 當(dāng)所述指令為其他操作指令則執(zhí)行相應(yīng)其他操作,并向上位機返回相應(yīng)其他操作響應(yīng),然后返回步驟SI。
2.根據(jù)權(quán)利要求I所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S2所述判斷是否已設(shè)置地址具體為,判斷當(dāng)前設(shè)備地址是否與目標設(shè)備地址一致。
3.根據(jù)權(quán)利要求I所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S2所述判斷是否已設(shè)置地址具體為,判斷是否存在地址更改標記;步驟S5所述將當(dāng)前設(shè)備地址設(shè)置為目標設(shè)備地址之后包括設(shè)置地址更改標記。
4.根據(jù)權(quán)利要求I所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟SI之后包括,當(dāng)所述指令的數(shù)據(jù)全部接收完成時啟動第一計時器,或是當(dāng)所述指令的預(yù)先約定長度的數(shù)據(jù)接收完成時啟動第一計時器。
5.根據(jù)權(quán)利要求4所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是所述步驟S4為,判斷當(dāng)前計時是否達到第一預(yù)設(shè)時間,是則對目標設(shè)備執(zhí)行掉電操作并將第一計時器清零,然后返回步驟SI,否則處于等待狀態(tài)并重復(fù)所述步驟S4。
6.根據(jù)權(quán)利要求I所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S3所述判斷所述指令是否滿足過濾條件具體為,判斷所述指令的預(yù)設(shè)指定字節(jié)是否與預(yù)設(shè)過濾字節(jié)一致; 步驟S5所述執(zhí)行設(shè)置過濾條件操作具體為,將指令過濾字節(jié)設(shè)置為預(yù)設(shè)過濾字節(jié)。
7.根據(jù)權(quán)利要求I所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S3所述判斷所述指令是否滿足過濾條件為,判斷所述指令的預(yù)設(shè)字節(jié)是否與預(yù)設(shè)過濾字節(jié)一致,和/或判斷所述指令的當(dāng)前計次是否為預(yù)設(shè)數(shù)值; 步驟S5所述執(zhí)行設(shè)置過濾條件操作具體為,將指令過濾字節(jié)設(shè)置為預(yù)設(shè)過濾字節(jié),和/或?qū)⑺鲋噶畹挠嫶沃翟O(shè)置為預(yù)設(shè)數(shù)值。
8.根據(jù)權(quán)利要求6或7所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S5所述設(shè)置過濾條件操作還包括將掉電等待時間設(shè)置為第一預(yù)設(shè)時間。
9.根據(jù)權(quán)利要求I所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S3所述判斷所述指令是否滿足過濾條件具體為,判斷所述指令的預(yù)設(shè)字節(jié)的取值是否滿足預(yù)設(shè)范圍,是則滿足過濾條件,否則不滿足過濾條件; 步驟S3之后步驟S4之前包括根據(jù)所述指令的預(yù)設(shè)字節(jié)的取值在預(yù)先存儲的過濾列表中查找與所述預(yù)設(shè)字節(jié)的取值對應(yīng)的掉電等待時間,并將查找到的所述掉電等待時間記錄為第一預(yù)設(shè)時間; 步驟S5所述執(zhí)行設(shè)置過濾條件操作具體為,設(shè)置過濾列表并保存,所述過濾列表由過濾字節(jié)和與所述過濾字節(jié)對應(yīng)的掉電等待時間組成。
10.根據(jù)權(quán)利要求I所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S3根據(jù)所述指令的長度、格式或預(yù)設(shè)字段的內(nèi)容來判斷所述指令是否滿足過濾條件; 步驟S5所述執(zhí)行設(shè)置過濾條件操作為執(zhí)行設(shè)置指令的長度、格式或預(yù)設(shè)字段的內(nèi)容的操作。
11.根據(jù)權(quán)利要求4所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S4所述對目標設(shè)備執(zhí)行掉電操作之后包括,判斷當(dāng)前計時是否達到第二預(yù)設(shè)時間,是則對目標設(shè)備執(zhí)行上電操作并將所述第一計時器清零,然后返回步驟SI,否則處于等待狀態(tài)并重復(fù)判斷當(dāng)前計時是否達到第二預(yù)設(shè)時間。
12.根據(jù)權(quán)利要求5所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S4所述對目標設(shè)備執(zhí)行掉電操作并將所述第一計時器清零之后包括,啟動第二計時器,判斷當(dāng)前計時是否達到第二預(yù)設(shè)時間,是則對目標設(shè)備執(zhí)行上電操作并將所述第二計時器清零,然后返回步驟SI,否則處于等待狀態(tài)并重復(fù)判斷當(dāng)前計時是否達到第二預(yù)設(shè)時間。
13.根據(jù)權(quán)利要求11或12所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S5所述設(shè)置過濾條件操作還包括將上電等待時間設(shè)置為第二預(yù)設(shè)時間。
14.根據(jù)權(quán)利要求I所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S4中所述對目標設(shè)備執(zhí)行掉電操作之后還包括,將當(dāng)前設(shè)備地址還原為設(shè)備原始地址。
15.根據(jù)權(quán)利要求I所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S5所述將當(dāng)前設(shè)備地址設(shè)置為目標設(shè)備地址之后包括,啟動第三計時器,當(dāng)所述第三計時器的計時達到第三預(yù)設(shè)時間時則當(dāng)前設(shè)備地址自動還原為設(shè)備原始地址。
16.根據(jù)權(quán)利要求I所述一種實現(xiàn)USB設(shè)備自動掉電的方法,其特征是步驟S5所述其他操作指令包括打開端口指令、獲取設(shè)備狀態(tài)指令、過流參數(shù)設(shè)置指令、指示燈狀態(tài)顯示指令。
17.一種實現(xiàn)USB設(shè)備自動掉電的裝置,其特征是包括USB HUB芯片(2)、主控芯片(3 )、設(shè)備端口控制電路(4 )和指示燈電路(5 ),其中,所述裝置通過USB HUB芯片(2 )的端口與PC機(I)相連,通過設(shè)備端口控制電路(4 )的端口與USB設(shè)備(7 )相連,主控芯片(3 )和設(shè)備端口控制電路(4)連接到USB HUB芯片(2 ),設(shè)備端口控制電路(4)和指示燈電路(5 )連接到主控芯片(3)。
18.根據(jù)權(quán)利要求17所述的裝置,其特征是所述USBHUB芯片(2),用于擴展USB通道,提供PC機(I)通過設(shè)備端口控制電路(4 )與USB設(shè)備(7 )相連的接口,用于提供PC機(I)與主控芯片(3)的數(shù)據(jù)傳輸通道; 所述主控芯片(3),用于接收USB HUB芯片(2)傳輸來的數(shù)據(jù)并做出相應(yīng)處理,以及向USB HUB芯片(2)返回相應(yīng)處理結(jié)果;用于控制設(shè)備端口控制電路(4)和指示燈電路(5); 設(shè)備端口控制電路(4),與USB設(shè)備(7)和主控芯片(3)直接連接,用于控制打開或關(guān)閉USB設(shè)備端口 ; 指示燈電路(5 ),用于指示USB設(shè)備(7 )的運行狀態(tài)。
19.根據(jù)權(quán)利要求17或18所述的裝置,其特征是所述主控芯片(3)包括收發(fā)模塊(301 ),用于接收PC機(I)發(fā)送來的指令,用于向PC機(I)發(fā)送指令響應(yīng);判斷模塊(302),用于判斷是否已設(shè)置了地址,當(dāng)已設(shè)置地址時用于判斷指令是否滿足過濾條件,當(dāng)未設(shè)置指令時用于判斷指令類型;用于判斷計時是否達到掉電等待時間,用于判斷計時是否達到上電等待時間; 設(shè)置模塊(303),用于當(dāng)所述指令為設(shè)置過濾條件命令時設(shè)置過濾字節(jié)和設(shè)置掉電等待時間,用于設(shè)置上電等待時間;用于當(dāng)所述指令為設(shè)置命令時,設(shè)置當(dāng)前設(shè)備地址為目標設(shè)備地址; 操作模塊(304),用于解析接收到的指令,用于當(dāng)計時達到掉電等待時間時對USB設(shè)備執(zhí)行掉電操作,還用于當(dāng)計時達到上電等待時間時候?qū)SB設(shè)備執(zhí)行上電操作。
20.根據(jù)權(quán)利要求17所述的裝置,其特征是所述裝置還包括電流轉(zhuǎn)換電路,與所述主控芯片(3)和設(shè)備端口控制電路(4)相連,用于將流向所述USB設(shè)備(7)的電流值轉(zhuǎn)換為電壓值。
21.根據(jù)權(quán)利要求17所述的裝置,其特征是所述裝置還包括過流報警電路,與所述主控芯片(3)相連,用于當(dāng)所述USB設(shè)備(7)的端口電流超過額定電流時發(fā)出警報,用于觸發(fā)指示燈提示錯誤。
全文摘要
本發(fā)明公開了一種實現(xiàn)USB設(shè)備自動掉電的裝置及方法,屬于通信技術(shù)領(lǐng)域。本發(fā)明提出的裝置與USB設(shè)備和主機相連,通過將所述裝置的地址設(shè)置為與USB設(shè)備地址一致,通過接收主機下發(fā)的掉電指令來自動控制USB設(shè)備掉電,本發(fā)明提出的方法通過接收主機下發(fā)的滿足過濾條件的指令來控制目標設(shè)備自動掉電;所述過濾條件可以預(yù)先靈活多樣的設(shè)置。本發(fā)明提出的一種可以準確地控制USB設(shè)備掉電的方法及裝置,可以提高生產(chǎn)測試效率和測試的有效性,還可以滿足設(shè)備同時大批量生產(chǎn)測試。
文檔編號H04L12/26GK102801582SQ201210253758
公開日2012年11月28日 申請日期2012年7月20日 優(yōu)先權(quán)日2012年7月20日
發(fā)明者陸舟, 于華章 申請人:飛天誠信科技股份有限公司