Autosar软件架构

2023-11-15

软件架构

应用层通过 Simulink模型实现,模型的代码生成使用统一配置脚本;底层软件模块满足AUTOSAR 4.2.1标准要求,其软件架构如下图所示:

软件架构

2.2.2 Com通信模块配置

BCU通过唤醒信号控制相应CAN消息的通信使能(交流、直流帧)

RTE将应用层SWC信号转化为通信信号(Com Signals),并通过Com, PduR, CanIf, Can driver之间的标准接口函数实现CAN信号收发。

Com通信示意

BCU共实现3路CAN通信,均支持COM信号抽象:快充CAN使用扩展帧,支持J1939协议,速率250kbps;整车CAN使用普通帧,支持UDS通信协议,速率500kbps;本地CAN使用普通帧,支持XCP on CAN协议,速率500kbps;

每个CAN通道均支持Busoff检测,并通过软件尝试自恢复;检测周期为10ms(TBD),连续检测10(TBD)次失效后报出Busoff故障码,并以200ms(TBD)周期进行恢复尝试;

通信信号属性参照DBC文件定义进行配置;

接收信号支持超时检测,若DBC未定义超时时间(超时时间为0),则默认为信号周期的2.5倍;

接收信号支持首次超时检测,若DBC未定义首次超时时间(首次超时时间为0),则默认为500ms(TBD);

发送信号支持周期发送模式与单次触发发送模式,其他发送模式通过软件控制单次触发发送模式来实现;

所有通信帧均通过PduR进行逻辑映射,普通信号帧映射到Com模块,协议帧映射到相关模块处理;

快充相关协议帧(BCP,BRM,BCS)通过J1939Tp处理;

诊断相关协议帧(FunctionalReq,PhysicalReq,Response)通过CanTp模块处理;

标定相关协议帧(Command,Response,DAQ)通过XCP模块处理;

协议帧禁止重复映射到Com模块;

Can_MainFunction_Write调度周期为5ms;Can_MainFunction_Read调度周期为5ms;Can_MainFunction_Mode调度周期为5ms;Can_MainFunction_BusOff调度周期为5ms;CanIf_MainFunction调度周期为5ms;Cantrcv_MainFunction调度周期为5ms;其他通信模块MainFunction调度周期为10ms;

将每一路通信的发送帧与接收帧分别组合为TxPDU group和RxPDU group,通过软件使能/禁止group行为来控制信号的发送与接收;

2.2.3 RamTest自检模块配置

RAM自检模块示意如下

自检模块

RAM test 覆盖率99%

通过后台运行方式对Ram进行分块自检

2.2.4软件初始化

在Startup Code中初始化镜像核校验功能

Main函数中调用EcuM_Init()开始初始化

具体软件流程如下

软件流程

2.2.5 NvM存储模块配置

应用层SWC通过NvData模块统一管理所有的存储数据。NvData为各个存储块配置相应的Ram镜像,并通过NvM services实现对Flash物理存储块的读写操作。

NvM存储模块

通过flash区域0x800000~0x9FFFFF模拟EEP数据存储功能,每32Byte为一个逻辑页;

使用Class 3 NvM进行数据存储管理;

NvM逻辑存储页与应用层交互接口包括:读服务,写服务,重置服务,状态查询服务,单存储块操作结束回调函数,多存储块操作结束回调函数;

按照以下描述划分逻辑存储分区:

NVM配置区域,AUTOSAR预留,使用冗余存储模式(reduntant block),不开放应用层接口;

物流数据区域,存放OEM相关数据,使用本地存储模式(native block),异步存储方式;

软件版本记录区域,存放刷写软件的版本号记录,使用本地存储模式(native block),异步存储方式;

应用数据区域,存放应用数据,使用冗余存储模式(redundant block),异步存储方式;

故障码存储区域,存放故障码,使用本地存储模式(native block),立即存储方式;

故障信息存储区域,存放故障码冻结信息,使用本地存储模式(native block),立即存储方式;

2.2.6 OS&RTE操作系统配置

模块接口关系参考软件流程图

OS任务包括:BswTask,EventTask,SignalProcTask ,AppTask, AsilATask,AsilBTask,AsilDTask,AsilCTask等六个任务,其中EventTask为扩展任务,其他任务均为基础任务;

任务优先级为EventTask > SignalProcTask >AsilCTask> AsilBTask > AsilATask > AppTask> BswTask;

为每个任务配置不同等级的Application,并针对Application进行内存保护

OS计数器tick时钟为0.5ms;

通过RTE配置最小调度单元的时间偏移来实现最小调度单元的有序运行;

BswTask被打断时间不超过5ms

每个任务的单次运行时间不超过2ms

2.2.7 XCP配置

BCU为slave端,slave ID 为XXX,master ID 为XXX;

通过动态DAQ观测软件变量,设置10ms,50ms,1s(TBD)三个事件周期;

通过initial RAM方法进行在线标定,由RTE计算地址偏移;

2.2.8 DCM&DEM诊断模块配置

Dcm主要负责与上位机的诊断通信,Dem主要负责DTC的记录和管理。应用层Diag模块与Dem交互,管理当前的DTC状态。Dcm通过Dem提取DTC信息并传递给上位机。

DCM&DEM

参照Cdd诊断配置文件要求

2.2.9 BCU Abstraction

BCU Abstraction是针对BCU的硬件接口抽象模块,它的作用是将硬件物理信号转换成应用层软件需要的数据信号。包括AD采样信号,PWM检测(ICU)信号,DIO信号,PWM输出控制,33772芯片采集信号,RTC芯片的时钟信号,以及SBC芯片的采集信号。

BCU Abstraction

BCU Abstraction应将AD采集信号转化成电压信号发送给应用层;

BCU Abstraction应将ICU采集信号转化成频率和占空比发送给应用层;

BCU Abstraction应提供DIO输入输出信号接口给应用层;

BCU Abstraction应通过应用层信号控制PWM输出的频率和占空比;

BCU Abstraction应将33772芯片采集的高压电压和Shunt电流信号发送给应用层;

BCU Abstraction应将RTC的当前时钟发送给应用层;

BCU Abstraction应提供SBC的IO输入输出接口给应用层

2.2.10 WdgM看门狗模块配置

应用层SWC通过WdgM模块提供的service端口触发喂狗动作。

WdgIf封装Wdg的喂狗接口,提供给WdgM模块进行看门狗管理。

Wdg模块通过Gpt定时中断方式调用SBC的喂狗函数

WdgM

Asil C相关软件组件进行程序流时序检测保护;

所有应用软件组件均进行喂狗超时检测保护;

分阶段实施该需求:

A样件对应用软件实施统一的喂狗超时检测点;

B样件对相应应用软件实施相应的检测保护;

2.2.11基础软件模式管理模块配置

BswM读取ComM模块的通道通信请求状态,并根据通信请求进行CAN收发管理。

BswM读取Dcm的通信请求状态,并根据上位机的通信请求执行EV CAN通信使能/禁止。

BswM查询NvM的上下电读写任务状态,待上下电读写任务结束后将任务结果反馈给应用层。

<图片>

SWC通过BswM与ComM的接口控制BCU通信使能/禁止功能;

SWC通过BswM与EcuM的接口控制BCU休眠/重启功能;

Dcm与BswM交互控制BCU整车CAN通信使能/禁止功能;

SWC通过BswM与NvM的接口控制BswM模块控制NvM上下电读写操作;

通过EcuM flex配置方法管理BSW的运行模式,其状态转换如下图所示:

2.2.12软件刷新实现

Bootloader支持刷新BCU应用软件;

刷新工具请求进入Program Session时,应用软件在Flash中的特定位置写入刷新标志位后执行复位;Bootloader检测到刷新标志位后开始刷新流程。

当应用软件损坏,无法进入Program Session时,支持catch boot 模式刷新BCU应用软件。

刷新BCU应用软件的总时间不超过10分钟

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Autosar软件架构 的相关文章

  • Adaptive AUTOSAR——Cryptography (VRTE3.0 R21-11)

    Cryptography模块是用于自适应汽车软件架构的密码学模块 xff0c 主要用于实现各种安全功能 xff0c 包括加密 解密 签名和验证 等操作 它的主要作用包括 xff1a 安全通信 xff1a 使用各种算法对数据进行加密和解密 x
  • 一文读懂AUTOSAR SecOC通讯

    为什么用SecOC 在车载网络中 xff0c CAN总线作为常用的通讯总线之一 xff0c 其大部分数据是以明文方式广播发送且无认证接收 这种方案具有低成本 高性能的优势 xff0c 但是随着汽车网联化 xff0c 智能化的业务需要 xff
  • 3.Adaptive AUTOSAR 架构详解

    3 1 逻辑层架构 下面显示了AP的逻辑架构 xff0e AA xff08 adaptive application 在ARA AUTOSAR Runtime for Adaptive Applications 上运行 ARA包含了所有功能
  • 谈谈汽车软件中间件(Autosar为例)

    文章目录 操作系统 xff0c 中间件 xff0c 应用软件 各司其职分工不同什么是汽车软件中间件 xff1f 汽车软件中间件有什么好处 xff1f 中间件的明星方案 AUTOSARAUTOSAR Adaptive拯救AUTOSAR技术细节
  • 【AUTOSAR】【信息安全】CSM

    目录 一 概述 二 依赖模块 三 功能描述 3 1 基本体系结构 3 2 通用行为 3 2 1 正常操作 3 2 2 设计说明 3 3 错误分类 3 3 1 开发错误 3 3 2 运行时错误 四 API接口 4 1 通用接口 4 2 加密接
  • CP AUTOSAR 简介

    嵌入式系统不支持硬件抽象 xff0c 使得我们每次在进行新的处理器更换之后 都需要进行重新进行底层软件的开发 2003年建立autosar 组织 autosar官方文档非常长2万多页 xff0c 从这里可以看出什么 xff1f 1 auto
  • 从工程师的角度看AUTOSAR

    软件定义汽车 的火热带动了工程师们对于汽车电子软件热烈地讨论 不曾想到 xff0c 隐藏在控制器内部 xff0c 默默地发挥着作用的汽车电子软件 xff0c 如今备受瞩目 本人毕业到现在 xff0c 一直在汽车行业做软件 xff0c 切身感
  • 一万字解读CP AUTOSAR

    导读 xff1a AUTOSAR旨在改善汽车电子系统软件的更新与交换 xff0c 同时更方便有效地管理日趋复杂的汽车电子软件系统 AUTOSAR规范的运用使得不同结构的电子控制单元的接口特征标准化 xff0c 应用软件具备更好的可扩展性以及
  • Adaptive AUTOSAR----Adaptive studio

    Adaptive studio Adaptive Studio 是包含在 RTA VRTE SK 中的 AUTOSAR 编辑器 Adaptive studio 通过高级抽象支持所有 adaptives autosar arxml 元素的配置
  • AP AUTOSAR——Security Management

    11 Security Management 11 1 What is Security Management 安全管理是自适应平台体系结构中的一个功能集群 作为一个功能集群 xff0c 安全管理由多个模块组成 xff0c 这些模块向在Ad
  • Adaptive AUTOSAR——Update and Configuration Management(VRTE 3.0 R21-11)

    16 1 What is Update and Configuration Management 更新和配置管理 xff08 UCM xff09 是自适应平台服务中的一个功能集群 作为一种自适应平台服务 xff0c UCM实现了自适应平台的
  • Adaptive AUTOSAR——State Management(VRTE 3.0 R21-11)

    状态管理是自适应平台服务中的一个功能集群 在自适应平台中 xff0c 状态决定了一组活动的自适应应用程序 特定于项目的应用程序 xff0c 即状态管理器 xff0c 决定何时请求状态更改 xff0c 从而更改当前活动的应用程序集 状态管理器
  • Adaptive AUTOSAR-诊断管理-Diagnostic Server概述和诊断通信

    Diagnostic Server 对于AUTOSAR adaptive平台 xff0c 不用重新刷写整个ECU即可添加新的软件包 xff0c 各个软件包描述为SoftwareClusters xff0c 每个SoftwareCluster
  • 什么是AUTOSAR?为什么汽车公司开始采用AUTOSAR来开发新产品?

    越来越多的车企开始应用ATUOSAR xff0c 也有很多公司在招聘时会在JD里注明 xff0c 应聘者需要熟练掌握AUTOSAR xff0c 那么什么是AUTOSAR xff1f 为什么从奔驰 宝马等传统豪华汽车巨头 xff0c 到新势力
  • Autosar Configuration(五) Security之Csm配置

    本系列教程是根据实际项目开发中总结的经验所得 如发现有不对的地方 还请指正 目录 Autosar Configuration 一 Davinci Developer 工具介绍 Autosar Configuration 二 Davinci
  • 【AUTOSAR】【通信安全】CRC

    目录 一 概述 二 功能说明 2 1 通用行为 2 2 8位CRC计算 2 2 1 8位SAE J1850 CRC计算 2 2 2 8位0x2F多项式CRC计算 2 3 16位CRC计算 2 3 1 16位CCITT FALSE CRC16
  • 7、AUTOSAR MCAL入门-实战:I/O驱动组

    7 AUTOSAR MCAL入门 实战 xff1a I O驱动组 在第三节中有介绍AUTOSAR 把MCAL 抽象分为4个驱动组 xff0c 分别为 xff1a 微控制器驱动组 xff0c 存储器驱动组 xff0c 通信驱动组 输入 输出驱
  • AUTOSAR-自旋锁(spinlock)与互斥锁

    AUTOSAR多核OS为实现核间资源互斥 保证数据一致性 设计了自旋锁机制 该机制适用于核间资源互斥 对于多核概念 需要一种新的机制来支持不同内核上任务的互斥 这种新机制不应在同一内核上的 TASK 之间使用 因为它没有意义 在这种情况下
  • 一文入门车载以太网,吐血整理!不看后悔!

    前言 近些年来 随着为了让汽车更加安全 智能 环保等 一系列的高级辅助驾驶功能喷涌而出 未来满足这些需求 就对传统的电子电器架构带来了严峻的考验 需要越来越多的电子部件参与信息交互 导致对网络传输速率 稳定性 负载率等方面都提出了更为严格的
  • Apollo平台计算框架CyberRT

    Cyber RT 框架 Cyber RT Robotic Technology 是一种基于ROS Robot Operating System 的开发框架 专门设计用于构建高性能 实时性要求较高的机器人应用程序 旨在提供一套可靠 高效 灵活

随机推荐

  • HttpSession对象

    一 HttpSession描述 HttpSession是当一个用户第一次访问某个网站时自动创建的 通过在HttpServletRequest中调用getSession方法 可以获得用户的HttpSession 二 HttpSession对象
  • Java中的日期时间类详解(Date、DateFormat、Calendar)

    目录 1 Date类 1 1 概述 1 2 Date类构造方法 1 3 Date类的getTime方法 返回毫秒数 2 DateFormat类 2 1 其子类SimpleDateFormat的构造方法 2 2 DateFormat类常用方法
  • 【Unity实用小方法】开启游戏时播放一段动画

    不显示任何视频控件 当点击屏幕发生输入之后会跳过动画的播放 一般游戏中的开场动画使用这种播放方式 Handheld PlayFullScreenMovie test mp4 Color black FullScreenMovieContro
  • python 连续比较_【Python效率】五种Pandas循环方法效率对比

    本专栏招募作者及编辑 感兴趣分享学习R Python数据分析 机器学习知识的可以私信联系 PS 有人提到一个问题很好 如果每次循环都采用比较复杂的操作似乎用向量化很难实现 我的建议是尽可能拆分成向量化操作 如果不行建议用numpy硬写然后用
  • 关于lvm扩容的方式

    一 最常见的lvm扩容 新增磁盘扩容到lvm 步骤 1 创建pv pvcreate dev sdb 2 扩展vg vgextend vgname dev sdb vgdisplay 3 扩展lv lvextend l 100 FREE de
  • IntelliJ Idea 常用12款插件(提高开发效率),附优秀主题插件

    目录 一 插件安装方式 二 常用插件 1 Background Image Plus 2 Mybatis Log Plugin 3 MybatisCodeHelperPro 4 Grep Console 5 CodeGlance 6 Gen
  • Vue之Vant移动端组件库使用方法

    步骤 全局安装 npm i vant S 在mian js中引入 import Vant from vant import vant lib index css Vue use Vant 根据实际情况引入组件
  • 图的遍历——创建图

    以下代码基于王道数据结构 include
  • qt模拟鼠标事件

    模拟鼠标事件 1 模拟鼠标按下事件 2 模拟鼠标松开事件 3 模拟鼠标点击事件 4 模拟鼠标移动事件 1 模拟鼠标按下事件 QPoint p this gt rect center QMouseEvent pressEvent new QM
  • 解决点击页面跳转导致路径叠加,无法显示的问题

    用Vue element ui 开发后台页面菜单的时候 会遇到点击路由能显示 但是在这个基础上再点击下一个页面的时候 不能正常显示 然后看链接 发现她们的path部分叠加在一起了 path ccode component gt import
  • word里Tab制表符查找替换成^p

    按Ctrl H组合键进入 替换 命令对话框 在 查找内容 一栏内输入 t 在 替换为 一栏内输入 p 单击 全部替换 即可
  • AUTOSAR代码示例

    AUTOSAR代码示例是什么 AUTOSAR代码示例是指使用AUTOSAR 汽车开放式软件体系结构 开发汽车电子系统的代码样例 它提供了一种可重复使用的解决方案 可以帮助开发人员快速实现汽车电子系统的功能
  • vue实现鼠标移入图片播放视频

    我已经写成组件 直接复制粘贴引用即可 imgOrVideo vue
  • 七步精通Python机器学习

    书籍介绍 七步精通Python机器学习 推广有奖 加关注 串个门 加好友 发消息 0 关注 1 粉丝 初中生 19 还不是VIP 贵宾
  • 将html页面部署到阿里云服务器

    阿里云服务器部署 一 购买阿里云服务器ECS并选择镜像 二 进行配置 1 配置安全组 2 宝塔Linux面板配置 三 进行部署 1 安装Nginx 2 Nginx配置 四 效果展示 一 购买阿里云服务器ECS并选择镜像 镜像 镜像市场 搜索
  • RocketMQ 简介

    本文根据阿里云 RocketMQ产品文档整理 地址 https help aliyun com document detail 29532 html userCode qtldtin2 简介 RocketMQ是由阿里捐赠给Apache的一款
  • .NET6: 开发基于WPF的摩登三维工业软件 (7)

    Python微信订餐小程序课程视频 https edu csdn net course detail 36074 Python实战量化交易理财系统 https edu csdn net course detail 35475 做为一个摩登的
  • MyBatis中JdbcType与Oracle、MySql数据类型对应关系详解

    转自 MyBatis中JdbcType与Oracle MySql数据类型对应关系详解 MyBatis 是一款优秀的持久层框架 它支持定制化 SQL 存储过程以及高级映射 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取
  • 我不需要你喜欢我

    绩效考核又开始了 大家心里都在盘算着 老大这次会给我能打多少分呢 大家各有各的心情 有人想得到肯定 也有人在想能不能过关 下面这样的场景一次又一次地在上演 场景1 在主管会议上 部门领导有些不开心地说 你们怎么打的分 A 严重超标啦 怎么没
  • Autosar软件架构

    软件架构 应用层通过 Simulink模型实现 模型的代码生成使用统一配置脚本 底层软件模块满足AUTOSAR 4 2 1标准要求 其软件架构如下图所示 软件架构 2 2 2 Com通信模块配置 BCU通过唤醒信号控制相应CAN消息的通信使