精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TSMaster中如何自定義CRC校驗算法

上海同星智能科技有限公司 ? 2023-09-09 08:23 ? 次閱讀

在通訊過程中,用戶需要利用 CheckSum 信號對傳輸數據用自己規定的算法邏輯進行校驗,來看數據在傳輸過程中是否被更改或傳輸錯誤。本文主要介紹 TSMaster 如何設置自己的 CRC 算法信號。

CRC相關知識介紹

1

原理

CRC 校驗本質上是選取一個合適除數,對要進行校驗的數據(被除數)做模 2 除法,得到的余數就是 CRC 校驗值。

f261cac4-4ea6-11ee-a20b-92fbcf53809c.png

1.標準 CRC 生成多項式

f2a7469e-4ea6-11ee-a20b-92fbcf53809c.png

2.位寬(W)

多項式二進制位數減一。

3.工程中常用 CRC 校驗過程

△ 余數初始值:計算開始前,先給變量 CRC 賦的初始值。

△結果異或值:計算結束后,得到的變量 CRC 與這個值進行異或操作,得到最終校驗值。

△輸入數據反轉:計算開始前,將需要校驗的數據反轉,如 1011 反轉為 1101。

△輸出數據反轉:計算結束后,與結果異或值異或之前,計算值反轉,如 1011 反轉為 1101。

4. 模 2 運算

不考慮進位和借位的二進制數運算。

f2df75d2-4ea6-11ee-a20b-92fbcf53809c.pngf2fa7512-4ea6-11ee-a20b-92fbcf53809c.png

操作步驟(以 CRC8 為例)

1

利用C腳本對單一信號設置自定義CRC校驗算法

1. 打開 TSMaster,創建一個 C 腳本窗口。

f323310a-4ea6-11ee-a20b-92fbcf53809c.png


2. 創建 Rollingcount 信號變量 RC、創建需要校驗信號所對應報文的預發送事件、以及校驗算法函數 MakeCheckSum(此處以 ABSData 報文為例)。

f37359fa-4ea6-11ee-a20b-92fbcf53809c.png

3. 編輯 CRC 自定義算法函數。

f3f81be0-4ea6-11ee-a20b-92fbcf53809c.png

4. 在預發送事件中,調用編輯好的自定義 CRC 算法函數,利用回調函數賦值給 CheckSum信號,同時對 RollingCount 信號編程做循環處理。

f429cb54-4ea6-11ee-a20b-92fbcf53809c.png


5. 將 DBC 中 CheckSum 和 RollingCount 信號添加至信號曲線進行觀察,即可完成通過腳本對單一校驗信號設置自定義的 CRC 校驗算法。

f49af540-4ea6-11ee-a20b-92fbcf53809c.png

2

對多個信號設置自定義CRC校驗算法

1. 添加 DBC 文件進 TSMaster,打開 RBS 模塊,找到需要設置的 CheckSum 信號,點擊鼠標右鍵,選擇設置為 CheckSum 信號。

f4f959e6-4ea6-11ee-a20b-92fbcf53809c.png

2. 在彈出的 CRC 算法庫中選擇合適的 CRC 算法,如需要自定義則需進行以下步驟。

f53ee24a-4ea6-11ee-a20b-92fbcf53809c.png


3. 在彈出算法庫窗口后,進入 C 小程序,選擇 CRC Library,在自定義函數右鍵添加自定義算法函數(如 MyCRC)。

f5a876d8-4ea6-11ee-a20b-92fbcf53809c.png


4. 編輯自定義算法函數代碼(注意:參數類型需與現有 CRC 算法函數保持一致:指針指向數據首地址,數據長度),編輯好后點擊編譯。

f64b9584-4ea6-11ee-a20b-92fbcf53809c.png


5. 回到 RBS 界面,選中要設置的 CRC 校驗信號,右鍵選擇設置為 CRC 校驗信號,在彈出的算法庫中便已包含了我們自定義的 CRC 校驗算法,這樣即可快速對多個 CRC 信號進行CRC 校驗算法設置,實現 CheckSum 本地化支持。

f6bbb0a8-4ea6-11ee-a20b-92fbcf53809c.png


6. 在編譯好 CRC 信號函數后,我們可以在 RBS 中對 CRC 信號點擊鼠標右鍵,選擇設置編輯算法參數,在彈出的窗口中,可以選擇切換其他 CRC 校驗算法,并設置首地址和長度。這樣即可快速對多個 CRC 信號進行 CRC 校驗算法設置,實現 CheckSum 本地化支持。

f73af0d4-4ea6-11ee-a20b-92fbcf53809c.pngf7aa9434-4ea6-11ee-a20b-92fbcf53809c.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • crc
    crc
    +關注

    關注

    0

    文章

    197

    瀏覽量

    29355
  • 信號
    +關注

    關注

    11

    文章

    2736

    瀏覽量

    76161
  • MASTER
    +關注

    關注

    0

    文章

    99

    瀏覽量

    11219
收藏 人收藏

    評論

    相關推薦

    創建自定義的基于閃存的引導加載程序(BSL)

    電子發燒友網站提供《創建自定義的基于閃存的引導加載程序(BSL).pdf》資料免費下載
    發表于 09-19 10:50 ?0次下載
    創建<b class='flag-5'>自定義</b>的基于閃存的引導加載程序(BSL)

    詳解TSMaster CAN 與 CANFD 的 CRC E2E 校驗方法

    面對切換工具鏈的用戶來說,在TSMaster上完成總線通訊CRC/E2E校驗處理不是特別熟悉,該文章可以協助客戶快速使用TSMaster
    的頭像 發表于 05-25 08:21 ?1173次閱讀
    詳解<b class='flag-5'>TSMaster</b> CAN 與 CANFD 的 <b class='flag-5'>CRC</b> E2E <b class='flag-5'>校驗</b>方法

    HarmonyOS開發案例:【 自定義彈窗】

    基于ArkTS的聲明式開發范式實現了三種不同的彈窗,第一種直接使用公共組件,后兩種使用CustomDialogController實現自定義彈窗
    的頭像 發表于 05-16 18:18 ?1049次閱讀
    HarmonyOS開發案例:【 <b class='flag-5'>自定義</b>彈窗】

    TSMaster 自定義 LIN 調度表編程指導

    TSMaster(v2023.10.7.990)之后的版本中新增了實現自定義LIN調度表相關API。今天重點和大家分享一下關于編程實現TSMaster自定義LIN調度表
    的頭像 發表于 05-11 08:21 ?406次閱讀
    <b class='flag-5'>TSMaster</b> <b class='flag-5'>自定義</b> LIN 調度表編程指導

    HarmonyOS開發實例:【自定義Emitter】

    使用[Emitter]實現事件的訂閱和發布,使用[自定義彈窗]設置廣告信息。
    的頭像 發表于 04-14 11:37 ?875次閱讀
    HarmonyOS開發實例:【<b class='flag-5'>自定義</b>Emitter】

    鴻蒙ArkUI實例:【自定義組件】

    組件是 OpenHarmony 頁面最小顯示單元,一個頁面可由多個組件組合而成,也可只由一個組件組合而成,這些組件可以是ArkUI開發框架自帶系統組件,比如?`Text`?、?`Button`?等,也可以是自定義組件,本節筆者簡單介紹一下自定義組件的語法規范。
    的頭像 發表于 04-08 10:17 ?483次閱讀

    淺析MCU通信、存儲常用的簡單校驗算法

    UART有一個奇偶校驗,CAN通信有CRC校驗。Modbus、MAVlink、USB等通信協議也有校驗信息。
    的頭像 發表于 03-07 10:56 ?394次閱讀
    淺析MCU通信、存儲常用的簡單<b class='flag-5'>校驗算法</b>

    fpga報告crc故障是什么意思

    方法,通過對發送的數據進行計算并附加到數據末尾,接收方能夠使用相同的校驗算法來檢測傳輸的錯誤。CRC可以檢測多種不同類型的錯
    的頭像 發表于 01-04 11:06 ?995次閱讀

    虹科技術|保障數據傳輸穩定性:BabyLIN產品的CRC算法實現

    文章將以CRC8校驗為例,介紹在BabyLIN產品如何使用CRC校驗算法。 CRC
    的頭像 發表于 01-02 10:45 ?353次閱讀
    虹科技術|保障數據傳輸穩定性:BabyLIN產品的<b class='flag-5'>CRC</b><b class='flag-5'>算法</b>實現

    博途用戶自定義庫的使用

    博途官方提供了很多庫,比如:基本函數庫、通信庫、安全庫、驅動庫等等,用戶可以使用庫的函數/函數塊來完成具體的控制任務。除了官方的庫,我們也可以創建自己的庫(用戶自定義庫)。比如,把項目
    的頭像 發表于 12-25 10:08 ?648次閱讀
    博途用戶<b class='flag-5'>自定義</b>庫的使用

    簡述循環冗余碼crc校驗方法的工作原理

    位 首先,需要將需要進行CRC校驗的數據進行補位操作。CRC校驗算法通常以二進制的形式工作,因此需要將原始數據轉換為二進制。同時,生成多項式也需要進行補位操作,使其與數據的位數相對應。
    的頭像 發表于 12-20 11:27 ?797次閱讀

    如何在Matlab自定義Message

    自定義Message 當我們的 message 消息比較復雜時,通常要用到自定義的 message 消息,MATLAB 2020b以上的版本自帶了ROS Toolbox Interface
    的頭像 發表于 11-15 18:12 ?1030次閱讀
    如何在Matlab<b class='flag-5'>中</b><b class='flag-5'>自定義</b>Message

    常用的校驗算法有哪些?

    常用的校驗算法有哪些,是不是和通信規約有關。比如MODBUS一般都用CRC16(不確定是不是叫這個)。這些校驗算法是之前積累下來的嗎。自己也可以定義一個
    發表于 11-03 06:50

    Android端自定義鈴聲 MobPush對安卓端自定義鈴聲的教程

    如何為APP推送設置獨特的通知鈴聲呢?本次帶來的是MobPush對安卓端自定義鈴聲的教程,快來看看吧~
    的頭像 發表于 10-21 15:34 ?1018次閱讀
    Android端<b class='flag-5'>自定義</b>鈴聲 MobPush對安卓端<b class='flag-5'>自定義</b>鈴聲的教程

    OpenHarmony自定義組件介紹

    一、創建自定義組件 在ArkUI,UI顯示的內容均為組件,由框架直接提供的稱為系統組件,由開發者定義的稱為自定義組件。在進行 UI 界面開發時,通常不是簡單的將系統組件進行組合使用,
    發表于 09-25 15:36