一種串行通信數據校驗方法
【技術領域】
[0001 ] 本發明涉及一種串行通信數據校驗方法。
【背景技術】
[0002]在串行通信時,接收方對接收到的串行通信數據正確率的校驗方法通常采用“奇” “偶”校驗方法,即,對一組接收到的串行通信數據中的“I”(高電平)的個數進行統計,然后通過是奇數個或偶數個進行校驗。這種校驗方法誤判可能性較大,如“奇校驗”時,如果一組數據因強電磁干擾產生奇數個干擾脈沖時,會產生誤判;同樣,“偶校驗”時,一組數據因接收到偶數個干擾脈沖,也會產生誤判。
【發明內容】
[0003]本發明所要解決的技術問題是針對上述現有技術提供一種可靠性高、不會產生誤判的串行通信數據校驗方法。
[0004]本發明解決上述技術問題所采用的技術方案為:一種串行通信數據校驗方法,其特征在于:發送方發送的一組串行通信數據依次包括:串行通信數據正文+第一校驗位+第二校驗位,其中第一校驗位的內容為:串行通信數據正文中“ I ”的個數為奇數時為“ I ”,串行通信數據正文中“I”的個數為偶數為“O”;或第一校驗位的內容為:串行通信數據正文中“I”的個數為奇數時為“0”,串行通信數據正文中“I”的個數為偶數為“I” ;第二校驗位的內容為:串行通信數據正文中“I”的個數的累積和;
[0005]當第一校驗位的內容為:串行通信數據正文中“I”的個數為奇數時為“1”,串行通信數據正文中“ I ”的個數為偶數為“O” ;而接收方接收到發送方發來的數據后,首先統計接收的串行通信數據正文中“I”的個數,如果接收的串行通信數據正文中“I”的個數為奇數,而第一校驗位為“0”,則給出接收數據出錯的信號,如第一校驗位為“1”,則進行下一步校驗:如果接收的串行通信數據正文中“I”的個數與第二校驗位相同,則給出接收數據正確的信號,否則給出接收數據出錯的信號;
[0006]當第一校驗位的內容為:串行通信數據正文中“I”的個數為奇數時為“0”,串行通信數據正文中“ I ”的個數為偶數為“ I ” ;而接收方接收到發送方發來的數據后,首先統計接收的串行通信數據正文中“I”的個數,如果接收的串行通信數據正文中“I”的個數為奇數,而第一校驗位為“1”,則給出接收數據出錯的信號,如第一校驗位為“0”,則進行下一步校驗:如果接收的串行通信數據正文中“I”的個數與第二校驗位相同,則給出接收數據正確的信號,否則給出接收數據出錯的信號。
[0007]與現有技術相比,本發明的優點在于:本發明提供的校驗方法,首先用“奇校驗”或“偶校驗”進行第一次驗證,然后再通過對串行通信數據正文中“ I ”的個數的累積和進行第二次驗證,這種雙重驗證的方式,可靠性高、不會產生誤判。
【附圖說明】
[0008]圖1為本發明實施例一中發送方發送的一組串行通信數據的內容組成圖;
[0009]圖2為本發明實施例一中串行通信數據校驗方法流程圖;
[0010]圖3為本發明實施例二中串行通信數據校驗方法流程圖。
【具體實施方式】
[0011]以下結合附圖實施例對本發明作進一步詳細描述。
[0012]實施例一
[0013]本實施例提供的串行通信數據校驗方法,發送方發送的一組串行通信數據依次包括:串行通信數據正文+第一校驗位+第二校驗位,其中第一校驗位的內容為:串行通信數據正文中“I”的個數為奇數時為“1”,串行通信數據正文中“I”的個數為偶數為“O” ;第二校驗位的內容為:串行通信數據正文中“I”的個數的累積和;
[0014]當第一校驗位的內容為:串行通信數據正文中“ I ”的個數為奇數時為“ I ”,串行通信數據正文中“ I ”的個數為偶數為“O” ;而接收方接收到發送方發來的數據后,首先統計接收的串行通信數據正文中“I”的個數,如果接收的串行通信數據正文中“I”的個數為奇數,而第一校驗位為“0”,則給出接收數據出錯的信號,如第一校驗位為“1”,則進行下一步校驗:如果接收的串行通信數據正文中“I”的個數與第二校驗位相同,則給出接收數據正確的信號,否則給出接收數據出錯的信號;
[0015]實施例二
[0016]與實施例一不同的是,第一校驗位的內容為:串行通信數據正文中“I”的個數為奇數時為“O”,串行通信數據正文中“I”的個數為偶數為“I” ;
[0017]當第一校驗位的內容為:串行通信數據正文中“I”的個數為奇數時為“0”,串行通信數據正文中“ I ”的個數為偶數為“ I ” ;而接收方接收到發送方發來的數據后,首先統計接收的串行通信數據正文中“I”的個數,如果接收的串行通信數據正文中“I”的個數為奇數,而第一校驗位為“1”,則給出接收數據出錯的信號,如第一校驗位為“0”,則進行下一步校驗:如果接收的串行通信數據正文中“I”的個數與第二校驗位相同,則給出接收數據正確的信號,否則給出接收數據出錯的信號。
【主權項】
1.一種串行通信數據校驗方法,其特征在于:發送方發送的一組串行通信數據依次包括:串行通信數據正文+第一校驗位+第二校驗位,其中第一校驗位的內容為:串行通信數據正文中“I”的個數為奇數時為“1”,串行通信數據正文中“I”的個數為偶數為“O”;或第一校驗位的內容為:串行通信數據正文中“I”的個數為奇數時為“O”,串行通信數據正文中“I”的個數為偶數為“I”;第二校驗位的內容為:串行通信數據正文中“I”的個數的累積和;當第一校驗位的內容為:串行通信數據正文中“I”的個數為奇數時為“1”,串行通信數據正文中“ I ”的個數為偶數為“O” ;而接收方接收到發送方發來的數據后,首先統計接收的串行通信數據正文中“I”的個數,如果接收的串行通信數據正文中“I”的個數為奇數,而第一校驗位為“O”,則給出接收數據出錯的信號,如第一校驗位為“I”,則進行下一步校驗:如果接收的串行通信數據正文中“ I”的個數與第二校驗位相同,則給出接收數據正確的信號,否則給出接收數據出錯的信號; 當第一校驗位的內容為:串行通信數據正文中“I”的個數為奇數時為“O”,串行通信數據正文中“ I ”的個數為偶數為“ I ” ;而接收方接收到發送方發來的數據后,首先統計接收的串行通信數據正文中“I”的個數,如果接收的串行通信數據正文中“I”的個數為奇數,而第一校驗位為“I”,則給出接收數據出錯的信號,如第一校驗位為“O”,則進行下一步校驗:如果接收的串行通信數據正文中“ I”的個數與第二校驗位相同,則給出接收數據正確的信號,否則給出接收數據出錯的信號。
【專利摘要】本發明涉及一種串行通信數據校驗方法,其特征在于:發送方發送的一組串行通信數據依次包括:串行通信數據正文+第一校驗位+第二校驗位,其中第一校驗位為奇偶校驗位,第二校驗位為串行通信數據正文中“1”的個數的累積和;接收方接收到發送方發來的數據后,首先進行奇偶校驗,然后再進行第二校驗位校驗:接收的串行通信數據正文中“1”的個數與第二校驗位相同,則給出接收數據正確的信號,否則給出接收數據出錯的信號。與現有技術相比,本發明的優點在于:本發明提供的校驗方法,首先用“奇校驗”或“偶校驗”進行第一次驗證,然后再通過對串行通信數據正文中“1”的個數的累積和進行第二次驗證,這種雙重驗證的方式,可靠性高、不會產生誤判。
【IPC分類】G06F11/10
【公開號】CN105005511
【申請號】CN201510387234
【發明人】陸德康, 林志良
【申請人】寧波東海儀表水道有限公司
【公開日】2015年10月28日
【申請日】2015年6月30日