国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

EcuM是如何知道有喚醒事件呢?

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

掃碼添加小助手

加入工程師交流群

前言

在AUTOSAR中,Ecu的喚醒流程并不能簡單的看作是對各個外設模塊的供電動作。Autosar給了軟件開發人員很大的自由度去設計目標項目Ecu的喚醒動作,而自由度越大的代價就是開發人員需要很好的設計Ecu的喚醒時序,提供Ecu喚醒過程的魯棒性。

喚醒源的狀態

在EcuM中規定了喚醒源的4中狀態:NONE、PENDING、VALIDATED、EXPIRED。四種狀態關系的切換關系如下所示:

poYBAGMES7WAJoCFAADeSJyKHwM989.png

當Ecu上電時,喚醒源的初始狀態是NONE,當喚醒源狀態切換到NONE時,需要通知到BswM模塊,上圖也可以看出,喚醒源的每次狀態切換都需要通知到BswM模塊,通知接口:BswM_EcuM_CurrentWakeup。

EcuM是如何知道有喚醒事件呢?EcuM如果想知道有喚醒Ecu的事件,最好的方式就是給底層提供一個接口或者注冊一個回調,Autosar里規定了標準接口:EcuM_SetWakeupEvent。當有喚醒事件發生時,底層的硬件模塊(例如:Transceiver、Sensor)最先識別到,之后通過該接口上報給EcuM。

EcuM主函數會輪詢檢測底層上報的喚醒事件,如果想進一步的分析喚醒事件是不是有效的總線喚醒源(網絡管理報文),需要Ecu有正常的收發報文能力,想要收發報文,Transceiver和Controller兩個模塊均需要啟動。一般來講,Transceiver會在程序初始化時進入正常的工作模式,而Controller進入正常的工作模式是EcuM調用EcuM_StartWakeupSources的結果,而該接口的內部功能的實現由開發者自行把控,autosar并未做硬性的要求。

啟動Transceiver和Controller,建立了報文的正常收發能力,Ecu即可進一步的將報文上報上層模塊,如:CanIf,即此時Ecu可以拿到總線的RawData,不管是不是網絡管理報文,Ecu都可以做進一步的功能實現,如收到診斷報文喚醒網絡等。

一般來說,會在EcuM模塊配置兩個時間參數,CheckWakeup和ValidateWakeup時間,如果CheckWakeup時間走完走完沒有判斷到有效的喚醒源,則調用EcuM_StopWakeupSources關閉喚醒源,這里多數關閉controller,進而Ecu失去通信能力。

ValidateWakeup時間參數配置與否決定了是否使用喚醒事件的驗證功能,如果配置該參數,且驗證喚醒事件有效后則通知ComM使能通信,調用ComM接口:ComM_EcuM_WakeupIndication。如果該參數沒有配置,則EcuM不在繞圈,直接通知BswM喚醒事件有效,通知ComM開啟通信。個人理解:該參數配置較合理。

第一:可以驗證喚醒事件的有效性,避免因總線抖動等干擾造成的非預期Ecu喚醒;

第二:如果使用的Transceiver沒有Pn功能,Ecu會因總線的擾動而不斷的喚醒,假設總線有應用報文沒有網絡管理報文,ValidateWakeup時間給0,Ecu將會不斷的走上下電流程,如果下電選擇OFF流程(實際項目中很多開發人員沒有開啟Reset流程的Operation,即直接冷啟動,這不符合autosar規范,也不安全),將會帶來未知問題(如果Ecu內核有一定時間內喚醒次數限制,超過閾值則可能上鎖保護),設置該參數可以有效的延遲Ecu喚醒頻率。


審核編輯:劉清

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

    關注

    33

    文章

    9520

    瀏覽量

    157021
  • 總線
    +關注

    關注

    10

    文章

    3040

    瀏覽量

    91660
  • AUTOSAR
    +關注

    關注

    10

    文章

    398

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    為什么串口接收數據就會觸發中斷

    為什么串口接收數據就會觸發中斷? 串口接收喚醒機制哪些注意事項?
    發表于 01-08 06:45

    請問低功耗喚醒的常用方式哪些?

    低功耗喚醒的常用方式哪些?
    發表于 01-05 06:02

    請問CW32微控制器是否具備低功耗模式以及具體的喚醒哪些?

    CW32微控制器是否具備低功耗模式以及具體的喚醒哪些?
    發表于 12-16 08:06

    什么是自動喚醒定時器

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

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

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

    系統從DeepSleep下喚醒時鐘默認為原時鐘,如果原時鐘頻率特別高,是否存在啟動不穩定問題?

    1.系統從DeepSleep下喚醒時鐘默認為原時鐘,如果原時鐘頻率特別高,是否存在啟動不穩定問題?這個地方目前有沒有需要特別注意的地方? 2. 一個獨立看門狗,正常初始化啟動IWDT,并且配置
    發表于 11-28 07:36

    請問如何合理設置這些喚醒條件?

    CW32A030 MCU支持從Sleep和DeepSleep模式通過外部中斷或實時時鐘喚醒。如何合理設置這些喚醒條件,以實現最佳的功耗和響應速度平衡
    發表于 11-26 06:59

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

    (此處可知MCU內部看門狗是可以使用LPRC低頻時鐘在睡眠模式下運行),亦或者外部復位或者內部復位事件發生等,這個現象就是喚醒事件。 這里一個特殊情況需要注意,當中斷和低功耗模式指令同時發生時,那么
    發表于 11-25 08:03

    AT32F系列 PWC待機喚醒喚醒Standby

    AT32F系列 PWC待機喚醒喚醒Standby 示例目的 演示AT32F系列 PWC待機喚醒喚醒Standby的使用方法。待機喚醒
    發表于 11-05 14:08

    SI3933低頻喚醒接收芯片概述與主要特性

    SI3933是一款三通道低功耗ASK接收機芯片,專為15kHz-150kHz低頻載波頻率檢測而設計。這款芯片的主要功能是檢測低頻數字信號并產生喚醒信號,廣泛應用于各種無線喚醒場景。 SI3933
    的頭像 發表于 10-13 09:27 ?252次閱讀
    SI3933低頻<b class='flag-5'>喚醒</b>接收芯片概述與主要特性

    pm組件進入低功耗不能喚醒是怎么回事?

    (進入低功耗前是20mA左右),但是現在lptime沒有喚醒。源碼里的程序是哪些需要修改的嗎?還是配置沒配置對?有知道的大佬,麻煩指導一下。
    發表于 09-12 06:04

    CST92F定時喚醒功能

    CST92F25寄存器操作說明書嗎?RTC怎配置定時喚醒功能?
    發表于 07-15 16:07

    求助,關于TLE9893 從stop模式喚醒問題求解

    我正在使用 TLE9893 的STOP模式以降低功耗,靠外部電平信號喚醒,希望2ms內能轉到Active模式,然后接收外部數據。我嘗試了兩種方案,好像都不正常。 一種是用P2端口下降沿信號,喚醒失敗
    發表于 07-14 07:39

    FS26和S32K3可以正常喚醒,當添加與SJA1110的通信時,喚醒過程會卡在斷言錯誤處,為什么?

    FS26 和 S32K3 可以正常喚醒,但當添加與 SJA1110 的通信時,喚醒過程會卡在斷言錯誤處: "GMAC_DEV_ASSERT((Bd-&gt;Des3
    發表于 04-14 08:02

    L9300無法喚醒是怎么回事?

    L9300無法喚醒,wake接5V到12V都試過,還是無法喚醒,VCP、Vdd1等電壓不正常。
    發表于 03-12 07:44