一種輸入輸出端口的測試方法
【專利摘要】本發(fā)明公開了一種輸入輸出端口的測試方法,該測試方法通過將嵌入式系統(tǒng)所有的輸入輸出設備的端口測試拆分為多次執(zhí)行的單端口測試,每次端口測試僅針對一個待測端口進行:對輸入輸出設備的一個待測端口傳輸測試信息,回采待測端口的測試信號及該輸入輸出設備的其他非待測端口的正常信號,通過對待測端口回采的信號和非待測端口回采的信號進行異常判斷,從而確定該待測端口是否存在靜態(tài)失效或串擾失效。采用本發(fā)明測試方法簡單易行,且能有效實現(xiàn)多周期執(zhí)行,不影響系統(tǒng)正常運行。
【專利說明】
一種輸入輸出端口的測試方法
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于輸入輸出端口診斷技術(shù)領(lǐng)域,具體涉及一種多次執(zhí)行單端口測試的方法。
【背景技術(shù)】
[0002]在安全儀器儀表領(lǐng)域中,這類產(chǎn)品的輸入輸出經(jīng)常與傳感器或執(zhí)行機構(gòu)直接連接,并且安全儀器儀表往往應用在比較危險的場合,一旦發(fā)生故障卻沒能及時的發(fā)現(xiàn)采取處理措施,將會導致很嚴重的人員傷亡和財產(chǎn)上的損失。因此這就要求安全儀器儀表有著極高的安全性和可靠性,對輸入和輸出鏈路的測試顯得尤為重要,靜態(tài)故障和通道串擾都是輸入輸出端失效的主要類型。
[0003]對端口輸入輸出鏈路的測試方法很多,通過檢測序列、輸出回檢和冗余比較都能夠?qū)斎胼敵鲦溌愤M行有效的檢測,然而這些方法的診斷過程不能被拆分,并且不能檢測出鏈路之間的串擾,對于有較多輸入輸出端口的系統(tǒng)進行該類測試就需要很長時間,有的甚至需要將系統(tǒng)停止運行,這大大影響到了系統(tǒng)的運行效率,同時鏈路間的串擾失效也更容易發(fā)生在這樣掛載多個輸入輸出設備的系統(tǒng)中。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中存在的缺陷,提供一種能夠有效實現(xiàn)多周期執(zhí)行的輸入輸出端口測試方法。
[0005]為了達到上述目的,本發(fā)明提供了一種輸入輸出端口的測試方法,該測試方法通過將嵌入式系統(tǒng)所有的輸入輸出設備的端口測試拆分為多次執(zhí)行的單端口測試,每次端口測試僅針對一個待測端口進行:對輸入輸出設備的一個待測端口傳輸測試信息,回采待測端口的測試信號及該輸入輸出設備的其他非待測端口的正常信號,通過對待測端口回采的信號和非待測端口回采的信號進行異常判斷,從而確定該待測端口是否存在靜態(tài)失效或串擾失效。
[0006]當待測端口存在靜態(tài)失效或串擾失效時,進入異常處理程序;當待測端口不存在靜態(tài)失效和串擾失效時,繼續(xù)下一端口的測試或進行其他任務的運行。
[0007]本發(fā)明測試方法的具體步驟如下:
(1)將嵌入式系統(tǒng)所有的輸入輸出設備的端口測試拆分為多次執(zhí)行的單端口測試,每次端口測試只針對一個待測端口 ;
(2)由控制器發(fā)起對輸入輸出設備的端口測試:控制器發(fā)出測試信號,通過安全通訊協(xié)議傳輸至輸入輸出設備的MCU單兀;
(3)MCU單元接收到測試信號并進入測試模式:在輸入設備中,MCU將測試信號通過測試鏈路傳輸至待測端口,然后通過輸入鏈路將待測端口和非待測端口的信號一同采集回MCU;在輸出設備中,MCU將測試信號通過輸出鏈路輸出至待測端口,然后通過反饋鏈路將待測端口和非待測端口的信號一同采集回MCU; (4)MCU單元將本次測試回采的信號通過安全通訊協(xié)議傳輸至控制器;
(5)控制器判斷待測端口回采的信號和非待測端口回采的信號是否出現(xiàn)異常:若控制器判斷待測端口回采信號出現(xiàn)異常,則表示待測端口發(fā)生靜態(tài)失效;若控制器判斷非待測端口回采信號出現(xiàn)異常,則表示待測端口與非待測端口間發(fā)生串擾失效;
(6)當檢測出異常時,則嵌入式系統(tǒng)進入異常處理程序;
(7)若該待測端口的測試模式通過,則由控制器決定是否繼續(xù)下一端口的測試或進行其他任務的運行。
[0008]其中,步驟(2)中的測試信號為一組離散序列,該序列由高、低電平組成,按照序列順序,單次端口測試中只傳輸該序列中的一個值(即高電平或低電平),在下一次端口測試中再輸出下一個值。
[0009]每個端口采用所述步驟(2)至步驟(5)進行多次測試,多次測試中的測試信號存在由高電平變化為低電平、以及由低電平變化為高電平的這兩種情況。
[0010]步驟(3)中的測試模式為待測端口不再進行正常任務中的數(shù)據(jù)采集或正常任務中的數(shù)值輸出,只進行測試信號的傳輸。
[0011]控制器與輸入輸出設備之間通過現(xiàn)場總線Profibus、RS-485總線、SPI總線、I2C總線或者其他特定的主從式總線連接方式連接。
[0012]步驟(2)和步驟(4)中所采用的安全通訊協(xié)議為基于Prof ibus的Prof isafe通訊協(xié)議、或者其他基于RS-485總線、SPI總線、12C總線形式的安全通訊協(xié)議。
[0013]本發(fā)明相比現(xiàn)有技術(shù)中具有以下優(yōu)點:本發(fā)明將系統(tǒng)所有輸入輸出端口的測試拆分成多周期的測試,每個周期的端口測試占用極少的周期任務時間,由控制器完全控制測試過程,端口測試能連續(xù)執(zhí)行或不連續(xù)執(zhí)行,執(zhí)行端口測試的時候不影響正常的采集和輸出任務;配合測試信號的序列,比對待測端口和非待測端口的數(shù)值能夠非常全面的將端口出現(xiàn)串擾失效和靜態(tài)失效檢測出來,使系統(tǒng)能夠更安全更穩(wěn)定的長期運行。
【附圖說明】
[0014]圖1為本發(fā)明輸入輸出端口測試方法的流程圖;
圖2為輸入輸出設備的內(nèi)部結(jié)構(gòu)示意圖;
圖3為嵌入式系統(tǒng)內(nèi)掛載多個設備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0015]下面結(jié)合附圖對本發(fā)明進行詳細說明。
[0016]如圖1所示,本發(fā)明測試方法由控制器發(fā)起測試,將測試信號傳輸給待測端口,將待測端口的測試信號和非待測端口的正常信號采集回控制器內(nèi),由控制器對所有反饋信號進行比較,判斷待測端口的測試信號是否正常,非待測端口的正常信號是否正常,若檢測出錯誤,則系統(tǒng)進入異常處理,若檢測結(jié)果正常,則判斷是否需要進入下一端口測試,若需要則由控制器準備下一端口測試信息。
[0017]如圖2所示,為本發(fā)明輸入輸出設備內(nèi)部結(jié)構(gòu)的主要框圖,在輸入設備中有一個MCU用于與控制器進行數(shù)據(jù)傳輸,接收控制器下發(fā)的測試信息,同時將測試完成后的信息回傳給控制器,輸入設備的測試信號由MCU產(chǎn)生并通過測試鏈路將測試信號傳輸至待測端口,非待測端口不應受待測信號的影響,輸入設備通過輸入鏈路將待測端口的測試信號和非待測端口的正常采集信號一同采集回MCU,由MCU將測試模式的結(jié)果傳輸至控制器;在輸出設備中也有一個MCU用于與控制器進行數(shù)據(jù)傳輸,作用同輸入設別中的MCU,輸出設備在測試模式下將待測端口的測試信號和非待測端口的正常輸出信號一同通過輸出鏈路傳輸至輸出端口,輸出設備通過反饋鏈路將待測端口的測試信號和非待測端口的正常信號一同采集回MCU,由MCU將測試模式的結(jié)果傳輸至控制器,并進行端口或鏈路狀態(tài)的判斷。
[0018]測試信號為一組離散序列,該序列由高、低電平組成,按照序列順序,單次端口測試中只傳輸該序列中的一個值(即高電平或低電平),在下一次端口測試中再輸出下一個值。
[0019]每個端口采用進行以上多次測試,多次測試中的測試信號存在由高電平變化為低電平、以及由低電平變化為高電平的這兩種情況,也即每個端口至少需要進行三次測試,測試信號分別為高電平、低電平、高電平,或低電平、高電平、低電平(如測試信號序列為高電平、低電平、低電平、高電平……,則每個端口需要進行四次測試)。
[0020]當控制器判斷待測端口回采信號出現(xiàn)異常,則表示待測端口發(fā)生靜態(tài)失效;若控制器判斷非待測端口回采信號出現(xiàn)異常,則表示待測端口與非待測端口間發(fā)生串擾失效。
[0021]如圖3所示,為嵌入式系統(tǒng)掛載多個設備的示意圖,控制器與輸入設備1-N和輸出設備1-N通過現(xiàn)場總線Profibus連接(也可采用RS-485總線、SPI總線、I2C總線或者其他特定的主從式總線等連接方式連接),控制器使用安全通訊協(xié)議(基于Prof ibus的Prof isafe通訊協(xié)議)將測試信息傳輸輸入設備和輸出設備,由安全通訊協(xié)議確保測試信息傳輸?shù)臏蚀_性和安全性。易知掛載設備越多,端口數(shù)越多,系統(tǒng)執(zhí)行端口測試花費的時間就越長,本方法可以使該端口測試分周期或并行執(zhí)行,同一設備內(nèi)的輸入或輸出端口測試可以分多周期進行測試,每周期僅占用正常任務的極小一部分時間,不同設備的輸入或輸出端口測試可以同時進行,大大解決測試過程中的時間,同時提高系統(tǒng)的安全可靠性。且在進行測試過程中,不需要使系統(tǒng)停止運行,待測端口的數(shù)值僅僅延遲小于5個周期進行更新;待測端口測試期間,需使用待測端口前一狀態(tài)的數(shù)值參與控制器中所需要的運算。
[0022]除非特殊注明,本文中所描述方法的特征可以彼此相結(jié)合。
[0023]本文雖然列舉了部分的實施示例,但是本領(lǐng)域的技術(shù)人員在不背離本發(fā)明的范圍下,交替結(jié)合或者任何等效的實現(xiàn)了本發(fā)明的方法可替代本文所描述的實施示例。本申請旨在包括文中所討論的具體原理方法,以及【具體實施方式】的任何變化或變更。因此,本發(fā)明僅僅受到權(quán)利要求及其等同的限制。
【主權(quán)項】
1.一種輸入輸出端口的測試方法,其特征在于,所述測試方法通過將嵌入式系統(tǒng)所有的輸入輸出設備的端口測試拆分為多次執(zhí)行的單端口測試,每次端口測試僅針對一個待測端口進行:對輸入輸出設備的一個待測端口傳輸測試信息,回采待測端口的測試信號及該輸入輸出設備的其他非待測端口的正常信號,通過對待測端口回采的信號和非待測端口回采的信號進行異常判斷,從而確定該待測端口是否存在靜態(tài)失效或串擾失效。2.根據(jù)權(quán)利要求1所述的測試方法,其特征在于,當待測端口存在靜態(tài)失效或串擾失效時,進入異常處理程序;當待測端口不存在靜態(tài)失效和串擾失效時,繼續(xù)下一端口的測試或進行其他任務的運行。3.根據(jù)權(quán)利要求2所述的測試方法,其特征在于,包括以下步驟: (1)將嵌入式系統(tǒng)所有的輸入輸出設備的端口測試拆分為多次執(zhí)行的單端口測試,每次端口測試只針對一個待測端口 ; (2)由控制器發(fā)起對輸入輸出設備的端口測試:控制器發(fā)出測試信號,通過安全通訊協(xié)議傳輸至輸入輸出設備的MCU單兀; (3)MCU單元接收到測試信號并進入測試模式:在輸入設備中,MCU將測試信號通過測試鏈路傳輸至待測端口,然后通過輸入鏈路將待測端口和非待測端口的信號一同采集回MCU;在輸出設備中,MCU將測試信號通過輸出鏈路輸出至待測端口,然后通過反饋鏈路將待測端口和非待測端口的信號一同采集回MCU; (4)MCU單元將本次測試回采的信號通過安全通訊協(xié)議傳輸至控制器; (5)控制器判斷待測端口回采的信號和非待測端口回采的信號是否出現(xiàn)異常:若控制器判斷待測端口回采信號出現(xiàn)異常,則表示待測端口發(fā)生靜態(tài)失效;若控制器判斷非待測端口回采信號出現(xiàn)異常,則表示待測端口與非待測端口間發(fā)生串擾失效; (6)當檢測出異常時,則嵌入式系統(tǒng)進入異常處理程序; (7)若該待測端口的測試模式通過,則由控制器決定是否繼續(xù)下一端口的測試或進行其他任務的運行。4.根據(jù)權(quán)利要求3所述的測試方法,其特征在于:所述步驟(2)中測試信號為一組離散序列,該序列由高低電平組成,按照序列順序,單次端口測試中只傳輸該序列中的一個值,在下一次端口測試中再輸出下一個值。5.根據(jù)權(quán)利要求4所述的測試方法,其特征在于:每個端口采用所述步驟(2)至步驟(5)進行多次測試,多次測試中的測試信號存在由高電平變化為低電平、以及由低電平變化為高電平的這兩種情況。6.根據(jù)權(quán)利要求5所述的測試方法,其特征在于:所述步驟(3)中的測試模式為待測端口不再進行正常任務中的數(shù)據(jù)采集或正常任務中的數(shù)值輸出,只進行測試信號的傳輸。7.根據(jù)權(quán)利要求3所述的測試方法,其特征在于:所述控制器與輸入輸出設備之間通過現(xiàn)場總線Profibus、RS-485總線、SPI總線或者I2C總線連接。8.根據(jù)權(quán)利要求7所述的測試方法,其特征在于:當所述控制器與輸入輸出設備之間通過現(xiàn)場總線Profibus連接時,所述步驟(2)和步驟(4)中的安全通訊協(xié)議采用基于Profibus的Prof isafe通訊協(xié)議。
【文檔編號】G01R31/00GK105911377SQ201610224463
【公開日】2016年8月31日
【申請日】2016年4月12日
【發(fā)明人】胡歙眉, 曹雨, 趙劍峰, 任秉乾, 査汀
【申請人】南京科遠自動化集團股份有限公司