CPAUTOSAR中复杂驱动(CDD)的设计开发建议

原创 汽车电子与软件 2025-01-26 08:34
         

 

作者 | 不可说
出品 | 汽车电子与软件



#01
引  入
 
复杂驱动程序(CDD,CDD曾经是复杂设备驱动程序或复杂驱动程序的缩写,但不限于驱动程序)是未经 AUTOSAR 标准化的软件实体,可以通过 AUTOSAR 接口和/或基本软件模块 API 访问或访问。根据AUTOSAR 分层软件架构,CDD 是位于BSW层级的复杂驱动程序层中的特定模块,它与标准BSW 模块或RTE交互。

  • CDD可能需要与分层软件架构的模块进行接口连接交互

  • 分层软件架构的某个模块可能需要与CDD进行接口连接交互

  • CDD可能需要通过RTE与SWC进行接口交互


CDD在AUTOSAR软件架构中的层级

CDD的主要目标是使用特定的中断和/或复杂的微控制器外设、外部设备(通信收发器、ASIC等)直接访问微控制器,以执行复杂的传感器和执行器控制,从而满足特定的功能和时序要求。

此外,它还可以用于实现增强的服务/协议,或封装非AUTOSAR系统的遗留功能。CDD的实现可能依赖于应用程序、微控制器和ECU。
   
最后,CDD可以作为迁移机制,将现有或新的概念引入到AUTOSAR软件架构中。
        


#02
CDD设计建议

为了在AUTOSAR架构中接口和简化CDD集成,设计者应考虑以下几点。

用户手册  


为了简化集成过程并向客户提供充分的信息,CDD设计师应编制一份用户手册,内容涵盖以下方面:
         

 

1、CDD介绍与概述:

对CDD的基本概念、用途和重要性进行简要介绍。

2功能操作描述:

详细说明CDD的初始化、正常运行、关机以及故障处理等操作流程。

3、与其他BSW模块、SchM和RTE的关系与需求:

阐述CDD与BSW模块、调度管理器(SchM)和RTE之间的相互作用和依赖关系,例如从NvM获取内存块,以及需要配置的关键部分。

4、文件结构与依赖关系:

描述CDD相关文件的组织结构、文件间的依赖关系以及文件命名规范。

5、接口描述(包括服务):

列出CDD提供的接口(服务)名称、功能描述、重入性、参数(名称、类型、范围和值)、返回值(名称、类型、范围和值)以及配置类别。

6、非功能性需求描述: 
 
说明CDD的定时要求、行为要求、资源使用情况以及与其他BSW模块或SWC的交互行为。

7、Dem错误(可选Det错误)及调试变量描述:

描述CDD可能遇到的诊断错误(Dem)、可选的检测错误(Det)以及相关的调试变量。

8、配置参数描述:

列出CDD的配置参数名称、类型、范围和值,以便用户根据需求进行配置。

9、内存映射需求描述:

说明CDD对Flash和RAM等内存资源的需求。

10、使用限制与开放问题:

指出CDD在使用过程中可能遇到的限制条件以及当前尚未解决的问题。

11、集成约束与其他模块要求:

阐述CDD在集成到其他系统或模块时可能遇到的约束条件以及需要满足的要求。

12、示例:

提供具体的CDD使用示例,帮助用户更好地理解CDD的功能和使用方法。
         

 

这份用户手册旨在为用户提供全面而详细的CDD使用指南,确保用户能够正确、高效地集成和使用CDD。
         

 

实现  


在CDD的实施方面,AUTOSAR提出的约束较少,但至少包括以下几点:
         

 

1、遵守输入规范:

CDD必须遵守《General Requirements on Basic Software Modules AUTOSAR_CP_SRS_BSWGenera》、《Layered Software Architecture AUTOSAR_CP_EXP_LayeredSoftwareArchitecture》等输入规范。这意味着CDD的设计和实现必须基于这些规范进行,以确保其与其他AUTOSAR组件的兼容性和互操作性。   
         

 

2、保护关键资源:

CDD需要定义关键区域,这些区域可以通过SchM或OS机制进行处理,以保护其关键资源。这是为了确保在并发环境下,CDD的关键数据不会被意外修改或破坏。
         

 

3、管理模式:

CDD的模式可能由EcuM和BswM模块进行管理。这意味着EcuM和BswM可以监控和控制CDD的运行状态,以确保其按照预期工作。
         

 

4、内存处理:

CDD可以使用内存映射机制来处理其内存区域。这允许CDD更有效地管理其内存资源,确保数据的正确存储和访问。
         

 

5、错误报告:

CDD可以使用Det或Dem模块来报告其错误。这有助于及时发现和解决问题,提高系统的可靠性和稳定性。
         

 

通过遵守这些约束,可以确保CDD在复杂的车载系统中稳定运行,为车辆提供可靠的控制和诊断功能。
         

 

CDD文件  


代码文件

CDD模块的代码文件结构并非固定不变,除了需满足文档《General Requirements on Basic Software Modules》和文档《General Specification on Basic Software Modules》中的要求外。

至少,应提供一个名为CDD__Irq.c的文件。其中,代表具体的模块名称。

         

 

中断函数可以放置在名CDD__Irq.c的文件中。这样,与中断处理相关的代码可以集中管理,便于维护和调试。    
         

 

回调函数可以放置在名CDD__Callout.c的文件中。回调函数通常用于在特定事件发生时执行特定操作,将其单独放置在一个文件中有助于保持代码的清晰和模块化。
      

 

根据需求,链接时从配置生成的C对象可以放置在名为CDD__Lcfg.c的文件中。这些对象可能包括在链接阶段根据配置生成的静态数据或代码。
        

 

同样地,根据需求,构建后从配置生成的C对象可以放置在名为CDD__PBcfg.c的文件中。这些对象可能包括在构建后的某个阶段根据配置生成的额外数据或代码。
        

 

如果CDD模块的实现需要额外的代码文件,则可以自由地包含它们。这意味着CDD模块的代码结构具有一定的灵活性,可以根据具体需求和实现方式进行调整。
         

 

头文件

以下图示包含了CDD模块所定义的AUTOSAR头文件层次结构。CDD模块应提供一个头文件结构,这样,CDD模块的用户就只需包含CDD_.h文件即可。其中,代表具体的模块名称。    


CDD头文件层次结构

如果某些回调函数需要由其他BSW模块处理,CDD模块可能会提供一个
CDD__Cbk.h头文件。
         

 

根据需求,从配置中生成的C对象声明可能会被放置在
CDD__Cfg.hCDD__PBcfg.hCDD__Lcfg.h文件中。这些文件分别用于存储配置、构建后配置和链接时配置的相关信息。
         

 

如果CDD模块的实现需要额外的头文件,那么可以自由地包含它们。这些头文件是自包含的,即它们会包含所有它们自身所需要的其他头文件。
         

 

CDD模块可能会包含Det.h和Dem.h头文件来报告错误。这些头文件通常用于错误检测和报告机制。
         

 

如果某些内存映射区域需要定义,CDD模块可能会包含_MemMap.h头文件。其中,是模块实v现前缀。这个头文件用于定义内存映射的详细信息。
         

 

如果配置了与RTE的接口,CDD模块可能会包含Rte_CDD_.h头文件。这个头文件用于定义与RTE交互的接口和函数。    
         

 



#03
CDD的行为与接口描述

某些CDD不仅具有与其他BSW模块或集群的接口,还通过RTE具有可从应用SWC访问的更抽象的接口。
         

 

在这些情况下,需要一个CDD SWC类型来连接RTE,并且CDD应遵循文档《Basic Software Module Description Template》中的要求。
         

 

该描述文件应包含以下内容:

1、CDD服务描述:

对CDD所提供的服务进行描述,这些服务可能是数据处理、通信等。

2、类型和端口接口:

列出CDD所使用的数据类型和端口接口,这些接口定义了与其他组件的交互方式。

3、内部行为和可运行实体的描述:

描述CDD的内部逻辑和行为,以及可运行实体的状态和转换。

4、可运行实体所需触发事件的描述:

详细说明哪些事件会触发CDD中的可运行实体执行特定操作。

5、共享资源保护的独占区域描述:

描述CDD如何管理对共享资源的访问,以避免冲突和数据损坏。

6、内存映射:

提供CDD在内存中的布局和地址分配信息。
         

 

   
这里所需的更抽象的接口被称为AUTOSAR接口,它们通过软件组件模板(SWCT)进行描述,由端口、端口接口及其进一步详细信息组成。
         


#04
小  结

首先,CDD模块作为AUTOSAR中的一个软件实例,虽然未被AUTOSAR标准化,但也要遵循相应的模板规范和设计开发建议。
         

 

其次,文档是CDD开发过程中不可或缺的一部分。开发者需要提供详细的用户手册,包括CDD的介绍、功能描述、与其他模块的依赖关系、接口描述、非功能性需求以及配置参数等信息。这些文档将有助于简化客户集成工作,并提供必要的信息以支持后续的开发和维护。
         

 

在接口设计方面,CDD可能需要与其他BSW模块、库以及标准模块接口进行交互。因此,开发者需要确保CDD的接口设计符合AUTOSAR标准,并能够与其他模块进行无缝连接。此外,对于需要通过RTE访问的抽象接口,开发者还需要遵循相应的文档要求,并确保CDD SWC类型与RTE的兼容性。
         

 

在内部行为和接口描述方面,开发者需要清晰地定义CDD的内部逻辑和行为,以及可运行实体的状态和转换。这将有助于确保CDD的正确性和可靠性,并为其他开发者提供清晰的参考。
         

 

最后,开发者还需要遵循AUTOSAR的相关文档和规范,以确保CDD的开发过程符合标准要求。这包括但不限于AUTOSAR分层软件架构、基础软件模块一般要求、基础软件模块规范等文档。   



/ END /


    

 

    

汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论
  • 项目展示①正面、反面②左侧、右侧项目源码:https://mbb.eet-china.com/download/316656.html前言为什么想到要做这个小玩意呢,作为一个死宅,懒得看手机,但又想要抬头就能看见时间和天气信息,于是就做个这么个小东西,放在示波器上面正好(示波器外壳有个小槽,刚好可以卡住)功能主要有,获取国家气象局的天气信息,还有实时的温湿度,主控采用ESP32,所以后续还可以开放更多奇奇怪怪的功能,比如油价信息、股票信息之类的,反正能联网可操作性就大多了原理图、PCB、面板设计
    小恶魔owo 2025-01-25 22:09 171浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 300浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 197浏览
  • 飞凌嵌入式基于瑞芯微RK3562系列处理器打造的FET3562J-C全国产核心板,是一款专为工业自动化及消费类电子设备设计的产品,凭借其强大的功能和灵活性,自上市以来得到了各行业客户的广泛关注。本文将详细介绍如何启动并测试RK3562J处理器的MCU,通过实际操作步骤,帮助各位工程师朋友更好地了解这款芯片。1、RK3562J处理器概述RK3562J处理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架构。其中,4个Cortex-A53核心作为主要核心,负责处理复杂
    飞凌嵌入式 2025-01-24 11:21 168浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 827浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 227浏览
  • 书接上回:【2022年终总结】阳光总在风雨后,启航2023-面包板社区  https://mbb.eet-china.com/blog/468701-438244.html 总结2019,松山湖有个欧洲小镇-面包板社区  https://mbb.eet-china.com/blog/468701-413397.html        2025年该是总结下2024年的喜怒哀乐,有个好的开始,才能更好的面对2025年即将
    liweicheng 2025-01-24 23:18 140浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 1031浏览
  • 前篇文章中『服务器散热效能不佳有解吗?』提到气冷式的服务器其散热效能对于系统稳定度是非常重要的关键因素,同时也说明了百佳泰对于散热效能能提供的协助与服务。本篇将为您延伸说明我们如何进行评估,同时也会举例在测试过程中发现的问题及改善后的数据。AI服务器的散热架构三大重点:GPU导风罩:尝试不同的GPU导风罩架构,用以集中服务器进风量,加强对GPU的降温效果。GPU托盘:改动GPU托盘架构,验证出风面积大小对GPU散热的影想程度。CPU导风罩:尝试封闭CPU导风罩间隙,集中风流,验证CPU降温效果。
    百佳泰测试实验室 2025-01-24 16:58 67浏览
  • 不让汽车专美于前,近年来哈雷(Harley-Davidson)和本田(Honda)等大型重型机车大厂的旗下车款皆已陆续配备车载娱乐系统与语音助理,在路上也有越来越多的普通机车车主开始使用安全帽麦克风,在骑车时透过蓝牙连线执行语音搜寻地点导航、音乐播放控制或免持拨打接听电话等各种「机车语音助理」功能。客户背景与面临的挑战以本次分享的客户个案为例,该客户是一个跨国车用语音软件供货商,过往是与车厂合作开发前装车机为主,且有着多年的「汽车语音助理」产品经验。由于客户这次是首度跨足「机车语音助理」产品,因
    百佳泰测试实验室 2025-01-24 17:00 85浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 165浏览
  • 随着AI大模型训练和推理对计算能力的需求呈指数级增长,AI数据中心的网络带宽需求大幅提升,推动了高速光模块的发展。光模块作为数据中心和高性能计算系统中的关键器件,主要用于提供高速和大容量的数据传输服务。 光模块提升带宽的方法有两种:1)提高每个通道的比特速率,如直接提升波特率,或者保持波特率不变,使用复杂的调制解调方式(如PAM4);2)增加通道数,如提升并行光纤数量,或采用波分复用(CWDM、LWDM)。按照传输模式,光模块可分为并行和波分两种类型,其中并行方案主要应用在中短距传输场景中成本
    hycsystembella 2025-01-25 17:24 119浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦