91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

喚醒事件(也稱喚醒源)有效性驗證為什么要設(shè)置一段時間?

冬至配餃子 ? 來源:開心果 Need Car ? 作者:開心果 Need Car ? 2022-08-23 11:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

上一篇中講只有Transceiver、Controller處于正常工作模式以后才能有效的收發(fā)報文,進而才能識別報文的類型(NM Message、XCPMessage、Diagnostic Message、APPMessage)。但識別出這些報文需要一個前提:ECU上電同時整個主程序運行起來,且需要一定的時間去識別報文類型。

項目中,喚醒事件(也稱喚醒源)有效性驗證為什么要設(shè)置一段時間?ECU上電,整個主程序如何運行起來?

本篇就上述問題進行分析。

喚醒事件有效性驗證時間分析

在實際的網(wǎng)絡(luò)管理項目中,大家可能會遇到這樣的需求:收到有效喚醒事件(如:網(wǎng)絡(luò)管理報文),網(wǎng)絡(luò)激活,報文正常收發(fā);如果收到的報文是非網(wǎng)絡(luò)管理報文,ECU需要保持一定時間后休眠(如:ECU保持5s,即5s內(nèi)ECU處于供電狀態(tài))。注意后者網(wǎng)絡(luò)仍然在BSM(BusSleepMode),只能此時間內(nèi)接收報文,不能發(fā)送報文。如果ECU在該時間內(nèi)收到有效喚醒事件(多數(shù)是網(wǎng)絡(luò)管理報文,也可能是有效的Power ON信號報文),網(wǎng)絡(luò)將激活,進而進行正常的報文收發(fā)。

注意:ECU喚醒是網(wǎng)絡(luò)喚醒的前提條件,ECU喚醒并不一定網(wǎng)絡(luò)喚醒,如果網(wǎng)絡(luò)激活(進入NormalMode)則ECU一定喚醒(RUN模式)。

為什么要ECU保持一段時間呢?這里說一下個人理解,ECU自身并不知道喚醒事件是不是有效,ECU只要被供電就從啟動文件指定的位置開始執(zhí)行程序。如果要識別該喚醒事件是不是有效需要上層模塊(EcuM)識別,而EcuM從開始驗證到確認該事件的有效性需要調(diào)用底層模塊確認(如:Controller或者Transceiver),這需要時間,且EcuM的驗證和確認一般是異步執(zhí)行,這也需要時間。上述時間其實并不長,項目不同執(zhí)行的時間不等(每個項目初始化模塊數(shù)量和讀NVM時間不同),但多數(shù)在幾十毫秒內(nèi)執(zhí)行完,但又為什么會要求1s或者5s或者更長呢?個人理解:ECU被喚醒,整個冷啟動(可以理解為與電壓相關(guān)的啟動)花費了“較長”的時間,廢了這么大勁立馬Shutdown有點“過分”,如果ECU下電又被干擾起來還需要重頭再來(各個模塊、外設(shè)初始化、讀NVM等),既然這樣還不如等待一段時間確定沒有有效喚醒事件以后,ECU再走Shutdown流程,進而避免ECU頻繁的喚醒->休眠->喚醒,注意是ECU,不是網(wǎng)絡(luò)被喚醒->休眠->喚醒,網(wǎng)絡(luò)只有有效喚醒源才能激活。

ECU上電,程序運行過程分析

ECU如果要正常的運行程序,則需要供電,之后程序開始執(zhí)行:啟動文件->BootLoader->Application,進入“main”函數(shù),也就是我們熟知的用戶代碼程序。用戶代碼程序包含ASWC的runnable以及各個模塊的mainhandler(如:CanTrcv_30_Tja1145_MainFunction),這些程序在OS的調(diào)度下周期性或者事件觸發(fā)執(zhí)行,這也是上層模塊可以收到消息和處理消息的基礎(chǔ)。

這里主要分析EcuM管理的上電到程序運行過程。AUTOSAR中,EcuM分為Flexible和Fixed兩種類型,因為Fixed并不支持多核且不靈活,本文主要討論Flexible類型的EcuM。

pYYBAGMESDyAX8xwAACoYJ2kfXY991.png

如上圖(1)所示,CInitCode一般是應(yīng)用程序的main函數(shù),即EcuM_Init在應(yīng)用程序的main函數(shù)被調(diào)用,EcuM將控制ECU的啟動流程,EcuM調(diào)用StartOS,讓Os完成Task的激活。

EcuM_Init并不能完成MCU所有的初始化動作,在StartPreOS Sequence階段主要完成DET模塊(最先完成初始化,以便其它模塊可以上報開發(fā)錯誤)以及一些硬件外設(shè)的初始化,如MCU、Port、Internal Watchdog等(主要根據(jù)項目需求設(shè)置要初始化的外設(shè)模塊)。

poYBAGMESFKAP1JDAADR9R37i-A697.png

如上圖,EcuM_StartupTwo將完成SchM(Os),BSW模塊的初始化,其中各個模塊的初始化(Can_Init、CanIf_Init等)在BswM中完成。程序所需的所有外設(shè)、模塊初始化之后,啟動Scheduler 定時,即周期性的執(zhí)行BSW/SWCs任務(wù),至此Application程序得以運行。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18929

    瀏覽量

    398456
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    398

    瀏覽量

    23661
  • ecu
    ecu
    +關(guān)注

    關(guān)注

    14

    文章

    983

    瀏覽量

    57284
  • DET
    DET
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    8813
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    什么是自動喚醒定時器

    CW32F030 內(nèi)部集成 1 個自動喚醒定時器 (AWT),AWT 包含個 16bit 向下計數(shù)器,并由個可編程預(yù)分頻器驅(qū)動。AWT 可選 5 種計數(shù)時鐘,可工作于定時模式或計
    發(fā)表于 12-11 07:24

    使用芯CW32 MCU來實現(xiàn)低功耗模式下的RTC定時喚醒功能

    RTC時鐘為外部低速晶振(LSE),并設(shè)置時間和日期。 進入低功耗模式:然后,將MCU置于睡眠模式,并通過RTC定時喚醒。 喚醒后的處理:
    發(fā)表于 12-04 07:55

    請問外部事件立即喚醒MCU如何設(shè)置?

    應(yīng)用中外部事件如按鈕按下、傳感器檢測到特定信號等需要立即喚醒MCU。該如何設(shè)置外部中斷?怎么能在低功耗模式下仍然可靠觸發(fā)喚醒?
    發(fā)表于 12-04 06:56

    請問如何合理設(shè)置這些喚醒條件?

    CW32A030 MCU支持從Sleep和DeepSleep模式通過外部中斷或?qū)崟r時鐘喚醒。如何合理設(shè)置這些喚醒條件,以實現(xiàn)最佳的功耗和響應(yīng)速度平衡呢?
    發(fā)表于 11-26 06:59

    MCU典型的睡眠喚醒時間delay的概念

    模式喚醒時,CPU不會立即執(zhí)行后面的指令,而是會有定的delay,這個delsy通常在8個系統(tǒng)時鐘以內(nèi)。當(dāng)喚醒后,系統(tǒng)時鐘和外設(shè)時鐘會重新使能,器件就重新啟動 并以先前配置的當(dāng)前時鐘
    發(fā)表于 11-25 08:03

    AQ6370D使用一段時間會無法通訊問題(TCP通訊)

    使用LAN通訊方式與AQ6370D光譜儀通訊,通訊無問題,但是過一段時間通訊失敗
    發(fā)表于 11-19 14:47

    如何驗證電能質(zhì)量在線監(jiān)測裝置硬件層實時監(jiān)測冗余切換功能的有效性?

    驗證硬件層冗余切換功能的有效性,核心是 模擬真實故障場景 + 量化關(guān)鍵指標(biāo)(切換時間、數(shù)據(jù)完整、精度穩(wěn)定性)+ 長期工況驗證 ,通過 “實
    的頭像 發(fā)表于 11-09 17:03 ?1266次閱讀

    單片機運行一段時間死機,為什么?

    問題: 單片機運行一段時間死機,想通過在死機前異常時利用cmbacktrace捕捉log保存,讓系統(tǒng)重啟重啟后通過shell打印出死機時信息,用addr2line分析死機原因
    發(fā)表于 09-29 08:26

    如何驗證硬件冗余設(shè)計的有效性?

    硬件冗余設(shè)計的核心目標(biāo)是應(yīng)對單點故障、保障系統(tǒng)連續(xù)運行,其有效性驗證需圍繞 “故障發(fā)生時的切換能力、數(shù)據(jù)完整、業(yè)務(wù)連續(xù)” 三大核心指標(biāo)展開,通過 “靜態(tài)配置檢查 + 動態(tài)故障模擬
    的頭像 發(fā)表于 09-18 16:36 ?1247次閱讀
    如何<b class='flag-5'>驗證</b>硬件冗余設(shè)計的<b class='flag-5'>有效性</b>?

    使用USB傳輸數(shù)據(jù)一段時間后能正常運行但是不會再上發(fā)數(shù)據(jù),為什么?

    嘗試過兩種程序都會出現(xiàn)這種問題:使用USB傳輸數(shù)據(jù)一段時間后能正常運行但是不會再上發(fā)數(shù)據(jù),都是基于正點原子水星開發(fā)板,主控為STM32H743iit6進行測試 使用的是PB14/PB15的HS,上發(fā)
    發(fā)表于 09-18 07:59

    如何判斷電能質(zhì)量在線監(jiān)測裝置認證標(biāo)準(zhǔn)的有效性?

    LZ-100電能質(zhì)量在線監(jiān)測裝置 判斷電能質(zhì)量在線監(jiān)測裝置認證標(biāo)準(zhǔn)的有效性,核心是驗證標(biāo)準(zhǔn)的 時效、適用、認證關(guān)聯(lián)及完整
    的頭像 發(fā)表于 09-03 16:26 ?1009次閱讀
    如何判斷電能質(zhì)量在線監(jiān)測裝置認證標(biāo)準(zhǔn)的<b class='flag-5'>有效性</b>?

    AD7606BSTZ正常工作一段時間后,ad停止轉(zhuǎn)換是什么原因?qū)е碌模?/a>

    您好,我的控制板上采用AD7606BSTZ來采集逆變器的三相電流。在變流器沒有跑功率的時候,AD芯片可以直工作;跑功率時運行20min左右之后,AD轉(zhuǎn)換的數(shù)值開始發(fā)生錯誤,會出現(xiàn)較長時間結(jié)果為0;再過一段時間芯片就完全不工作了
    發(fā)表于 07-29 08:58

    使用USB傳輸數(shù)據(jù)一段時間后能正常運行但是不會再上發(fā)數(shù)據(jù),為什么?怎么解決?

    嘗試過兩種程序都會出現(xiàn)這種問題:使用USB傳輸數(shù)據(jù)一段時間后能正常運行但是不會再上發(fā)數(shù)據(jù),都是基于正點原子水星開發(fā)板,主控為STM32H743iit6進行測試 使用的是PB14/PB15的HS,上發(fā)
    發(fā)表于 06-10 08:22

    FX3的FLAGA信號,在運行一段時間后,無法拉高怎么解決?

    Thread0所在的緩存,上傳上位機。同時,F(xiàn)PGA檢測Thread2中是否有數(shù)據(jù)需要讀取,若有,則將Thread2中的數(shù)據(jù)讀取到FPGA中進行解析。 如下圖,在正常運行一段時間后,F(xiàn)LAGA信號會拉低,并且無法恢復(fù)為高電平,導(dǎo)致FPGA無法繼續(xù)寫數(shù)據(jù)至Thread0。 請問我該如何解決這個問題?
    發(fā)表于 05-08 07:38

    LSM6DSR工作一段時間后就算靜止不動會出現(xiàn)Y軸數(shù)據(jù)偏移,是什么原因?qū)е碌模?/a>

    LSM6DSR工作一段時間后就算靜止不動會出現(xiàn)Y軸數(shù)據(jù)偏移,請問下是什么原因可能會導(dǎo)致出現(xiàn)這個異常?
    發(fā)表于 03-11 07:52