2012-12-19 158 views

回答

5

所以有三種可能性:沒有平價,標記,空間,奇數和偶數。在沒有奇偶校驗的情況下,幀中省略了額外位,通常在協議已經使用校驗和或CRC檢查錯誤時選擇,或者認爲數據損壞不可能或不嚴重。

沒有人選擇標記或空間,這只是浪費帶寬。模仿一些奇怪的標準,比如9位數據協議,硬件廠商喜歡強迫你購買他們的硬件,因爲你沒有真正的機會在沒有寫驅動程序的情況下重新編程UART。

0

如果要生成要發送到需要奇偶校驗位的硬件的數據(可能是因爲它在電子設備中內置了硬編碼字長度),但不關心其值是什麼,則設置標記或空間奇偶校驗非常有用。

+0

要求奇偶校驗位非常奇怪,不考慮其價值! – n0n0bstan

+0

不一定 - 也許接收機是爲只能發送奇偶校驗位的發射機構建的? – Alnitak

11

有一個非常簡單和非常有用的理由,讓標記或空間奇偶性看起來在這裏被遺漏:節點地址標記。

非常低功率和/或小型嵌入式系統有時利用像RS485或RS422工業串行總線。也許很多非常小的處理器可能連接到同一條總線。

這些微型設備不希望浪費電力或處理時間來查看通過串口進入的每個字符。大多數時候,這不是他們感興趣的。

所以,你設計一個總線協議,例如可能使用9位... 8個數據位和一個標記/空間奇偶校驗位。每個數據包只包含一個字節或字(節點地址),並設置標記奇偶校驗位。其他一切都是空間平等。然後,這些微小的設備可以簡單地等待奇偶錯誤中斷。一旦獲得中斷,它就會檢查該字節。那是我的地址嗎?不,回去睡覺。

這是一個非常低功耗的系統...和帶寬只有10%的浪費。在許多環境中,這是一個很好的折衷。

所以......如果你已經有一個PC級的系統試圖對這些微小的設備說話,你需要能夠設置/清除該奇偶校驗位。因此,您在傳輸節點地址時設置MARK校驗,而在其他地方設置SPACE校驗。

0

非常明確和有用的答案和意見。對於那些發現不合理的概念的人來說,放鬆一下;該術語是一個語義問題,而不是信息理論或工程問題,使用「平價」這個詞帶來的困難。

「標記」和「空間」位在這些應用程序中不是奇偶校驗位,並且該術語來自於它們佔據其他上下文中可能期望奇偶校驗位的位位置。實際上,它們與奇偶校驗沒有任何關係,但用於任何需要恆定位值的相關目的,例如標記字節或其他信號的開始,或作爲延遲,或指示信號作爲數據或地址等。

因此,它們有時在邏輯上被稱爲「棒(奇偶校驗位)」,處於「開」或「關」狀態。有時他們真的是「不在乎」。