女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

分享一個實例:Node路由超時引發的Bug

冬至配餃子 ? 來源:開心果 Need Ca ? 作者:開心果 Need Ca ? 2022-08-23 17:42 ? 次閱讀

項目包含Autosar網絡管理時,一般會要求Node外發的第一幀是網絡管理報文,目的是為快速喚醒網絡;同時也會充分考慮通信棧的任務周期和時序,因為網絡狀態切換與其密切相關,如果未考慮好這兩點則可能帶來潛在的Bug。本文從工程實際出發,分享一個實例:Node路由超時引發的Bug。

1、需求描述

如下圖,Node1所在CAN/Flexray總線接收網絡管理報文NM1,該網絡管理報文在VCU內部轉發給Node2(Node2連接CAN總線),如果收到的NM1包含Node2的PNCdes置位,則Node2網絡喚醒,且Node2發送網絡管理報文NM2。這里使用了PN的GateWay功能。

注意:Node1接收的NM1報文可以是不同的節點發來的網絡管理報文,即測試時,接收到的NM1報文時間可以是隨機的。

pYYBAGMEoHGANn1OAABYpWt56Zo972.png

接收的NM1報文,第一次PNCsrc = 1、PNCdes = 1時,設置時間為T1,Node2外發第一幀NM2的時間設置為T2,需求規定T2-T1 < 15ms,偏差10%,即(T2-T1)max < 15+15*10% = 16.5ms,T2-T1=Tgate。

NM1在Node1 Bus和NM2在Node2 Bus的具體行為如下所示:

pYYBAGMEoIiAIRh-AACq6SOaFJE955.png

實際測試結果實際測試Tgate > 16.5ms,不符合需求,Bug就這么來了。

2、Bug原因分析

問題點1:Node2發出的第一幀報文不是網絡管理報文NM2,而是Node2的應用報文(周期性報文),由于NM2的優先級低于應用報文,導致NM2發送延遲。

具體分析1:如下圖所示,如果NM、App等報文在通信開啟的那一刻(t0)都請求驅動發送報文,比如:Can Controller,它只能根據優先級(CANID)決定報文發送順序,因為NM報文相對App報文優先級低,所以NM報文會被延遲發送。

如果讓每個周期性App報文,偏移(Offset)一段時間(t1、t2等)發送,而不是在t0時刻搶占NM報文,則可以讓NM報文優先發送。

poYBAGMEoJyAPFtNAAB-SuObkeg357.png

問題點2

:通信棧模塊周期不匹配,這個因素影響較大

具體分析2

:比如CanSM、CanNM、Can等模塊任務周期是5ms,ComM模塊任務周期是20ms。當收到NM1中的

PNCsrc = 1

時,信息由CanNM通知到ComM,ComM切換到FULL_COMMUNICATION,這個過程實際只是一個狀態切換指令下發,真正做狀態切換的是CanSM,而CanSM狀態機的切換需要時間,切換狀態后通知到ComM,

此時ComM至少要一個任務周期(20ms)才能知道狀態是否切換成功,切換成功才請求NM啟動網絡,

網絡狀態切換告知ComM時間過長導致路由時間超時

pYYBAGMEoLOAAHOlAAEanvOjfBc701.png

3、Bug修復策略

問題點1修復策略

CanNM模塊修改配置

配置Retry Frist Message Request,確保Node2的NM2報文發送成功,即當前周期發送失敗,下一周期繼續嘗試發送。

Com模塊修改配置

Com模塊中,配置所有周期性(PERIODIC)/混合(MIXED)應用報文偏移值(ComTxModeTimeOffset,默認值為0),避免高優先級的應用報文在通信開始時,搶占網絡管理報文,確保網絡管理報文被優先發送。

問題點2修復策略

修改ComM模塊任務周期。由20ms調整到5ms,與CanSM、CanNM、Can等通信模塊任務周期匹配,確保ComM能更快地獲取底層狀態切換結果。


審核編輯:劉清

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

    關注

    145

    文章

    1974

    瀏覽量

    132266
  • 網絡管理
    +關注

    關注

    0

    文章

    123

    瀏覽量

    28049
  • AUTOSAR
    +關注

    關注

    10

    文章

    372

    瀏覽量

    22409
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    隱秘的串口中斷BUG案例分享

    本文分享STM32L4平臺串口驅動比較隱秘的BUG,分享的目的不在結論本身,而在于問題的分析過程,和如何形成標準,形成checklist,避免類似問題,以及在嵌入式開發中的思想。
    的頭像 發表于 09-19 14:05 ?2998次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個</b>隱秘的串口中斷<b class='flag-5'>BUG</b>案例分享

    matlab script node

    哪位大神有matlab script node 操作的視頻教程 或者實例沒有求分享啊謝謝了
    發表于 10-07 23:01

    C語言中括號引發的……

    C語言中括號引發的……作者:薛定諤的coding貓今天給大家帶來比較典型的問題,
    發表于 05-19 14:06

    lwip網路組件中的測試實例出現bug

    主題:測試實例1、ftpd中似乎bug,現象:ftpd_start()運行該函數,發現旦連接和互傳數據,就會有內存嘩嘩泄漏,list_mem()可以看到內存占用從12K上升到40K
    發表于 04-01 11:02

    華為路由器配置實例

    華為路由器配置實例 華為路由器(R2621)、交換機(S3026e)各臺,組建VLAN,實現虛擬網和物理網之間的連接。實現防火墻策略,
    發表于 05-25 08:17 ?4541次閱讀

    用戶近日曝光 iPhone 12 的奇怪的充電 bug

    近日有用戶曝光了 iPhone 12 的奇怪的充電 bug,多口適配器在為該機充電時都會受影響。
    的頭像 發表于 11-16 14:31 ?1947次閱讀

    5G案例|T310超時引發VIVO終端 SCG failure失敗資料下載

    電子發燒友網為你提供5G案例|T310超時引發VIVO終端 SCG failure失敗資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發表于 04-13 08:40 ?8次下載
    5G案例|T310<b class='flag-5'>超時</b><b class='flag-5'>引發</b>VIVO終端 SCG failure失敗資料下載

    如何解決JVM中極小概率發生的bug

    編者按:筆者遇到非常典型 JVM 架構相關問題,在 x86 正常運行的應用,在 aarch64 環境上低概率偶現 JVM 崩潰。這是典型的 JVM 內部
    的頭像 發表于 08-23 17:35 ?3625次閱讀

    Elasticsearch底層模塊:如何去規劃和配置各種各樣的node

    node module,主要是用來處理各種不同類型的節點的,es有哪些類型的node,另外就是對這些類型的node有些什么特殊的參數,對于
    的頭像 發表于 12-22 10:18 ?1111次閱讀

    冗余電路導致的BUG

      昨天解了BUG低級錯誤導致的BUG
    的頭像 發表于 05-14 15:28 ?1152次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個</b>冗余電路導致的<b class='flag-5'>BUG</b>

    基于Node-RED的優易通串口服務器應用實例

    實例的方式,詳細介紹了基于Node-RED的優易通串口服務器采集Modbus-RTU水位傳感器數據,并將數據可視化的過程。
    的頭像 發表于 05-29 21:15 ?2794次閱讀
    基于<b class='flag-5'>Node</b>-RED的優易通串口服務器應用<b class='flag-5'>實例</b>

    req-ack接口引發的問題分析

    最近定位了bug,代碼是以前的同事留下的,沒有經過太多充分的測試,且沒有仿真平臺,定位的過程是相當的痛苦,前后花了差不多星期。但是解
    的頭像 發表于 09-06 17:36 ?927次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個</b>req-ack接口<b class='flag-5'>引發</b>的問題分析

    socket連接超時如何處理

    在網絡編程中,socket連接超時常見的問題,它可能由多種原因引起,比如網絡延遲、服務器負載過高或者客戶端請求超時設置過短等。處理socket連接
    的頭像 發表于 11-01 16:48 ?2066次閱讀

    socket 連接超時處理技巧

    在網絡編程中,Socket連接超時常見的問題。處理超時的關鍵在于確保程序能夠優雅地處理這些情況,避免程序崩潰或者無響應。以下是些處理
    的頭像 發表于 11-12 14:13 ?1096次閱讀

    【干貨】什么是Node-RED?文帶你了解!

    什么是Node-RED?首先我們來認識下什么是Node-RED。Node-RED是
    的頭像 發表于 03-13 19:32 ?623次閱讀
    【干貨】什么是<b class='flag-5'>Node</b>-RED?<b class='flag-5'>一</b>文帶你了解!