一種多通信協議檢測方法
2023-11-02 07:02:52
專利名稱:一種多通信協議檢測方法
技術領域:
本發明涉及通信協議技術領域,特別是一種多通信協議檢測方法。
背景技術:
目前處理多協議系統中,每個通信協議所有獨立的接收緩衝區,獨立判定各個通 信協議;數據接收大部分中斷服務程序中完成,如果多個協議接收緩衝區需要處理接收數 據,延長中斷服務時間,並且每個協議都需要一個接收數據緩衝區,需要佔用大量RAM區資 源。
發明內容
本發明提供一種多通信協議檢測方法,以解決現有技術不能對多個通信協議統一 處理的技術問題。為了實現本發明的發明目的,採用的技術方案如下一種多通信協議檢測方法,所述方法包括當接收到合法完整的協議幀,則檢查協議幀的格式,根據協議幀的格式調取相應 的協議處理服務進行協議處理。作為一種優選方案,所述方法還包括設置數據緩衝區用於接收協議幀,通過接收指針指向緩衝區的起始地址;當數據緩衝區接收到數據,則用協議指針指向接收到的數據的地址;定時檢測協議指針,如果協議指針與接收指針一致,則判斷為沒有接收到協議幀, 如果協議指針與接收指針不一致,則判斷為接收到協議幀,檢查協議指針指向的數據是否 為合法完整的協議幀,如果協議指針指向的數據為合法完整的協議幀,則檢查協議幀的格 式,根據協議幀的格式調取相應的協議處理服務進行處理,完成協議處理後,令協議指針指 向接收指針所指向的地址。作為進一步的優選方案,通過如下方法檢查協議指針指向的數據是否為合法完整 的協議幀比較接收指針與協議指針的差值,如果差值大於或等於協議最小幀的長度,則判 斷為接收到完整的協議幀,否則判斷為協議幀未接收完成;當判斷為接收到完整的協議幀後,則檢查協議指針指向的數據,檢查是否符合協 議幀的特徵,如果符合,則判斷為接收到合法完整的協議幀,檢查協議幀的格式,根據協議 幀的格式調取相應的協議處理服務進行處理,否則協議指針地址加一。本發明通過一個循環數據接收鍊表完成接收數據的緩存;通過多個通信協議指針 與接收指針之間關係,完成各個通信協議幀的判定和處理,並且互不影響。
圖1為本發明實施例的流程圖。
具體實施例方式下面結合附圖和具體實施例對本發明做進一步詳細的說明。本發明實施例為多種通信協議檢測方法的編程技術,在一個通信接口中有多種通 信協議接收、發送;本實施例通過一個循環數據接收鍊表完成接收數據的緩存;在初始狀 態下,接收指針與各協議指針指向循環接收緩衝區的同一地址,當有數據接收時,數據存放 到循環接收緩衝區,並且接收指針自動循環相加。如圖1所述,本實施例操作步驟如下1、判定協議指針與接收指針是否相等;2、如果相等,表示循環接收緩衝區無接收數據,立即退出;3、如果不等,進入相應的協議幀判定服務程序;4、接收指針與協議指針之差是否大於或等於協議幀的最小長度;5、如果小於,表示未接收到完幀協議幀,立即退出;6、如果大於或等於,進入協議幀格式判定服務程序;7、是否符合協議幀;8、如果符合,進入相應的協議幀服務程序,對接收數據作相應的功能處理,最後重 新將協議指針指向接收指針所指向的同一地址,等待下一次協議判定。9、如果不符合,協議指針地址自動循環加一,重複1-9判定過程。以上為單個協議判定過程,如果有多個協議需要判定,分別用各協議指針替換上 述協議指針及相應的協議幀判定服務程序;即可完成多協議處理。
權利要求
1.一種多通信協議檢測方法,其特徵在於,所述方法包括當接收到合法完整的協議幀,則檢查協議幀的格式,根據協議幀的格式調取相應的協 議處理服務進行協議處理。
2.根據權利要求1所述的檢測方法,其特徵在於,所述方法還包括設置數據緩衝區用於接收協議幀,通過接收指針指向緩衝區的起始地址;當數據緩衝區接收到數據,則用協議指針指向接收到的數據的地址;定時檢測協議指針,如果協議指針與接收指針一致,則判斷為沒有接收到協議幀,如果 協議指針與接收指針不一致,則判斷為接收到協議幀,檢查協議指針指向的數據是否為合 法完整的協議幀,如果協議指針指向的數據為合法完整的協議幀,則檢查協議幀的格式,根 據協議幀的格式調取相應的協議處理服務進行處理,完成協議處理後,令協議指針指向接 收指針所指向的地址。
3.根據權利要求2所述的檢測方法,其特徵在於,通過如下方法檢查協議指針指向的 數據是否為合法完整的協議幀比較接收指針與協議指針的差值,如果差值大於或等於協議最小幀的長度,則判斷為 接收到完整的協議幀,否則判斷為協議幀未接收完成;當判斷為接收到完整的協議幀後,則檢查協議指針指向的數據,檢查是否符合協議幀 的特徵,如果符合,則判斷為接收到合法完整的協議幀,檢查協議幀的格式,根據協議幀的 格式調取相應的協議處理服務進行處理,否則協議指針地址加一。
全文摘要
本發明涉及通信協議技術領域,特別是一種多通信協議檢測方法。一種多通信協議檢測方法,所述方法包括當接收到合法完整的協議幀,則檢查協議幀的格式,根據協議幀的格式調取相應的協議處理服務進行協議處理。本發明通過一個循環數據接收鍊表完成接收數據的緩存;通過多個通信協議指針與接收指針之間關係,完成各個通信協議幀的判定和處理,並且互不影響。
文檔編號H04L29/06GK102075376SQ20101057133
公開日2011年5月25日 申請日期2010年11月25日 優先權日2010年11月25日
發明者雷剛 申請人:廣東雅達電子股份有限公司