Autosar软件架构

软件架构

应用层通过 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分钟

### 回答1: AUTOSARAutomotive Open System Architecture)软件架构是一种面向汽车电子的开放式软件平台架构。它的设计目的是为了提高汽车电子系统的互操作性和可重用性,降低汽车电子系统的开发和维护成本。 AUTOSAR软件架构基于分层结构的思想,将汽车电子系统分为4层:应用层、运行时环境层、基础功能层和硬件抽象层。 应用层是顶层,包含所有汽车电子系统应用软件,如发动机控制、车辆稳定性控制等。 运行时环境层提供了实现应用程序所需的运行时支持。运行时环境提供了任务管理和调度、时间管理、通信管理、内存管理等服务,以及用于配置其他软件组件的配置数据。 基础功能层是AUTOSAR软件架构的核心组成部分,提供了汽车电子系统所需的通用软件功能,如通信协议栈、诊断服务、安全服务等。 硬件抽象层为基础功能层提供了与硬件平台相关的服务,如I/O端口控制、中断控制等。 通过这种分层结构,AUTOSAR软件架构实现了软件组件的模块化、可重用和互操作,同时提高了汽车电子系统的可靠性和安全性。它也使得不同供应商的汽车电子系统可以相互兼容,提高了汽车电子系统的可维护性和升级性。因此,AUTOSAR软件架构在现代汽车电子系统中应用越来越广泛。 ### 回答2: AUTOSAR软件架构是一种面向车联网的开放式基础软件平台架构。它旨在帮助汽车制造商和供应商开发安全、可靠、适应性强、可重用性强的汽车软件系统。AUTOSAR对汽车软件的架构设计、软件开发和软件集成等关键过程都进行了规范和标准化,为汽车行业提供了更好的软件支持。 AUTOSAR架构的设计为汽车行业提供了许多优势,首先是架构的可重用性,它可以提高软件的开发效率和降低软件开发成本。其次,AUTOSAR使汽车制造商更容易选择并集成不同供应商的软件和硬件组件,从而帮助汽车制造商构建高品质的汽车软件系统。此外,AUTOSAR还提供了标准化的应用程序接口,从而降低了汽车软件系统的复杂性和维护成本。 AUTOSAR架构还支持软件的自动化配置和运行时环境,提高了软件编程的效率和可靠性。此外,AUTOSAR还支持多核处理技术和分布式计算,帮助汽车软件系统更好地适应复杂的嵌入式计算环境。 总的来说,AUTOSAR软件架构为汽车行业提供了一种标准化、可重用的软件基础平台,从而提高了车辆软件系统的可靠性、安全性和适应性。随着汽车行业及车联网的发展,AUTOSAR软件架构将进一步发挥其重要作用。 ### 回答3: AUTOSAR软件架构是一种车载软件的标准化架构,用于管理和协调车辆中的各种软件组件。它被广泛用于汽车制造业,以确保不同厂家和零部件之间的互操作性。 AUTOSAR架构的设计目的是提高汽车电子和计算机系统的可靠性,增强车载软件的开发和维护效率,以及降低生产成本。 AUTOSAR架构的核心是软件组件(SWCs),它们是车载软件中的基本构建单元。 SWC是一个自我包含的软件单元,旨在执行一个或多个明确定义的功能。与其他软件模块类似,SWC可以被编译成可执行文件并在车载系统中运行。 AUTOSAR架构还包括一个或多个运行时环境(RTE),RTE是所有SWCs之间的桥梁。 RTE负责管理SWC之间的通信和数据传输,同时提供SWC所需的服务。 AUTOSAR软件架构使用一种称为AUTOSAR中间件的软件层,它是SWC和RTE之间的接口。 AUTOSAR中间件提供了广泛的通信和数据传输功能,可通过各种协议和传输层实现。 AUTOSAR架构还包括一个称为System Service Layer(SSL)的层,它提供了与车载系统硬件和操作系统的接口。 总之,AUTOSAR软件架构是一种标准化的车载软件架构,它利用软件组件、运行时环境、中间件以及系统服务层来管理和协调车辆中的软件组件。使用AUTOSAR架构可以提高汽车电子和计算机系统的可靠性,增强车载软件的开发和维护效率,以及降低生产成本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值