前言
TSMaster近日更新了五大模塊的新功能,主要包含網絡仿真中的checksum和rolling counter的本地化支持、J1939多幀報文收發、MATLAB自動化控制模塊等等。小編接下來將在之后推文中給大家以圖文教程的形式一一講解。
今天介紹TSMaster的新功能—網絡仿真中的checksum和rolling counter的本地化支持,該功能可以輕松做到不寫一行代碼就可以實現帶checksum和rc的網絡仿真。
舊版本 VS 新版本
Old VS New version /
舊版本
首先回顧一下舊的方法,也就是使用小程序對每個信號進行模擬,打開這個示例隨后按F5啟動仿真,就可以看到不斷遞增的rolling counter,也就是藍色的這個三角波。
我們展開trace,從中把這個checksum拖到圖形窗口中,就可以觀察checksum的實時曲線。再看我們的小程序代碼,在pretx的回調函數中,需要寫程序來直接控制checksum和rolling counter的信號,倘若涉及到大型的網絡仿真,那么就需要花費大量的時間,每個信號進行逐個處理容易出錯,同時也會帶來效率的問題。
新版本
新功能則不需要手動處理每個信號,我們來新建一個工程試一試。打開工程-工程目錄,找到TSMaster的安裝包自帶的示例數據庫。例如powertrain,我們將它拖入,可以看到數據庫已經載入。
我們選擇一幀報文,以ABS data為例,可以看到這個報文并沒有checksum和rc,我們需要修改數據庫給他加上這兩個信號,點擊編輯按鈕,打開數據庫編輯器,我們新建兩個信號,分別命名為ABS checksum。checksum一般是8位的無符號,然后還有一個是ABS。rc一般是4位無符號,再將這兩個信號拖入ABS data這個報文里面,隨后我們打開這個報文的配置窗口,將dlc改為8,切換到layout。
我們可以將我們新建的rc拖動到合適的位置,接下去是設定checksum的位置,這是我們新增的checksum信號,由于checksum是保護報文的數據內容的,一般位于報文的第一個字節或者是最后一個字節。在這里我們把這個信號拖到最后一個字節,這意味著保護的范圍是從0到6字節,點擊確定,再點擊保存,再點擊關閉。可以看到TSMaster會自動刷新所編輯的數據庫。
這時候我們展開報文,選擇abs data,切換到布局窗口,我們就可以看到我們新增的兩個信號,一個是rolling counter,在52-55位之間;另外一個是checksum,在56-63之間。新增的checksum和rc已經按照我們的要求設置成功了。
checksum和rc的本地化支持
localization support for checksum & rc /
>關閉數據庫編輯器,切換到仿真,打開rbs窗口,雙擊激活engine節點,設置為自啟動仿真,隨后按下F5啟動仿真,這就可以讓rbs來仿真engine這個節點的所有報文。
切換到分析,打開trace窗口,展開abs data報文,可以看到我們新增的rc和checksum都是默認的0,這時候就需要進行配置,回到rbs窗口,在rc信號上點擊右鍵,設置它為rolling counter信號,設置將會立即生效,可以看到rolling counter在變化。
>接著打開一個圖形窗口,把rc拖入圖形就可以看到鋸齒波,說明rc已經生效,接下來就要配置checksum。由于checksum涉及到crc算法庫的安裝和編輯,這個信號是不能夠實時的去配置它的,所以我們先按F6停止仿真,再在checksum信號上右擊選擇設為checksum信號,那么第一次設置會看到系統會安裝默認的crc的算法庫,并且在安裝成功后會彈出crc算法列表。
我們可以隨便選一個算法比如說crc 8。這個時候我們就已經成功的將crc 8的算法和這個checksum信號產生了關聯。此時還有一個配置項需要確認,那就是這個checksum信號的保護范圍,默認是從0字節開始,保護后面7個字節,那么這是可以隨時更改。我們可以點擊右鍵,選擇編輯crc算法參數,就可以看到已經配置過的crc信號表。
那么雙擊這個表里面任何一個信號,還可以繼續修改他關聯的crc算法,這個時候我們先不修改算法,我們只需要知道這個窗口是可以更改保護的字節起始以及保護的字節數就可以了。那么我們現在先點擊確認,然后我們再次按下F5啟動仿真,展開abs data報文,我們就可以看到checksum已經在刷新了。
>我們把這個信號拖到圖形窗口中,就可以看到了checksum的實時曲線,而一般情況下,checksum的算法都是公司自定義的,我們完全可以改寫默認的crc的算法庫來做到這一點。點擊仿真-小程序庫,可以看到默認的crc的算法庫也不過就是一個小程序庫而已,他提供了21個默認的算法。
我們可以在c代碼編輯器中找到這個算法庫的源代碼,注意的是這個小程序是以庫文件的方式提供的,是沒有獨立的啟動和停止按鈕的,我們在此制定一個crc算法。點右鍵添加自定義函數取名為mycrc,參數表可以隨便選一個copy,然后我們可以把現有的算法的內容抄進來。比如說這個crc8,然后在這個基礎上進行修改,我們可以隨意的改,比如說將這個poly = 0x17,如果要想把我們新的這個函數安裝到系統中,只需要編譯這個算法庫就可以,當然編譯的過程需要保證。
首先要停止仿真,因為當前的這個算法庫依然在被rbs引擎使用,此時我們再點擊編譯就可以看到編譯成功,并且已經自動安裝到我們的系統中。
如何實現實時曲線
How to achieve real-time curves /
我們打開總線仿真,在這個信號上點右鍵,重新選擇一下crc算法,選擇我們的mycrc,就可以關聯成功。然后我們按F5啟動仿真切換到圖形窗口,就可以看到不一樣的checksum的實時曲線,這是因為這個整個報文里面就只有rolling counter的一個信號在變化,所以這個checksum的信號的曲線具有一定的規律,那么同時我們也可以讓其他的信號也動起來,這該怎么做呢?
1、手動設置方法
最快的一種是使用發送窗口的信號生成器。我們可以首先在rbs窗口中將這個報文的周期改為0,那這樣的話rbs就不會自動發送這個報文,然后我們切換到發送窗口,點擊添加來自數據庫的報文,選擇我們的abs data,我們點擊發送,然后切換到圖形窗口,就可以看到跟之前一樣的曲線。這是新功能的強大之處,也就是不管該報文在系統的哪個模塊被發出,只要rbs是激活狀態,報文的checksum和rolling counter就能夠被正確配置。
接下來我們可以激勵其中的其他信號,比如說carspeed這個信號,我們可以將生成器選擇為正弦波,配置偏移量為150,因為它的范圍是0到300,然后點擊應用關閉,點擊啟動生成,這個時候就可以看到checksum發生了變化,這時候我們把carspeed拖進來,就可以看到所有信號的實時曲線。這時候的checksum就顯示出了無規則的變化,這是因為同時有了兩個信號在變化,那么以上就是checksum和rolling counter的手動設置方法。
2、自動設置方法
我們還可以通過小程序API來做到自動設置,首先可以清空這兩個信號的配置,只要在上面點擊右鍵,選擇設為普通信號,那這兩個信號就不再具有功能,可以看到這兩個信號就變成了默認的值,然后我們可以打開自動化模塊,新增一個函數調用,搜rc可以從中找到跟rolling counter有關的就是這個can rbs set rc Signal。他只有一個傳入參數,就是信號的數據庫地址。接著我們到總線仿真里面,把這個rc信號頂右鍵的數據庫地址拷貝過來,這樣就實現了這個信號的設置。
那么我們可以再增加一個函數調用,按回車新建一個新的動作,然后我們選擇crc相關的函數,那么可以看到這個函數名叫set crc Signal,他有4個參數。第一個也是信號地址,我們就如法炮制,選擇checksum的數據庫地址,填入后第二個就是算法的名稱,那這個名稱其實就是剛才我們所選的mycrc,那么在這個前面需要加上小程序的前綴,所以是crc.mycrc。那么小程序可以看到他的名稱是crc,所以只需要把這個這個名稱加上點,再加上函數名抄過來就可以了,然后他所保護的字節起始是從第0個字節開始,往后保護7個字節,那么這樣就算設置完畢。
以上就是本次發布的新功能的全部用法,我們下期再見!(具體操作步驟詳情可直接觀看我們的B站視頻哦~)
-
仿真
+關注
關注
50文章
4134瀏覽量
134119
發布評論請先 登錄
相關推薦
亞馬遜云科技發布Amazon Bedrock新功能
Amazon Q Business新功能發布,助力企業提效
愛普生科技+本地化引領五大創新
英飛凌 CEO:將在中國本地化生產芯片以滿足客戶需求
Visual Components數字化工廠仿真軟件本地化服務:億達四方的優勢
干貨分享 | TSMaster軟件指南
![干貨分享 | <b class='flag-5'>TSMaster</b>軟件指南](https://file.elecfans.com/web2/M00/40/07/pYYBAGJrUk2AaMaTAAAQONQtdzo461.jpg)
極氪與Mobileye攜手加速自動駕駛技術中國本地化
涂鴉HEDV本地化部署方案,助你低成本實現定制化開發!
![涂鴉HEDV<b class='flag-5'>本地化</b>部署方案,助你低成本<b class='flag-5'>實現</b>定制化開發!](https://file.elecfans.com/web2/M00/40/04/pYYBAGJrTDSAYdI1AAASTiyZjeQ622.jpg)
TSMaster 的 CAN UDS 診斷操作指南(上)
![<b class='flag-5'>TSMaster</b> 的 CAN UDS 診斷操作指南(上)](https://file.elecfans.com/web2/M00/40/07/pYYBAGJrUk2AaMaTAAAQONQtdzo461.jpg)
亞馬遜云科技與四維圖新深化合作,共推汽車行業本地化服務
廣汽埃安泰國工廠185協議簽署,實現本地化生產重要突破
源2.0適配FastChat框架,企業快速本地化部署大模型對話平臺
![源2.0適配FastChat框架,企業快速<b class='flag-5'>本地化</b>部署大模型對話平臺](https://file1.elecfans.com//web2/M00/C1/ED/wKgZomXfNLWAOYk6AAEJDzMrT0I739.jpg)
TSMaster 2024年1月最新版本,新功能太實用
![<b class='flag-5'>TSMaster</b> 2024年1月最新版本,<b class='flag-5'>新功能</b>太實用](https://file.elecfans.com/web2/M00/40/07/pYYBAGJrUk2AaMaTAAAQONQtdzo461.jpg)
評論