奇偶校驗原理
在數字電子設備中,數字電路之間經常要進行數據傳遞,由於受一些因素的影響,數據在傳送過程中可能會產生錯誤,從而會引起設備工作不正常。為了解決這個問題,常常在數據傳送電路中設定奇偶校驗器。
奇偶校驗原理
奇偶校驗是檢驗數據傳遞是否發生錯誤的方法之一。它通過檢驗傳遞數據中“1”的個數是奇數還是偶數來判斷傳遞數據是否有錯誤 。
奇偶校驗有 奇校驗和 偶校驗之分。對於奇校驗,若數據中有奇數個“1”,則校驗結果為0,若數據中有偶數個“1”,則校驗結果為1; 對於偶校驗,若數據中有偶數個“1”,則校驗結果為0,若數據中有奇數個“1”,則校驗結果為1。
下面以圖1所示的8位並行傳遞奇偶校驗示意圖為例來說明奇偶校驗原理。
在圖1中,傳送器通過8根數據線同時向接收器傳遞8位數據,這種通過多根數據線同時傳遞多位數的數據傳遞方式稱為 並行傳遞。傳送器在往接收器傳遞數據的同時,也會把數據傳遞給傳送端的奇偶校驗器,假設傳送端要傳遞的數據是10101100。
若圖2中的奇偶校驗器為奇校驗,傳送器的數據10101100 送到奇偶校驗器,由於數據中的“1”的個數是偶數個,奇偶校驗器輸出1,它送到接收端的奇偶校驗器,與此同時,傳送端的數據10101100 也送到接收端的奇偶校驗器,這樣送到接收端的奇偶校驗器的數據中“1”的個數為奇數個(含傳送端奇偶校驗器送來的“1"),如果數據傳遞沒有發生錯誤,接收端的奇偶校驗器輸出0,它去控制接收器工作,接收傳送過來的數據。如果數據在傳遞過程中發生了錯誤,數據由10101100 變為10101000,那么送到接收端奇偶校驗器的數據中的“1”的個數是偶數個(含傳送端奇偶校驗器送來的“1"),校驗器輸出為1,它一方面控制接收器,禁止接收器接收錯誤的數據,同時還去觸發報警器,讓它發出數據錯誤報警。
若圖1中的奇偶校驗器為偶校驗,傳送器的數據為10101100 時,傳送端的奇偶校驗器會輸出0。如果傳遞的數據沒有發生錯誤,接收端的奇偶校驗器會輸出0;如果傳遞的數據發生錯誤,10101100變成了10101000,接收端的奇偶校驗器會輸出1 。
套用舉例
奇偶校驗器可採用異或門構成,2位奇偶校驗器和3位奇偶校驗器分別如圖2a、b所示。
圖2中的奇偶校驗器是由異或門構成的,異或門具有的特點是: 輸人相同時輸出為“0”,輸入相異時輸出為“1”。圖2a 所示的2 位奇偶校驗器由一個異或門構成,當A、B都輸人“1”,即輸人的“1”為偶數個時,輸出Y=0;當A、B 中只有一個為“1”,即輸人的“1”為奇數個時,輸出Y=1。圖2b所示的3位奇偶校驗器由兩個異或門構成,當A=1、B=1、C=1時,輸出Y=1;當A=1、B=1,而C=0時,異或門G輸出為“0”,異或門G輸出為“0”,即輸人的“1”為偶數個時,輸出Y=0。
以上兩種由異或門組成的奇偶校驗器具有偶校驗功能,如果將異或門換成異或非門組成奇偶校驗器,它就具有奇校驗功能。
從圖2可以看出,由於接收端的奇偶校驗器除了要接收傳遞的數據外,還要接收傳送端奇偶校驗器送來的校驗位,所以接收端的奇偶校驗器的位數較傳送端的多1位。
下面以圖3所示電路為例進一步說明奇偶校驗器的實際套用。
圖3中的傳送器要送2位數AB=10到接收器,A=1、B=0一方面通過數據線往接收器傳遞,另一方面送到傳送端的奇偶校驗器,該校驗器為偶校驗,它輸出的校驗位為1。校驗位1與A=1、B=0送到接收端奇偶校驗器,此校驗器校驗輸出為“0”,該校驗位0 去控制接收器,讓接收器接收數據線送到的正確數據。
如果數據在傳遞過程中,AB 由10 變為11(注 : 送到傳送端奇偶校驗器的數據AB 是正確的,仍為10,只是數據傳送到接收器的途中發生了錯誤,由10 變成11),傳送端的奇偶校驗器輸出的校驗位仍為1,而由於傳送到接收端的數據10 變成了11,所以接收端的奇偶校驗器輸出校驗位為1,它去禁止接收器接收錯誤的數據,同時控制報警器報警 。