專利名稱:一種通訊系統(tǒng)抗干擾方法
一種通訊系統(tǒng)抗干擾方法
技術領域:
本發(fā)明涉及通訊技術,尤其是其中的抗干擾方法。背景技術:
在干擾比較嚴重的場合,例如有電子設備、大規(guī)模使用變頻器的車間 等場合,會使通訊軟件的應用受到嚴峻挑戰(zhàn)。如果不對通訊產品做抗干擾 設計,將會導致通訊時斷時續(xù),從而導致通訊產品無法正常使用。因此, 針對通訊產品的抗干擾設計方法很多,主要分為硬件抗干擾設計和軟件抗 干擾設計。硬件抗干擾設計有很多,可以從芯片選擇、硬件濾波設計、加 屏蔽線纜等方面來考慮。軟件抗干擾設計也有很多,可以從冗余算法、自 適應濾波等方面來考慮。硬件抗干擾設計會增加通訊產品的成本和設計復 雜度,而軟件抗干擾設計算法如果復雜的話,也將增加軟件的復雜度和可 維護性。通訊軟件的數(shù)據幀在發(fā)送前是通過軟件來確定的,但是發(fā)送過程卻是 通過硬件來完成的,因此,通訊軟件設計的難點在于數(shù)據幀的接收。通訊 軟件在運行時存在通訊速率,而通訊速率與波特率有關。每個數(shù)據幀都有 具體字節(jié)個數(shù),考慮到波特率,接收每個數(shù)據幀都是需要時間的?,F(xiàn)有技 術中,在數(shù)據接收過程中,例如有如下數(shù)據幀0x03 0x02 0x24 0x3 A 0x29 0x00 0xBE 0xE9幀頭數(shù)據 數(shù)據校驗和現(xiàn)有技術在進行該數(shù)據幀的接收時,延時一個確定的時間或者固定一個時 間后進行幀頭檢測,如設置時間為lms,時間一到lms就開始進行數(shù)據幀 接收,這時進行數(shù)據幀幀頭檢測,發(fā)現(xiàn)不是0x03就認為本次接收數(shù)據幀失 敗,如果幀頭是0x03就進行整個數(shù)據幀檢測,然后進行整個數(shù)據幀校驗, 如果校驗和不是OxBE OxE9也認為本次接收的數(shù)據幀失敗。這種方式雖然 在一定程度上可以起到抗干擾的作用,但是屬于固定時間接收數(shù)據幀后檢 測幀頭,發(fā)現(xiàn)幀頭不對就認為本次接收失敗,在干擾比較嚴重的場合,會 導致通訊時斷時續(xù),從而導致通訊產品無法正常使用。
發(fā)明內容本發(fā)明的主要目的是提供了一種高可靠性、可維護性、高通用性的
通訊系統(tǒng)抗干擾方法。為實現(xiàn)上述目的,本發(fā)明提出在通訊數(shù)據的接收過程中,包括數(shù)據幀 幀頭檢測步驟系統(tǒng)首先對待接收的數(shù)據幀幀頭進行過濾檢測;當檢測到 數(shù)據幀幀頭是合法數(shù)據(通訊軟件認可的數(shù)據,隨通訊協(xié)議的不同而不同) 時,才開始整個數(shù)據幀的接收。上述的通訊系統(tǒng)抗干擾方法,在數(shù)據幀幀頭的過濾檢測步驟中,包括 對數(shù)據幀頭的偵聽持續(xù)一個時間段,在該時間段內未偵聽到合法的幀頭時, 視為本次數(shù)據幀接收失敗。在通訊數(shù)據的接收過程中,還包括數(shù)據幀接收 計時檢測步驟系統(tǒng)對數(shù)據幀接收計時,當其超出預定時限時,視為本次 數(shù)據幀接收失敗。還包括對整個數(shù)據幀的驗證步驟驗證接收到的整個數(shù) 據幀的檢驗和是否正確;當判定校驗和錯誤時,視為本輪數(shù)據幀接收失敗。當系統(tǒng)判定本次數(shù)據幀接收失敗時,將單輪通訊中數(shù)據幀接收失敗次 數(shù)TimesNUM加1;當單輪通訊中數(shù)據幀接收失敗次數(shù)TimesNUM大于或 等于單輪通訊中數(shù)據幀接收失敗次數(shù)上限MaxTimesNUM時,系統(tǒng)視本輪 通訊為失敗。當系統(tǒng)認為本輪通訊失敗時,將對應的通訊失敗輪數(shù)累計變 量CycleNUM加1 ,然后將單輪通訊中數(shù)據幀接收失敗次數(shù)TimesNUM清 零,但是本輪并不報通訊故障或者通訊失敗,而是繼續(xù)下一輪通訊。當通 訊失敗輪數(shù)累計變量CycleNUM大于或等于通訊失敗輪數(shù)累計上限 MaxCycleNUM時,系統(tǒng)報通訊失敗。當通訊不成功輪數(shù)累計變量 CycleNUM小于通訊失敗輪數(shù)累計上限MaxCycleNUM時,系統(tǒng)報通訊成 功,在接收結束后,將通訊不成功輪數(shù)累計變量CycleNUM清零。由于采用了以上的方案,本發(fā)明的方法通過對待接收的數(shù)據幀幀頭先 行檢測,避免將非法信號作為數(shù)據幀的數(shù)據進行接收,可以有效抑制干擾 給通訊所帶來的沖擊;特別在干擾比較強烈的通訊環(huán)境中,不會因該誤接 收導致通訊失敗次數(shù)達到一定由系統(tǒng)自身規(guī)定的次數(shù)時,使通訊系統(tǒng)報通 訊失敗。而且,本發(fā)明中對數(shù)據幀頭的檢測無須定時執(zhí)行,具有很強的靈 活性。本發(fā)明的方法通過數(shù)據幀幀頭過濾檢測和數(shù)據幀接收計時,保證在通 訊確實有問題的情況下不至于讓通訊系統(tǒng)陷入死循環(huán),從而確保了數(shù)據幀 接收時的幀頭檢測方法能夠正常實施,通訊得以繼續(xù)。本發(fā)明通過多輪次通訊檢測來進行數(shù)據幀的接收,即使在干擾強烈的
場合,仍可以避免頻繁強烈的干擾造成通訊系統(tǒng)的癱瘓,有效保證通訊的 正常進行;盡管此時比較消耗時間,會造成通訊數(shù)據幀接收的速度變慢, 但是保證了通訊的正常進行還是值得的。本發(fā)明方法的基礎是通訊協(xié)議,由于任何通訊軟件都是以通訊協(xié)議為 基礎的,因此,本發(fā)明方法在通訊方面具有通用性,而不局限于某一種通 訊協(xié)議,對通訊軟件設計所使用的計算機語言也沒有局限性。本發(fā)明方法有著方法簡單使用和代碼量小的特點,在工程上非常實用。
圖l是本發(fā)明方法的流程圖。
具體實施方式下面通過具體的實施例并結合附圖對本發(fā)明作進一步詳細的描述。 本發(fā)明方法共包括三個步驟1、數(shù)據幀頭過濾檢測;2、數(shù)據幀接收 計時;3、多輪次檢測。下面進行詳細介紹。 步驟一數(shù)據幀頭過濾檢測。在干擾比較嚴重的場合,通訊設備在接收數(shù)據幀時,接收到的第一個 數(shù)據絕大部分情況下是一個非法數(shù)據,比如干擾信號或是非與本機通訊的 其他設備發(fā)出的數(shù)據;如果此時將該非法數(shù)據作為數(shù)據幀的第一個數(shù)據接 收了,將會導致數(shù)據幀接收通不過校驗,從而會導致本次接收失敗。如果 第二輪接收數(shù)據幀時,接收到的第一個數(shù)據還是非法信號,將會導致本次 接收又是失敗。通訊失敗次數(shù)達到由系統(tǒng)自身規(guī)定的次數(shù)時,將會導致通 訊系統(tǒng)報通訊失敗。此時,在本例中,系統(tǒng)將待接收的數(shù)據幀幀頭進行檢測,判斷其是否 為合法數(shù)據,每個數(shù)據幀幀頭必須正確才開始接收;假設待接收的數(shù)據幀 為0x03 0x02 0x21 0x0A0xAB 0x09 0xC0 校驗和高位校驗和低位幀頭指令數(shù)據 數(shù)據校驗和通訊軟件在接收數(shù)據幀時,首先接收到的要么是幀頭0x03,要么是非法信 號。如果檢測到第一個數(shù)據不是0x03,而是非法信號,那么便會一直進行 幀頭過濾檢測,也即對數(shù)據幀幀頭進行持續(xù)偵聽。通過幀頭過濾檢測,在 檢測到第一個數(shù)據是0x03時才認為數(shù)據幀的幀頭是正確的,然后便開始整 個數(shù)據幀的接收;然后驗證校驗和,也就是將整個數(shù)據幀進行驗證,驗證
合格了才認為數(shù)據幀中的數(shù)據是合法的。在幀頭過濾檢測時,當發(fā)現(xiàn)待接收的數(shù)據幀不是合法數(shù)據時,可以剔 除該非法信號,直至檢測到數(shù)據幀的第一個數(shù)據是合法的時候才開始接收, 此時就可以避免將非法信號作為數(shù)據幀的數(shù)據進行接收。為了保證幀頭過濾檢測的順利實施,設置了數(shù)據幀幀頭過濾檢測的計 時,也即是對數(shù)據幀幀頭的持續(xù)偵聽設置一個時間段,而非無限制地偵聽 下去;如此,可以保證在通訊確實有問題的情況下不至于讓通訊系統(tǒng)在死 等,從而確保了數(shù)據幀幀頭的過濾檢測方法能夠正常實施。步驟二數(shù)據幀接收計時。如果干擾在某段時間過于強烈,可能導致線路根本就不能通訊,或者 通訊線路斷裂,此時如果還在做數(shù)據幀幀頭過濾檢測,將會導致通訊軟件 一直處于幀頭檢測狀態(tài),這顯然是不符合實際的。因此,在抗干擾設計過 程中,需要加入數(shù)據幀接收計時檢測。數(shù)據幀接收計時的預定時限可以通 過通訊波特率和數(shù)據幀長度,并增加一定的裕量來進行設置計時上限。通 過設置數(shù)據幀接收計時,可以保證在通訊確實有問題的情況下不至于讓通 訊系統(tǒng)在死等,從而確保了數(shù)據幀的接收能夠正常實施。步驟三多輪次檢測。由于在通訊過程中,通訊系統(tǒng)報通訊故障是建立在單輪通訊中數(shù)據幀 接收不成功次數(shù)TimesNUM的基礎上,因此,這給抗干擾設計提供了一個 契機可以巧妙利用TimesNUM,如果數(shù)據幀幀頭過濾檢測或數(shù)據幀接收 超時,將認為本次通訊失敗,TimesNUM加l;當整個數(shù)據幀接收后,如 果校驗和不正確,將認為本次通訊失敗,TimesNUM加1。如果TimesNUM 大于或等于單輪通訊中數(shù)據幀接收不成功次數(shù)上限MaxTimesNUM,通訊 系統(tǒng)將認為這一輪通訊不成功,并將對應的通訊不成功輪數(shù)累計變量 CycleNUM加l,然后將TimesNUM清零,但是本輪并不報通訊故障或者 通訊失敗,而是繼續(xù)下一輪。通訊不成功輪數(shù)累計變量CycleNUM根據通 訊產品本身設置一個通訊不成功輪數(shù)累計上限MaxCyckNUM,當 CycleNUM不小于MaxCycleNUM時,將報通訊不成功。如果在一輪通訊 過程中,變量CycleNUM小于MaxCycleNUM,則表明正確接收了數(shù)據幀, 在接收結束后,CycleNUM將會自動清零,這也增加了通訊軟件的靈活性。 通過多輪通訊檢測來進行數(shù)據幀的接收雖然比較消耗時間,會造成通訊數(shù)
據幀接收的速度變慢,但是在干擾強烈的場合,可以有效保證通訊的正常 進行。以上內容是結合具體的優(yōu)選實施方式對本發(fā)明所作的進一步詳細說 明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術 領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,所做出的若干 簡單推演或替換,都應當視為屬于本發(fā)明的保護范圍。
權利要求
1.一種通訊系統(tǒng)抗干擾方法,其特征是,在通訊數(shù)據的接收過程中,包括對數(shù)據幀幀頭的過濾檢測步驟系統(tǒng)首先對待接收的數(shù)據幀幀頭進行過濾檢測,當檢測到數(shù)據幀幀頭是合法的數(shù)據時,才開始該整個數(shù)據幀的接收。
2. 如權利要求1所述的通訊系統(tǒng)抗干擾方法,其特征是所述數(shù)據幀幀頭 的過濾檢測步驟中,系統(tǒng)對數(shù)據幀頭的偵聽持續(xù)一個時間段,在該時間 段內未偵聽到合法的幀頭時,視為本次數(shù)據幀接收失敗。
3. 如權利要求1所述的通訊系統(tǒng)抗干擾方法,其特征是,在通訊數(shù)據的接 收過程中,還包括對整個數(shù)據幀的驗證步驟驗證接收到的整個數(shù)據幀 的檢驗和是否正確;當判定校驗和錯誤時,視為本次數(shù)據幀接收失敗。
4. 如權利要求1所述的通訊系統(tǒng)抗干擾方法,其特征是,在通訊數(shù)據的接 收過程中,還包括數(shù)據幀接收計時檢測步驟系統(tǒng)對數(shù)據幀接收計時, 當其超出預定的時間限制,視為本次數(shù)據幀接收失敗。
5. 如權利要求2或3或4所述的通訊系統(tǒng)抗干擾方法,其特征是當系統(tǒng) 判定本次數(shù)據幀接收失敗時,對單輪通訊中數(shù)據幀接收失敗次數(shù) TimesNUM加1;當單輪通訊中數(shù)據幀接收失敗次數(shù)TimesNUM大于 或等于單輪通訊中數(shù)據幀接收失敗次數(shù)上限MaxTimesNUM時,系統(tǒng) 視本輪通訊為失敗。
6. 如權利要求5所述的通訊系統(tǒng)抗干擾方法,其特征是當系統(tǒng)認為本輪 通訊失敗時,將對應的通訊失敗輪數(shù)累計變量CycleNUM加l,然后將 單輪通訊中數(shù)據幀接收失敗次數(shù)TimesNUM清零,但是本輪并不報通 訊故障或者通訊失敗,而是繼續(xù)下一輪通訊。
7. 如權利要求6所述的通訊系統(tǒng)抗干擾方法,其特征是當通訊失敗輪數(shù) 累計變量CycleNUM大于或等于通訊失敗輪數(shù)累計上限 MaxCycleNUM時,系統(tǒng)報通訊失敗。
8. 如權利要求7所述的通訊系統(tǒng)抗干擾方法,其特征是當通訊不成功輪 數(shù)累計變量CycleNUM小于通訊失敗輪數(shù)累計上限MaxCycleNUM時, 系統(tǒng)報通訊成功,在接收結束后,將通訊不成功輪數(shù)累計變量 CycleNUM清零。
全文摘要
本發(fā)明公開了一種通訊系統(tǒng)抗干擾方法,該方法通過對待接收的數(shù)據幀幀頭進行過濾檢測,避免將非法信號作為數(shù)據幀的數(shù)據進行接收,可以有效抑制干擾給通訊所帶來的沖擊,特別適用于干擾比較強烈的通訊環(huán)境。該方法還通過數(shù)據幀接收計時,保證在通訊確實有問題的情況下不至于讓通訊系統(tǒng)陷入死循環(huán),從而確保了數(shù)據幀接收時的幀頭過濾檢測方法能夠正常實施,通訊得以繼續(xù)。該方法還通過多輪次通訊檢測來進行數(shù)據幀的接收,即使在干擾強烈的場合,仍可以避免頻繁強烈的干擾所帶來的沖擊,有效保證通訊的正常進行。
文檔編號H04L1/00GK101155009SQ200710077229
公開日2008年4月2日 申請日期2007年9月21日 優(yōu)先權日2007年9月21日
發(fā)明者彭敏志 申請人:艾默生網絡能源有限公司