• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁 > 培訓(xùn)資料 > 嵌入式開發(fā):對嵌入式系統(tǒng)至關(guān)重要的數(shù)據(jù)完整性
機(jī)構(gòu)主頁 > 培訓(xùn)資料>嵌入式開發(fā):對嵌入式系統(tǒng)至關(guān)重要的數(shù)據(jù)完整性

嵌入式開發(fā):對嵌入式系統(tǒng)至關(guān)重要的數(shù)據(jù)完整性

來源:廣州達(dá)內(nèi)教育        時間:2023-05-30        熱度:40℃        返回列表

  軟件工程師有一個非常樂觀的壞習(xí)慣。這種樂觀情緒通常不僅包括他們對完成特定任務(wù)需要多長時間的計算,還包括他們系統(tǒng)的潛在故障模式。如果它在工作臺上工作,假設(shè)它也將在現(xiàn)場工作,無論該現(xiàn)場是在嘈雜的制造車間還是繞地球運(yùn)行。不幸的是,這些假設(shè)是樂觀的,其中最大的假設(shè)之一是數(shù)據(jù)始終有效。我曾經(jīng)參與過一個項目,其中來自傳感器的數(shù)據(jù)被破壞,無法驗證傳感器數(shù)據(jù)是否正確。今天的文章將探討嵌入式開發(fā)人員在數(shù)據(jù)完整性方面幾種方法。


  提示 #1 – 至少使用奇偶校驗


  奇偶校驗是一種數(shù)據(jù)完整性機(jī)制,它查看數(shù)據(jù)流中 1 的數(shù)量,然后調(diào)整奇偶校驗位以使 1

的總數(shù)為奇數(shù)或偶數(shù)。例如,假設(shè)傳感器傳輸 16 位寬且奇校驗的數(shù)據(jù)消息。其中一位,通常是最低有效位 (LSB)

將用于設(shè)置奇偶校驗。如果要發(fā)送的數(shù)據(jù)是:


  1000 1000 1000 100x


  然后為了奇校驗,將 x 設(shè)置為 1,這樣數(shù)據(jù)中有五個 1。如果奇偶校驗是偶數(shù),那么 x 將被設(shè)置為 0,因為數(shù)據(jù)中已經(jīng)有四個

1。


  奇偶校驗適用于檢測單個位翻轉(zhuǎn)。如果零變成一或一變成零,則可以檢測到奇偶校驗錯誤。但是,如果兩個或更多位翻轉(zhuǎn),則可能無法檢測到錯誤。對于這種情況,需要更強(qiáng)大的技術(shù)。




  提示 #2 – 使用校驗和


  校驗和是一種算法,旨在檢測數(shù)據(jù)集中自然或隨機(jī)發(fā)生的錯誤。通常在一組數(shù)據(jù)上計算校驗和,然后得出數(shù)據(jù)的校驗和。數(shù)據(jù)集通常包含數(shù)據(jù)中的校驗和,因此在計算校驗和時會忽略這些字節(jié)。然后將計算出的校驗和與數(shù)據(jù)附帶的校驗和進(jìn)行比較,以查看它們是否匹配。


  重要的是要認(rèn)識到并非所有校驗和都相同,并且可以檢測到不同的錯誤。例如,一個校驗和可能能夠檢測到單個位已經(jīng)改變,但不同的校驗和可能能夠檢測幾個位是否同時改變。僅僅因為發(fā)現(xiàn)校驗和匹配并不能保證數(shù)據(jù)中沒有錯誤!校驗和也擅長檢測隨機(jī)錯誤,但不一定會檢測到故意更改,例如有人試圖破壞系統(tǒng)。嵌入式開發(fā)人員需要仔細(xì)選擇他們選擇用于其應(yīng)用程序的校驗和。


  提示 #3 – 使用循環(huán)冗余校驗 (CRC)


  CRC實(shí)際上是一個校驗和,但它是一種非常特殊的校驗和。CRC

是使用多項式除法計算校驗和的校驗和??梢韵胂?,在嵌入式系統(tǒng)上,尤其是基于微控制器的嵌入式系統(tǒng)上,執(zhí)行多項式除法的計算成本很高!不過,還有一些額外的好處,即

CRC 可以檢測到比簡單校驗和更大范圍的錯誤。CRC 非常有效,以至于許多微控制器供應(yīng)商將包括一個基于硬件的 CRC 計算器,以允許開發(fā)人員有效地使用

CRC。不幸的是,它是否包含在內(nèi)是非常偶然的,因此開發(fā)人員需要仔細(xì)閱讀他們的微控制器數(shù)據(jù)表。


  結(jié)論


  在數(shù)據(jù)收集和分析不斷增長的世界中,嵌入式開發(fā)人員要意識到我們的系統(tǒng)無法信任總線上的每一點(diǎn)數(shù)據(jù)。電磁干擾、宇宙射線和其他來源可能導(dǎo)致位翻轉(zhuǎn)并損壞。如果沒有某種機(jī)制來檢測這些位翻轉(zhuǎn),則可能會對數(shù)據(jù)采取行動,雖然在許多情況下這沒什么大不了的,但有時它可能對系統(tǒng)造成災(zāi)難性影響。我們今天討論的三種技術(shù)簡單且易于實(shí)施,并且可以對進(jìn)出系統(tǒng)的所有數(shù)據(jù)進(jìn)行簡單的完整性檢查。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部