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

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

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

3天內不再提示

AUTOSAR架構中復雜驅動設計

汽車ECU開發 ? 來源: 汽車電子與軟件 ? 2023-12-21 10:13 ? 次閱讀

CDD 簡介

復雜驅動(Complex Driver,CDD)是一種不受 AUTOSAR 標準化約束的軟件實體,它可以通過 AUTOSAR 接口和/或基礎軟件模塊 API 進行訪問 AUTOSAR 組件或者被 AUTOSAR 組件訪問。

根據 AUTOSAR 的分層軟件架構文檔,復雜驅動是基礎軟件復雜驅動層的一種特定模塊,它與標準 BSW 模塊或 RTE 進行交互。

復雜驅動的主要目的是利用特定的中斷和/或復雜的微控制器外設、外部設備(通信收發器、ASIC 等)實現復雜的傳感器評估和執行器控制,以滿足特殊的功能和時序要求。

此外,它還可以用于實現增強的服務/協議或封裝非 AUTOSAR 系統的功能。復雜驅動的實現可能依賴于具體的應用、微控制器和 ECU。

復雜驅動可以作為一種遷移機制,將現有的或新的概念引入 AUTOSAR 軟件架構。

復雜驅動設計建議

為了便于復雜驅動與 AUTOSAR 架構互聯互通,設計者應考慮以下要點:

文檔

用戶手冊

復雜驅動的提供商應提供用戶手冊,以方便集成和為客戶提供信息:

復雜驅動簡介和概述

描述功能操作(初始化、正常操作、關閉、故障操作等)

描述與其他 BSW 模塊、SchM 和 Rte 的關系及需求;例如需要從 NvM 獲取內存塊,需要配置的關鍵區段等

文件結構和依賴關系

接口描述(包括服務):名稱、描述、重入性、參數(名稱、類型、范圍、值)、返回值(名稱、類型、范圍、值)、配置類

非功能需求描述:時序和行為需求、資源使用情況、與其他 BSW 模塊或 SW-C 的行為等

Dem 錯誤描述,可選的 Det 錯誤,調試變量

配置參數描述(名稱、類型、范圍、值)

內存映射需求(Flash、RAM

使用限制和已知問題

集成約束和對其他模塊的需求

示例

模塊 ID

復雜驅動模塊的模塊 ID 范圍在 BSW 模塊列表文檔中進行了描述。

實現

AUTOSAR 對復雜驅動實現沒有太多限制。至少:

復雜驅動應遵循基礎軟件模塊的一般要求、規范等文檔的輸入規范。

復雜驅動應定義關鍵區段以便由 SchM 或 OS 機制處理。

復雜驅動的模式可由 EcuM 和 BswM 模塊管理。

復雜驅動可以使用內存映射機制處理其內存區段。

復雜驅動可以使用 Det 或 Dem 模塊報告錯誤。

CDD文件

代碼文件

除了基礎軟件模塊的一般要求文檔中的要求外,復雜驅動模塊的代碼文件結構不是固定的。

至少應提供 CDD_.c。中斷函數可放在 CDD_Irq.c 中?;卣{函數可放在 CDDCallout.c 中。根據需要,鏈接時從配置生成的 C 對象可放在 CDD_Lcfg.c 文件中。

根據需要,構建后從配置生成的 C 對象可放在 CDD__PBcfg.c 文件中。

如果復雜驅動模塊實現需要額外的代碼文件,可以自由包含它們。

頭文件

下圖包含了復雜驅動模塊的 AUTOSAR 定義的頭文件層次結構。

復雜驅動模塊應提供一個頭文件結構,以便只需要包含 CDD_.h 文件就可以使用該模塊。

如果需要由其他 BSW 模塊處理某些回調函數,復雜驅動模塊可以提供 CDD__Cbk.h 頭文件。

根據需要,配置生成的 C 對象聲明可放在 CDD_Cfg.h, CDDPBcfg.h, CDD_Lcfg.h 文件中。

如果復雜驅動模塊實現需要額外的頭文件,可以自由包含它們。頭文件應該是自包含的,即它們將包含所需的其他所有頭文件。

復雜驅動模塊可以包含 Det.h 和/或 Dem.h 頭文件來報告錯誤。

如果需要定義某些內存映射區域,復雜驅動模塊可以包含_MemMap.h 頭文件,其中是模塊實現前綴。

如果配置了與 RTE 的接口,復雜驅動模塊可以包含 Rte_CDD_.h 頭文件。

推薦的文件結構

下圖描述了復雜驅動模塊的基本定義的 AUTOSAR 頭文件層次結構。

wKgaomWDnzuAQQC7AADRj62sXMo459.jpg

一致性檢查

復雜驅動模塊應避免集成不兼容的(.c 或.h)文件,如基礎軟件模塊通用規范中所定義的。

行為和接口描述

一些復雜驅動不僅與其他 BSW 模塊或組件有接口,還通過 RTE 具有更抽象的接口可以被應用 SW-C 訪問。

在這些情況下,需要一個 CDD SW-C 類型來連接 RTE 和復雜驅動,并且復雜驅動必須遵循 BSW 模塊描述模板的要求。

這個描述文件應包含:

復雜驅動服務的描述

類型和端口接口

內部行為及可運行實體的描述

可運行實體所需的觸發事件描述

共享資源保護的互斥區描述

內存映射

這里需要的更抽象接口稱為 AUTOSAR 接口,它們通過軟件組件模板(SWCT)進行描述,包括端口、端口接口及其詳細信息。

用于描述這些元素的 SWCT 的基類是 ComplexDeviceDriverSwComponentType。

SWCT 中還包含稱為 RunnableEntities 的可運行實體,用于對從 RTE 調用復雜驅動的函數建模。用于描述 RunnableEntities(和其他一些東西)的 SWCT 的基類稱為 SwcInternalBehavior。

CDD 可運行實體應設計為減少 RTE 開銷,例如:

推薦服務器可運行實體為可重入的:可以同時調用 = TRUE。

可運行實體簽名為:void 或 StdReturnType RunnableName(void 或參數)

參數配置

如果需要使用 AUTOSAR GCE 配置參數,復雜驅動必須遵循 ECU 配置規范。

至少:

配置文件應通過 AUTOSAR 和軟件版本標識模塊。

對于生產階段,不應包含 Det,因此需要在配置中參數以禁用錯誤報告。

與其他模塊對接

與 RTE 和 SW-C 的對接

復雜驅動可能需要通過 RTE 與 SW-C 對接:

應按 AUTOSAR 規定指定和實現所需的端口和接口(AUTOSAR 接口)。

在某些情況下,復雜驅動必須使用 RTE 定義的某些端口特定參數。

與庫的對接

復雜驅動可以使用 AUTOSAR 庫。

例如:復雜驅動可以使用 E2E 庫機制傳輸防止數據損壞或丟失的通信保護。

與標準 BSW 模塊對接

復雜驅動可能需要與分層軟件架構中的其他模塊對接,或者分層軟件架構的模塊可能需要與復雜驅動對接。如果是這種情況,適用以下建議:

BSW 到 CDD 的接口

復雜驅動應提供可以由訪問的 AUTOSAR 模塊一般配置的接口。一個典型例子是 PDU 路由:復雜驅動可以實現新總線系統的接口模塊。

CDD 到 BSW 的接口

復雜驅動要 AUTOSAR BSW 的模塊,只有在相關的分層軟件架構模塊提供接口,并準備被復雜驅動訪問時才被允許。

復雜驅動應提供滿足依賴該信息的其他 AUTOSAR 模塊所需的所有配置參數,例如如果調用 Dem 來報告生產錯誤,則必須根據 Dem 錯誤代碼定義的配置標準在復雜驅動配置中定義并引用 Dem 錯誤代碼。

與 MCAL 模塊的接口

復雜驅動可以直接訪問微控制器資源(例如硬件計時器)。如果所需的資源由 MCAL 模塊管理,并且沒有特定的約束(例如實時需求)。在這種情況下,復雜驅動應使用 MCAL 模塊的標準 API 訪問 MCAL 模塊。

與 BswM、EcuM 的接口

如果使用了 ECU 狀態管理,則 ECU 模式管理和 BSW 模式管理應該是模式管理的唯一訪問點。

在以下情況下應使用 ECU 狀態管理:

Init 和 De-Init 函數應由 EcuM 和/或 BswM 模塊專屬調用。

如果復雜驅動處理喚醒源,它必須遵循 ECU 狀態管理規范中指定的處理喚醒事件的協議。

在以下情況下應使用 BSW 模式管理:

復雜驅動模式更改管理

BswM(在主核上)確定 ECU 應關閉并向每個核分發適當的模式切換。從核上的復雜驅動必須捕獲此模式切換,適當地取消初始化并向 BswM 發送適當的信號以指示其準備情況。

與內存的接口

如果內存僅由復雜驅動管理,則可以直接訪問 NVRAM 之外的內存。如果復雜驅動使用標準內存堆棧,則 NVRAM 管理是內存堆棧的唯一訪問點:復雜驅動應使用 NVM API 訪問內存。

看門狗的接口

看門狗可以監視一個或多個復雜驅動可運行實體的執行作為受監督實體。應按照看門狗管理規范所述進行配置,并且復雜驅動可運行實體應調用看門狗 API。

看門狗管理是獨占看門狗堆棧的訪問點。復雜驅動不應直接與看門狗管理交互,而應通過 RTE 定義的端口。

與通信協議棧的接口

復雜驅動可通過以下方式與通信協議棧交互:

可以與 PDU 路由模塊來處理 IPDU。

可以與接口交互。

可以與 NM 模塊交互。

可以與 TcpIp 模塊交互。

可以直接與 Com 模塊交互,因為可以有信號接口。

一般來說,不適合混合使用上述方式,即同時使用 PduR 訪問和 Com 訪問或接口。處理通信并可能觸發 PDU 傳輸的復雜驅動應提供啟用/禁用傳輸的 API。

與 PduR 的接口

PduR 是與通信堆棧對接以傳輸 IPDU 的總線和協議獨立的訪問點。復雜驅動應使用 PduR 模塊的標準 API 訪問 IPDU。當復雜驅動與 PduR 交互時,應在 PduR 內為每個復雜驅動配置一個容器。

與Interface 模塊的接口

接口模塊是與通信堆棧對接的總線特定訪問點。

當復雜驅動與接口交互時,復雜驅動使用為接口定義的訪問函數,并且應根據復雜驅動的需求配置接口回調。接口應配置包含 CDD__Cbk.h 頭文件。

與 Com 模塊的接口

如果復雜驅動處理 Com 信號,則應使用 Com 模塊的標準 API 或 RTE 定義來訪問信號。

請參考通信規范以獲取更多詳細信息。

與 ComM 模塊對接

如果復雜驅動使用 Com 信號,則應使用 Com 管理的標準 API 請求“通信模式”。

如果復雜驅動處理非 AUTOSAR 標準的,則狀態應由 ComM 處理以協調總線通信堆棧。

與網絡管理接口模塊的接口

如果復雜驅動處理非 AUTOSAR 標準的,則狀態應由Nm_CDD 模塊處理。

Nm_CDD 應向網絡管理提供服務來管理狀態。

與 TCP/IP 模塊對接

TcpIp 模塊是套接字為基礎與通信堆棧對接的獨占訪問點。

復雜驅動應使用 TCP/IP 模塊的標準 API 訪問套接字。

與 XCP 模塊對接

如果復雜驅動處理非 AUTOSAR 標準的,XCP 可以接口_CDD 來轉發數據。

XCP 模塊提供可由復雜驅動使用的可配置接口:

:API 請求通過 CDD 發送 PDU

:API 確認 PDU 的成功傳輸

:CDD 調用的 API 指示成功接收 LPDU。

必須激活 XCP 模塊的 XcpOnCddEnabled 參數以允許復雜驅動功能。如果需要,復雜驅動可以調用回調函數 Xcp_RxIndication。

與診斷日志和跟蹤對接

如果復雜驅動處理非 AUTOSAR 標準的,Dlt 可以接口_CDD 來轉發數據。

Dlt 將數據轉發給 Dcm 或使用串行接口的復雜驅動等。

Dlt 沒有定義特定的通信接口。Dlt 規范定義了一個內部 Dlt 通信模塊的 API。由實現者決定如何實現此通信模塊及其如何與可能的復雜驅動通信(例如串行或 USB)。

與默認錯誤跟蹤器和診斷事件管理對接

復雜驅動應使用 Det、Dem 報告錯誤,如 AUTOSAR 標準錯誤描述文檔中所述。

復雜驅動應使用 Det 和 Dem 模塊的標準 API。

復雜驅動應像任何 BSW 模塊一樣反應。錯誤 ID 應在復雜驅動模塊內部定義。復雜驅動負責發起內部恢復。

注意:對 Det 的調用可以使用模塊 ID 和/或實例 ID 參數來區分不同的復雜驅動。

與 OS 對接

通常,只有 BSW 調度程序和 RTE 可以使用 OS 對象或 OS 服務。因此,復雜驅動只能訪問 GetCounterValue 和 GetElapsedCounterValue 服務。

如果用于的 OS 對象未被另一個 BSW 模塊使用,則復雜驅動可以訪問 OS,例如,復雜驅動可以創建一個 OS 警報并使用它。

OS 可以通過 OsRestartTask 通知復雜驅動 OS 應用程序已被終止并重新啟動。然后,復雜驅動將采取適當的清理操作。

與同步時間基管理模塊對接

如果復雜驅動模塊實現用戶定義的時間基提供者,即如果它處理全局時間同步消息,則復雜驅動模塊應使用 StbM 模塊 API:

StbM_GetCurrentTime 讀取 StbM 的最新時間基準值

StbM_GetCurrentTimeRaw、StbM_GetCurrentTimeDiff 計算時間基準值更新

StbM_BusSetGlobalTime 將在總線上接收到的時間基準值轉發到 StbM

此接口當前僅限于不帶硬件時間戳的時間基提供者。請參閱同步時間基管理規范以獲取有關 API 的詳細信息。全局時間同步的復雜驅動模塊配置的相關詳細信息由配置中的容器 CddGlobalTimeContribution 指定。

多核系統中的復雜驅動

在多核架構的情況下,復雜驅動可以在任何核上運行,同時遵守以下規則:

跨分區和跨核是允許的,但要使用主/從實現(參考 BSW 分配指南)。

因此,如果復雜驅動需要訪問 BSW 的標準化接口,它需要駐留在同一核上。

如果復雜驅動駐留在不同的核上,它可以使用普通端口機制訪問 AUTOSAR 接口和標準化的 AUTOSAR 接口。這將調用 RTE,RTE 使用操作系統的 IOC 機制將請求傳輸到其他核。

但是,如果復雜驅動需要訪問 BSW 的標準化接口且不駐留在同一核上:

需提供標準化接口并將調用轉發到其他核

或者復雜驅動的 Stub 部分需要在其他核上實現,并且需要使用操作系統的 IOC 機制進行本地通信。

MCAL 的復雜驅動模塊

可以執行微控制器驅動器的復雜驅動,但它不能訪問其他標準模塊,因為它在較低的層中,除了 Det、Dem、SchM 等。

一般來說,如果對特定層施加了一些限制,這也適用于復雜驅動。

注意事項

文檔化

提供用戶手冊

定義模塊 ID

實現

遵循基礎軟件模塊規范

定義關鍵區段

模式管理

內存映射

錯誤報告

代碼結構

提供代碼文件

提供頭文件

檢查一致性

接口定義

定義行為和接口

配置參數

模塊關系

RTE 和 SW-C

標準 BSW 模塊

多核系統

審核編輯:湯梓紅

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

    關注

    10

    文章

    3624

    瀏覽量

    107338
  • asic
    +關注

    關注

    34

    文章

    1242

    瀏覽量

    121960
  • 接口
    +關注

    關注

    33

    文章

    8932

    瀏覽量

    153175
  • AUTOSAR
    +關注

    關注

    10

    文章

    371

    瀏覽量

    22385

原文標題:復雜驅動應如何集成到 AUTOSAR 架構中?

文章出處:【微信號:eng2mot,微信公眾號:汽車ECU開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    復雜驅動如何將現有的或新的概念引入AUTOSAR軟件架構的?

    復雜驅動(Complex Driver,CDD)是一種不受 AUTOSAR 標準化約束的軟件實體,它可以通過 AUTOSAR 接口和/或基礎軟件模塊 API 進行訪問
    的頭像 發表于 11-22 10:57 ?2000次閱讀
    <b class='flag-5'>復雜</b><b class='flag-5'>驅動</b>如何將現有的或新的概念引入<b class='flag-5'>AUTOSAR</b>軟件<b class='flag-5'>架構</b><b class='flag-5'>中</b>的?

    AUTOSAR MCAL驅動程序與演示程序的Libraries驅動程序有什么不同之處?

    1.關于 AUTOSAR MCAL 驅動程序 與演示程序的 Libraries 驅動程序 有什么不同之處? 2.
    發表于 05-17 06:55

    AUTOSAR分層架構

    AUTOSAR分層架構
    發表于 09-26 11:12

    Autosar軟件開發技術概述

    AUTOSAR這個架構有利于車輛電子系統軟件的交換與更新,并為高效管理愈來愈復雜的車輛電子、軟件系統提供了一個基礎。此外,AUTOSAR在確保產品及服務質量的同時,提高了成本效率。寶
    發表于 12-26 10:34

    功能安全---AUTOSAR架構深度解析 精選資料分享

    AUTOSAR架構深度解析本文轉載于:AUTOSAR架構深度解析AUTOSAR的分層式設計,用于支持完整的軟件和硬件模塊的獨立性(Indep
    發表于 07-23 08:34

    AUTOSAR架構深度解析 精選資料推薦

    AUTOSAR架構深度解析本文轉載于:AUTOSAR架構深度解析目錄AUTOSAR架構深度解析
    發表于 07-28 07:40

    AUTOSAR架構深度解析 精選資料分享

    AUTOSAR架構深度解析本文轉載于:AUTOSAR架構深度解析AUTOSAR的分層式設計,用于支持完整的軟件和硬件模塊的獨立性(Indep
    發表于 07-28 07:02

    關于AUTOSAR架構的知識點看完你就懂了

    關于AUTOSAR架構的知識點看完你就懂了
    發表于 10-18 07:41

    AUTOSAR軟件架構是由哪些部分組成的

    章節回顧AUTOSAR軟件架構(一)描述了以下內容:Application Layer應用層Runtime Environment (RTE)運行時環境Basic Software (BSW
    發表于 12-09 07:30

    AUTOSAR分層架構介紹及SmartSAR studio使用總結

    AUTOSAR分層架構
    發表于 03-28 16:44 ?11次下載

    一種AUTOSAR軟件架構RTE的實現方法

    介紹了一種AUTOSAR軟件架構RTE的實現方法。
    發表于 07-13 16:02 ?7次下載

    AUTOSAR是什么?AUTOSAR軟件架構簡介

    AUTOSAR的全稱是AUTomotive Open System Architecture,直譯為汽車開放系統架構
    的頭像 發表于 07-08 17:26 ?1.4w次閱讀
    <b class='flag-5'>AUTOSAR</b>是什么?<b class='flag-5'>AUTOSAR</b>軟件<b class='flag-5'>架構</b>簡介

    基于Tricore芯片的AUTOSAR架構下的多核啟動

    隨著汽車ECU迅速的往域控制器方向發展,ECU要出來任務越來越多,單核CPU的負載越來越大,多核ECU勢在必行。AUTOSAR架構下OS支持多核處理,本系列文章將詳細介紹AUTOSAR架構
    的頭像 發表于 10-23 10:15 ?4637次閱讀
    基于Tricore芯片的<b class='flag-5'>AUTOSAR</b><b class='flag-5'>架構</b>下的多核啟動

    AUTOSAR架構自適應平臺

    AUTOSAR架構 AUTOSAR(AUTomotive Open System ARchitecture)是一種開放的汽車電子系統架構,旨在提供一種標準化的方法來開發和管理汽車電子系
    的頭像 發表于 10-27 15:23 ?1572次閱讀
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架構</b>自適應平臺

    AUTOSAR CP的復雜驅動是什么

    復雜驅動(CDD) AUTOSAR CP的復雜驅動(CDD)是為了實現復雜的傳感器評估和執行器控
    的頭像 發表于 10-27 15:39 ?2717次閱讀
    <b class='flag-5'>AUTOSAR</b> CP的<b class='flag-5'>復雜</b><b class='flag-5'>驅動</b>是什么