在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

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

冬至子 ? 來源:汽車電子與軟件 ? 作者:踐行者 ? 2023-11-22 10:57 ? 次閱讀

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, CDD * *PBcfg.h, CDD * *Lcfg.h 文件中。

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

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

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

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

推薦的文件結構

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

image.png

一致性檢查

復雜驅動模塊應避免集成不兼容的(.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 模塊
  • 多核系統
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7659

    瀏覽量

    152184
  • 收發器
    +關注

    關注

    10

    文章

    3474

    瀏覽量

    106282
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1369

    瀏覽量

    115065
  • AUTOSAR
    +關注

    關注

    10

    文章

    363

    瀏覽量

    21801
  • BSW
    BSW
    +關注

    關注

    0

    文章

    15

    瀏覽量

    3527
收藏 人收藏

    評論

    相關推薦

    如何將F-RAM?添加到現有的PSoC? Creator項目?

    ?Creator 添加 的示例。所有示例似乎都使用了 Modus 工具箱。是否有任何文檔顯示如何將F-RAM?添加到現有的PSoC? Creator 項目?
    發表于 03-01 12:14

    Autosar軟件開發技術概述

    AUTOSAR這個架構有利于車輛電子系統軟件的交換與更新,并為高效管理愈來愈復雜的車輛電子、軟件系統提供了一個基礎。此外,
    發表于 12-26 10:34

    【設計技巧】基于AUTOSAR的電機驅動系統報告

    AUTOSAR 代表的層次化、模塊化、平臺化技術則是汽車電子軟件開發的重要趨勢。在電動汽車的三大電控系統(電機控制、電池管理、整車控制),電機控制作為核心之一,其軟件
    發表于 07-27 08:00

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

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

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

    AUTOSAR架構深度解析本文轉載于:AUTOSAR架構深度解析AUTOSAR的分層式設計,用于支持完整的
    發表于 07-28 07:02

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

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

    如何將現有的bin文件燒寫到外部的flash

    如何將現有的bin文件燒寫到外部的flash
    發表于 06-25 08:37

    AUTOSAR軟件架構(二)

    章節回顧AUTOSAR軟件架構(一)描述了以下內容:Application Layer應用層Runtime Environment (RTE)運行時環境Basic Software
    發表于 11-26 16:36 ?20次下載
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>軟件</b><b class='flag-5'>架構</b>(二)

    AUTOSAR軟件架構概述

    文章目錄一、總概述1 為什么使用AUTOSAR?1.1 AUTOSAR出現之前的行業現狀1.2 AUTOSAR出現之后可以實現如下目標2、AUTOSAR總概述二、各層分別概述1、BSW
    發表于 11-26 17:06 ?127次下載
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>軟件</b><b class='flag-5'>架構</b>概述

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

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

    討論AUTOSAR方法軟件組件的概念

    SW-C描述是通過AUTOSAR編寫工具生成的,或者使用文本編輯器手動編寫。.arxml 文件將由描述軟件組件的標準 AUTOSAR XML 標簽組成。
    的頭像 發表于 09-08 17:43 ?1373次閱讀

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

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

    AUTOSAR CP的復雜驅動是什么

    、ASIC等,以滿足特殊的功能和時序要求。此外,CDD還可以用于實現增強的服務/協議封裝非AUTOSAR系統的傳統功能。CDD的實現可能與應用、微控制器和ECU有關。最后,CDD可以作為引入
    的頭像 發表于 10-27 15:39 ?2352次閱讀
    <b class='flag-5'>AUTOSAR</b> CP的<b class='flag-5'>復雜</b><b class='flag-5'>驅動</b>是什么

    AUTOSAR架構復雜驅動設計

    復雜驅動(Complex Driver,CDD)是一種不受 AUTOSAR 標準化約束的軟件實體,它可以通過 AUTOSAR 接口和/
    的頭像 發表于 12-21 10:13 ?4890次閱讀
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架構</b><b class='flag-5'>中</b><b class='flag-5'>復雜</b><b class='flag-5'>驅動</b>設計

    AUTOSAR架構下,持續集成CI的最佳實踐

    隨著汽車電子技術的快速發展,汽車軟件復雜性與日俱增,如何確保軟件開發的高效性與穩定性成為了一個關鍵問題。為了解決這個問題,許多汽車企業和供應商逐漸引入
    的頭像 發表于 10-24 08:06 ?579次閱讀
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架構</b>下,持續集成CI的最佳實踐
    主站蜘蛛池模板: 五月婷婷色视频 | 她也啪97在线视频 | 在线成人看片 | 97综合色| 成人午夜精品久久久久久久小说 | 久久国产精品永久免费网站 | 奇米四色7777 | 在线观看免费视频资源 | 成年美女黄网站色大免费视频 | 三级视频网站 | 亚洲一区二区影视 | 国产精品美乳在线观看 | 妇女交性大片 | 一级毛片一级毛片一级级毛片 | 免费网站你懂得 | 国产高清片 | 国产精品女人在线观看 | 97超频国产在线公开免费视频 | 无人区理论片手机看片 | 色午夜影院| 在线观看黄日本高清视频 | 午夜cao | 天天干夜夜拍 | 国产精品第九页 | 久久久久久亚洲精品 | 色视频在线 | 四虎影院永久免费 | 精品色综合 | 日本在线不卡免 | 日本黄色影片在线观看 | bt种子在线www天堂官网 | 制服丝袜在线一区 | 免费任我爽橹视频在线观看 | 在线天堂中文www官网 | 插白浆 | 成人a在线观看 | 午夜高清在线 | 久久999| 欧美最猛黑人xxxx黑人猛交黄 | 在线天堂中文新版有限公司 | 性视频亚洲 |